lkml.org 
[lkml]   [2022]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 01/18] MIPS: Use address-of operator on section symbols
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    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: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/mips/bmips/setup.c | 2 +-
    arch/mips/lantiq/prom.c | 2 +-
    arch/mips/pic32/pic32mzda/init.c | 2 +-
    arch/mips/ralink/of.c | 2 +-
    4 files changed, 4 insertions(+), 4 deletions(-)

    --- a/arch/mips/bmips/setup.c
    +++ b/arch/mips/bmips/setup.c
    @@ -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");
    --- a/arch/mips/lantiq/prom.c
    +++ b/arch/mips/lantiq/prom.c
    @@ -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");
    --- a/arch/mips/pic32/pic32mzda/init.c
    +++ b/arch/mips/pic32/pic32mzda/init.c
    @@ -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;
    --- a/arch/mips/ralink/of.c
    +++ b/arch/mips/ralink/of.c
    @@ -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);

    \
     
     \ /
      Last update: 2022-05-13 16:29    [W:4.369 / U:0.464 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site