Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f668da98 authored by Nathan Chancellor's avatar Nathan Chancellor Committed by Greg Kroah-Hartman
Browse files

MIPS: Use address-of operator on section symbols

commit d422c6c0644bccbb1ebeefffa51f35cec3019517 upstream.

When building xway_defconfig with clang:

arch/mips/lantiq/prom.c:82:23: error: array comparison always evaluates
to true [-Werror,-Wtautological-compare]
        else if (__dtb_start != __dtb_end)
                             ^
1 error 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). Do the same thing across
the entire MIPS subsystem to ensure there are no more warnings around
this type of comparison.

Link: https://github.com/ClangBuiltLinux/linux/issues/1232


Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 01565c91
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ void __init plat_mem_setup(void)
		dtb = phys_to_virt(fw_arg2);
	else if (fw_passed_dtb) /* UHI interface or appended dtb */
		dtb = (void *)fw_passed_dtb;
	else if (__dtb_start != __dtb_end)
	else if (&__dtb_start != &__dtb_end)
		dtb = (void *)__dtb_start;
	else
		panic("no dtb found");
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ void __init plat_mem_setup(void)

	if (fw_passed_dtb) /* UHI interface */
		dtb = (void *)fw_passed_dtb;
	else if (__dtb_start != __dtb_end)
	else if (&__dtb_start != &__dtb_end)
		dtb = (void *)__dtb_start;
	else
		panic("no dtb found");
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ static ulong get_fdtaddr(void)
	if (fw_passed_dtb && !fw_arg2 && !fw_arg3)
		return (ulong)fw_passed_dtb;

	if (__dtb_start < __dtb_end)
	if (&__dtb_start < &__dtb_end)
		ftaddr = (ulong)__dtb_start;

	return ftaddr;
+1 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ void __init plat_mem_setup(void)
	 */
	if (fw_passed_dtb)
		dtb = (void *)fw_passed_dtb;
	else if (__dtb_start != __dtb_end)
	else if (&__dtb_start != &__dtb_end)
		dtb = (void *)__dtb_start;

	__dt_setup_arch(dtb);