Thread (6 messages) flat view 6 messages, 5 authors, 2020-03-25

Re: [PATCH] powerpc/boot: Delete unneeded .globl _zimage_start

From: Alan Modra <hidden>
Date: 2020-03-25 08:47:16

On Wed, Mar 25, 2020 at 05:22:31AM +0000, Joel Stanley wrote:
On Wed, 25 Mar 2020 at 05:19, Fangrui Song [off-list ref] wrote:
quoted
.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.
No, it isn't accidental.  gas deliberately lets .weak override .globl.
Since 1996-07-26, git commit 5ca547dc239

I'm fine with the patch so far as it is true that there is no need for
both .globl and .weak (and it looks silly to have both), but the
explanation isn't true.  The patch is needed because the clang
assembler is incompatible with gas in this detail.
quoted
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 <redacted>
Cc: Joel Stanley <joel@jms.id.au>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: clang-built-linux@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 <joel@jms.id.au>

Thanks for the patch.

Cheers,

Joel
quoted
        .globl  _zimage_start_lib
--
2.25.1.696.g5e7596f4ac-goog
-- 
Alan Modra
Australia Development Lab, IBM
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help