[PATCH] arm32: simplify ARM_MMU_KEEP usage

Rolf Eike Beer eb at emlix.com
Wed Dec 18 04:13:24 PST 2024


On Montag, 7. Oktober 2024 15:11:40 Mitteleuropäische Normalzeit Rolf Eike 
Beer wrote:
> All current users need to add a KEEP() around the argument so the value is
> actually kept, which doesn't feel very natural and is prone to upcoming bugs
> as the name suggests that this macro alone already keeps things. Move that
> directly into the definition.
> 
> Signed-off-by: Rolf Eike Beer <eb at emlix.com>
> ---

Ping?

> I'm unsure if ARM_MMU_DISCARD() needs the same treatment for the non-MMU
> case. I suspect noone has tried dead code elimination for non-MMU?
> 
>  arch/arm/include/asm/vmlinux.lds.h | 2 +-
>  arch/arm/kernel/vmlinux-xip.lds.S  | 2 +-
>  arch/arm/kernel/vmlinux.lds.S      | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/include/asm/vmlinux.lds.h
> b/arch/arm/include/asm/vmlinux.lds.h index d60f6e83a9f7..89697f204715
> 100644
> --- a/arch/arm/include/asm/vmlinux.lds.h
> +++ b/arch/arm/include/asm/vmlinux.lds.h
> @@ -19,7 +19,7 @@
>  #endif
> 
>  #ifdef CONFIG_MMU
> -#define ARM_MMU_KEEP(x)		x
> +#define ARM_MMU_KEEP(x)		KEEP(x)
>  #define ARM_MMU_DISCARD(x)
>  #else
>  #define ARM_MMU_KEEP(x)
> diff --git a/arch/arm/kernel/vmlinux-xip.lds.S
> b/arch/arm/kernel/vmlinux-xip.lds.S index 5eddb75a7174..f2e8d4fac068 100644
> --- a/arch/arm/kernel/vmlinux-xip.lds.S
> +++ b/arch/arm/kernel/vmlinux-xip.lds.S
> @@ -63,7 +63,7 @@ SECTIONS
>  	. = ALIGN(4);
>  	__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
>  		__start___ex_table = .;
> -		ARM_MMU_KEEP(KEEP(*(__ex_table)))
> +		ARM_MMU_KEEP(*(__ex_table))
>  		__stop___ex_table = .;
>  	}
> 
> diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
> index de373c6c2ae8..d592a203f9c6 100644
> --- a/arch/arm/kernel/vmlinux.lds.S
> +++ b/arch/arm/kernel/vmlinux.lds.S
> @@ -74,7 +74,7 @@ SECTIONS
>  	. = ALIGN(4);
>  	__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
>  		__start___ex_table = .;
> -		ARM_MMU_KEEP(KEEP(*(__ex_table)))
> +		ARM_MMU_KEEP(*(__ex_table))
>  		__stop___ex_table = .;
>  	}


-- 
Rolf Eike Beer

emlix GmbH
Headquarters: Berliner Str. 12, 37073 Göttingen, Germany
Phone +49 (0)551 30664-0, e-mail info at emlix.com
District Court of Göttingen, Registry Number HR B 3160
Managing Directors: Heike Jordan, Dr. Uwe Kracke
VAT ID No. DE 205 198 055
Office Berlin: Panoramastr. 1, 10178 Berlin, Germany
Office Bonn: Bachstr. 6, 53115 Bonn, Germany
http://www.emlix.com

emlix - your embedded Linux partner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 313 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20241218/62df7b3d/attachment.sig>


More information about the linux-arm-kernel mailing list