Fangrui Song <mask...@google.com> writes: > .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> So it seems the patch is OK but people don't agree with the explanation in the changelog. Please send a v2 that captures the responses from Segher and Alan. cheers > 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: > .globl _zimage_start_lib > -- > 2.25.1.696.g5e7596f4ac-goog