All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] powerpc/boot: Use address-of operator on section symbols
@ 2020-06-24  3:59 ` Nathan Chancellor
  0 siblings, 0 replies; 24+ messages in thread
From: Nathan Chancellor @ 2020-06-24  3:59 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Benjamin Herrenschmidt, Paul Mackerras, Geoff Levand,
	linuxppc-dev, linux-kernel, clang-built-linux, Nathan Chancellor,
	Joel Stanley

Clang warns:

arch/powerpc/boot/main.c:107:18: warning: array comparison always
evaluates to a constant [-Wtautological-compare]
        if (_initrd_end > _initrd_start) {
                        ^
arch/powerpc/boot/main.c:155:20: warning: array comparison always
evaluates to a constant [-Wtautological-compare]
        if (_esm_blob_end <= _esm_blob_start)
                          ^
2 warnings generated.

These are not true arrays, they are linker defined symbols, which are
just addresses.  Using the address of operator silences the warning
and does not change the resulting assembly with either clang/ld.lld
or gcc/ld (tested with diff + objdump -Dr).

Link: https://github.com/ClangBuiltLinux/linux/issues/212
Reported-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 arch/powerpc/boot/main.c | 4 ++--
 arch/powerpc/boot/ps3.c  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/main.c b/arch/powerpc/boot/main.c
index a9d209135975..cae31a6e8f02 100644
--- a/arch/powerpc/boot/main.c
+++ b/arch/powerpc/boot/main.c
@@ -104,7 +104,7 @@ static struct addr_range prep_initrd(struct addr_range vmlinux, void *chosen,
 {
 	/* If we have an image attached to us, it overrides anything
 	 * supplied by the loader. */
-	if (_initrd_end > _initrd_start) {
+	if (&_initrd_end > &_initrd_start) {
 		printf("Attached initrd image at 0x%p-0x%p\n\r",
 		       _initrd_start, _initrd_end);
 		initrd_addr = (unsigned long)_initrd_start;
@@ -152,7 +152,7 @@ static void prep_esm_blob(struct addr_range vmlinux, void *chosen)
 	unsigned long esm_blob_addr, esm_blob_size;
 
 	/* Do we have an ESM (Enter Secure Mode) blob? */
-	if (_esm_blob_end <= _esm_blob_start)
+	if (&_esm_blob_end <= &_esm_blob_start)
 		return;
 
 	printf("Attached ESM blob at 0x%p-0x%p\n\r",
diff --git a/arch/powerpc/boot/ps3.c b/arch/powerpc/boot/ps3.c
index c52552a681c5..6e4efbdb6b7c 100644
--- a/arch/powerpc/boot/ps3.c
+++ b/arch/powerpc/boot/ps3.c
@@ -127,7 +127,7 @@ void platform_init(void)
 	ps3_repository_read_rm_size(&rm_size);
 	dt_fixup_memory(0, rm_size);
 
-	if (_initrd_end > _initrd_start) {
+	if (&_initrd_end > &_initrd_start) {
 		setprop_val(chosen, "linux,initrd-start", (u32)(_initrd_start));
 		setprop_val(chosen, "linux,initrd-end", (u32)(_initrd_end));
 	}

base-commit: 3e08a95294a4fb3702bb3d35ed08028433c37fe6
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-08-03 11:34 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-24  3:59 [PATCH] powerpc/boot: Use address-of operator on section symbols Nathan Chancellor
2020-06-24  3:59 ` Nathan Chancellor
2020-06-25  1:18 ` Geoff Levand
2020-06-25  1:18   ` Geoff Levand
2020-06-25  2:22   ` Nathan Chancellor
2020-06-25  2:22     ` Nathan Chancellor
2020-06-25 16:32   ` Nick Desaulniers
2020-06-25 16:32     ` Nick Desaulniers
2020-07-18  9:13     ` Arnd Bergmann
2020-07-18  9:13       ` Arnd Bergmann
2020-07-16 12:56 ` Michael Ellerman
2020-07-16 12:56   ` Michael Ellerman
2020-07-18  7:50 ` Geert Uytterhoeven
2020-07-18  7:50   ` Geert Uytterhoeven
2020-07-18 15:31   ` Nathan Chancellor
2020-07-18 15:31     ` Nathan Chancellor
2020-07-20 21:02   ` Segher Boessenkool
2020-07-20 21:02     ` Segher Boessenkool
2020-08-03 10:06     ` Geert Uytterhoeven
2020-08-03 10:06       ` Geert Uytterhoeven
2020-08-03 11:09       ` Michael Ellerman
2020-08-03 11:09         ` Michael Ellerman
2020-08-03 11:32         ` Geert Uytterhoeven
2020-08-03 11:32           ` Geert Uytterhoeven

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.