2023-05-11 14:32:49

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH 3/4] vmlinux.lds.h: use correct .init.data.* section name

If building with -fdata-sections on riscv, LD_ORPHAN_WARN will warn
similar as below:

riscv64-linux-gnu-ld: warning: orphan section `.init.data.efi_loglevel'
from `./drivers/firmware/efi/libstub/printk.stub.o' being placed in
section `.init.data.efi_loglevel'

I believe this is caused by a a typo:
init.data.* should be .init.data.*

Signed-off-by: Jisheng Zhang <[email protected]>
---
include/asm-generic/vmlinux.lds.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index d1f57e4868ed..371026ca7221 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -688,7 +688,7 @@
/* init and exit section handling */
#define INIT_DATA \
KEEP(*(SORT(___kentry+*))) \
- *(.init.data init.data.*) \
+ *(.init.data .init.data.*) \
MEM_DISCARD(init.data*) \
KERNEL_CTORS() \
MCOUNT_REC() \
--
2.40.1



2023-06-01 05:25:56

by Guo Ren

[permalink] [raw]
Subject: Re: [PATCH 3/4] vmlinux.lds.h: use correct .init.data.* section name

On Thu, May 11, 2023 at 10:27 PM Jisheng Zhang <[email protected]> wrote:
>
> If building with -fdata-sections on riscv, LD_ORPHAN_WARN will warn
> similar as below:
>
> riscv64-linux-gnu-ld: warning: orphan section `.init.data.efi_loglevel'
> from `./drivers/firmware/efi/libstub/printk.stub.o' being placed in
> section `.init.data.efi_loglevel'
>
> I believe this is caused by a a typo:
> init.data.* should be .init.data.*
>
> Signed-off-by: Jisheng Zhang <[email protected]>
Seems it's a fixup for all architectures, what's the Fix: tag?

> ---
> include/asm-generic/vmlinux.lds.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index d1f57e4868ed..371026ca7221 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -688,7 +688,7 @@
> /* init and exit section handling */
> #define INIT_DATA \
> KEEP(*(SORT(___kentry+*))) \
> - *(.init.data init.data.*) \
> + *(.init.data .init.data.*) \
> MEM_DISCARD(init.data*) \
> KERNEL_CTORS() \
> MCOUNT_REC() \
> --
> 2.40.1
>


--
Best Regards
Guo Ren