On Wed, 25 Mar 2020 at 05:19, Fangrui Song <mask...@google.com> wrote: > > .globl sets the symbol binding to STB_GLOBAL while .weak sets the > binding to STB_WEAK. They should not be used together. It is accidetal > rather then intentional that GNU as let .weak override .globl while > clang integrated assembler let the last win. > > Fixes: cd197ffcf10b "[POWERPC] zImage: Cleanup and improve zImage entry point" > Fixes: ee9d21b3b358 "powerpc/boot: Ensure _zimage_start is a weak symbol" > Link: https://github.com/ClangBuiltLinux/linux/issues/937 > Signed-off-by: Fangrui Song <mask...@google.com> > Cc: Joel Stanley <j...@jms.id.au> > Cc: Michael Ellerman <m...@ellerman.id.au> > Cc: Nick Desaulniers <ndesaulni...@google.com> > Cc: clang-built-li...@googlegroups.com > --- > arch/powerpc/boot/crt0.S | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/arch/powerpc/boot/crt0.S b/arch/powerpc/boot/crt0.S > index 92608f34d312..1d83966f5ef6 100644 > --- a/arch/powerpc/boot/crt0.S > +++ b/arch/powerpc/boot/crt0.S > @@ -44,9 +44,6 @@ p_end: .long _end > p_pstack: .long _platform_stack_top > #endif > > - .globl _zimage_start > - /* Clang appears to require the .weak directive to be after the symbol > - * is defined. See https://bugs.llvm.org/show_bug.cgi?id=38921 */ > .weak _zimage_start > _zimage_start:
Your explanation makes sense to me. I've added Alan to cc for his review. Reviewed-by: Joel Stanley <j...@jms.id.au> Thanks for the patch. Cheers, Joel > .globl _zimage_start_lib > -- > 2.25.1.696.g5e7596f4ac-goog >