Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241010205716.GN10433@brightrain.aerifal.cx>
Date: Thu, 10 Oct 2024 16:57:16 -0400
From: Rich Felker <dalias@...c.org>
To: Alex Rønne Petersen <alex@...xrp.com>
Cc: musl@...ts.openwall.com
Subject: Re: [PATCH] arm: Fix _init/_fini alignment in crti.o.

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.

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.