![]() |
|
Message-ID: <CAH9TF6MMryioPTHYTO9Z4Q8hCyBnQ_U4HMY4XOiJx6P=qfLpLA@mail.gmail.com> Date: Thu, 10 Oct 2024 23:21:27 +0200 From: Alex Rønne Petersen <alex@...xrp.com> To: Rich Felker <dalias@...c.org> Cc: musl@...ts.openwall.com Subject: Re: [PATCH] arm: Fix _init/_fini alignment in crti.o. On Thu, Oct 10, 2024 at 10:57 PM Rich Felker <dalias@...c.org> wrote: > > On Thu, Oct 10, 2024 at 10:50:46PM +0200, Alex Rønne Petersen wrote: > > This is just cbf59dd6 applied to arm. It manifested when compiling for thumb2 > > with zig cc (clang) + lld at -O1 or above, but not at -O0. > > --- > > crt/arm/crti.s | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/crt/arm/crti.s b/crt/arm/crti.s > > index 18dc1e41..cccda3ea 100644 > > --- a/crt/arm/crti.s > > +++ b/crt/arm/crti.s > > @@ -3,11 +3,13 @@ > > .section .init > > .global _init > > .type _init,%function > > +.align 2 > > _init: > > push {r0,lr} > > > > .section .fini > > .global _fini > > .type _fini,%function > > +.align 2 > > _fini: > > push {r0,lr} > > -- > > 2.40.1 > > No objection to this fix, but I wonder if after applying it we should > just remove these files entirely. We have NO_LEGACY_INITFINI defined > on arm due to a historical mistake, so these will never be called in > dynamic-linked programs. I guess theoretically they could be used with > static linking, but all functional toolchains will be using init/fini > arrays instead or they would be incompatible with dynamic linking. FWIW, most musl usage with Zig is statically linked, including the conditions under which this issue occurred. That said, we unconditionally use init/fini arrays for Zig code, and it appears that clang, and by extension zig cc, uses them by default as well (you *can* opt out... not sure why you would though). > > Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.