aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeandro Lupori <luporl@FreeBSD.org>2019-05-20 19:21:35 +0000
committerLeandro Lupori <luporl@FreeBSD.org>2019-05-20 19:21:35 +0000
commitff7449d6f5a43a68e92bfaeb2de1f0bc6cc3acc7 (patch)
treefa3cd631dd9eb7bbac5bcc0f82a8b962c3b845f6
parenta1fa04c0673094b44b3a03121f43821939a7f3b5 (diff)
downloadsrc-ff7449d6f5a43a68e92bfaeb2de1f0bc6cc3acc7.tar.gz
src-ff7449d6f5a43a68e92bfaeb2de1f0bc6cc3acc7.zip
[PowerPC64] stand: fix build using clang 8 as compiler
This change fixes "stand" build issues when using clang 8 as compiler. Submitted by: alfredo.junior_eldorado.org.br Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20026
Notes
Notes: svn path=/head/; revision=348005
-rw-r--r--cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c6
-rw-r--r--stand/common/load_elf.c6
-rw-r--r--stand/ofw/libofw/ofw_net.c4
-rw-r--r--stand/ofw/libofw/openfirm.c1
-rw-r--r--stand/powerpc/boot1.chrp/boot1.c1
-rw-r--r--stand/powerpc/kboot/Makefile3
-rw-r--r--stand/powerpc/kboot/main.c10
-rw-r--r--stand/powerpc/ofw/elf_freebsd.c2
-rw-r--r--stand/powerpc/ofw/ppc64_elf_freebsd.c2
9 files changed, 21 insertions, 14 deletions
diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
index c36067389585..f1ba2effd238 100644
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
@@ -114,7 +114,7 @@ get_stats_for_obj(differ_info_t *di, const char *dsname, uint64_t obj,
(void) snprintf(di->errbuf, sizeof (di->errbuf),
dgettext(TEXT_DOMAIN,
"Unable to determine path or stats for "
- "object %lld in %s"), obj, dsname);
+ "object %jd in %s"), (uintmax_t)obj, dsname);
return (-1);
}
}
@@ -406,8 +406,8 @@ write_free_diffs(FILE *fp, differ_info_t *di, dmu_diff_record_t *dr)
} else {
(void) snprintf(di->errbuf, sizeof (di->errbuf),
dgettext(TEXT_DOMAIN,
- "next allocated object (> %lld) find failure"),
- zc.zc_obj);
+ "next allocated object (> %jd) find failure"),
+ (uintmax_t)zc.zc_obj);
di->zerr = errno;
break;
}
diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c
index fbbd1fdd54ea..b47dd25b4a8f 100644
--- a/stand/common/load_elf.c
+++ b/stand/common/load_elf.c
@@ -483,7 +483,7 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off)
off += 0x01000000;
ehdr->e_entry += off;
#ifdef ELF_VERBOSE
- printf("Converted entry 0x%08x\n", ehdr->e_entry);
+ printf("Converted entry 0x%jx\n", (uintmax_t)ehdr->e_entry);
#endif
} else
off = 0;
@@ -509,8 +509,8 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off)
off -= ehdr->e_entry & ~PAGE_MASK;
ehdr->e_entry += off;
#ifdef ELF_VERBOSE
- printf("ehdr->e_entry 0x%08x, va<->pa off %llx\n",
- ehdr->e_entry, off);
+ printf("ehdr->e_entry 0x%jx", va<->pa off %llx\n",
+ (uintmax_t)ehdr->e_entry, off);
#endif
#else
off = 0; /* other archs use direct mapped kernels */
diff --git a/stand/ofw/libofw/ofw_net.c b/stand/ofw/libofw/ofw_net.c
index ea5e47e7ed0d..14494ecc2b2e 100644
--- a/stand/ofw/libofw/ofw_net.c
+++ b/stand/ofw/libofw/ofw_net.c
@@ -225,12 +225,12 @@ ofwn_init(struct iodesc *desc, void *machdep_hint)
dmabuf = NULL;
if (OF_call_method("dma-alloc", netinstance, 1, 1, (64 * 1024), &dmabuf)
< 0) {
- printf("Failed to allocate DMA buffer (got %08x).\n", dmabuf);
+ printf("Failed to allocate DMA buffer (got %p).\n", dmabuf);
goto punt;
}
#if defined(NETIF_DEBUG)
- printf("ofwn_init: allocated DMA buffer: %08x\n", dmabuf);
+ printf("ofwn_init: allocated DMA buffer: %p\n", dmabuf);
#endif
#endif
diff --git a/stand/ofw/libofw/openfirm.c b/stand/ofw/libofw/openfirm.c
index 7a5aac06bb46..0b4198d281fd 100644
--- a/stand/ofw/libofw/openfirm.c
+++ b/stand/ofw/libofw/openfirm.c
@@ -669,7 +669,6 @@ OF_block_size(ihandle_t instance)
}
/*
-/*
* Memory functions
*/
diff --git a/stand/powerpc/boot1.chrp/boot1.c b/stand/powerpc/boot1.chrp/boot1.c
index 5e54c95681b2..4d152efe1a70 100644
--- a/stand/powerpc/boot1.chrp/boot1.c
+++ b/stand/powerpc/boot1.chrp/boot1.c
@@ -23,6 +23,7 @@ __FBSDID("$FreeBSD$");
#include <machine/elf.h>
#include <machine/stdarg.h>
#include <machine/md_var.h>
+#include <ufs/ffs/fs.h>
#include "paths.h"
diff --git a/stand/powerpc/kboot/Makefile b/stand/powerpc/kboot/Makefile
index 8a6a0dee6544..671db88a14a9 100644
--- a/stand/powerpc/kboot/Makefile
+++ b/stand/powerpc/kboot/Makefile
@@ -36,9 +36,6 @@ CFLAGS+= -DRELOC=${RELOC}
LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc
-# 64-bit bridge extensions
-CFLAGS+= -Wa,-mppc64bridge
-
DPADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA}
LDADD= ${LDR_INTERP} ${LIBOFW} ${LIBFDT} ${LIBSA}
diff --git a/stand/powerpc/kboot/main.c b/stand/powerpc/kboot/main.c
index 633727ca6a7c..25eaf5064489 100644
--- a/stand/powerpc/kboot/main.c
+++ b/stand/powerpc/kboot/main.c
@@ -484,8 +484,18 @@ kboot_kseg_get(int *nseg, void **ptr)
void
_start(int argc, const char **argv, char **env)
{
+// This makes error "variable 'sp' is uninitialized" be just a warning on clang.
+// Initializing 'sp' is not desired here as it would overwrite "r1" original value
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic warning "-Wuninitialized"
+#endif
register volatile void **sp asm("r1");
main((int)sp[0], (const char **)&sp[1]);
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
}
/*
diff --git a/stand/powerpc/ofw/elf_freebsd.c b/stand/powerpc/ofw/elf_freebsd.c
index 76933064ff07..89811e965d6e 100644
--- a/stand/powerpc/ofw/elf_freebsd.c
+++ b/stand/powerpc/ofw/elf_freebsd.c
@@ -84,7 +84,7 @@ __elfN(ofw_exec)(struct preloaded_file *fp)
if ((error = md_load(fp->f_args, &mdp, &dtbp)) != 0)
return (error);
- printf("Kernel entry at 0x%lx ...\n", e->e_entry);
+ printf("Kernel entry at 0x%x ...\n", entry);
dev_cleanup();
if (dtbp != 0) {
diff --git a/stand/powerpc/ofw/ppc64_elf_freebsd.c b/stand/powerpc/ofw/ppc64_elf_freebsd.c
index 96efb1618646..38c664228c12 100644
--- a/stand/powerpc/ofw/ppc64_elf_freebsd.c
+++ b/stand/powerpc/ofw/ppc64_elf_freebsd.c
@@ -87,7 +87,7 @@ ppc64_ofw_elf_exec(struct preloaded_file *fp)
if ((error = md_load64(fp->f_args, &mdp, &dtbp)) != 0)
return (error);
- printf("Kernel entry at 0x%lx ...\n", entry);
+ printf("Kernel entry at 0x%x ...\n", entry);
dev_cleanup();