ANDROID: vmlinux.lds.h: merge compound literal sections
After LLVM rG9e33c096476a ("[ELF] Keep orphan section names (.rodata.foo .text.foo) unchanged if !hasSectionsCommand"), LLD splits compound literals to separate sections with -fdata-sections, which it always enables with LTO. Merge these sections to allow LLVM to be upgraded. Bug: 174047799 Change-Id: I858c5fcc48283d5528c1d3e2b2d7a3c72f9e03d6 Link: https://github.com/ClangBuiltLinux/linux/issues/958 Suggested-by: Danny Lin <danny@kdrag0n.dev> Suggested-by: Fangrui Song <maskray@google.com> Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
This commit is contained in:
parent
16d99ebeaf
commit
559c23e691
@ -72,10 +72,10 @@
|
||||
#if defined(CONFIG_LD_DEAD_CODE_DATA_ELIMINATION) || defined(CONFIG_LTO_CLANG)
|
||||
#define TEXT_MAIN .text .text.[0-9a-zA-Z_]*
|
||||
#define TEXT_CFI_MAIN .text.[0-9a-zA-Z_]*.cfi
|
||||
#define DATA_MAIN .data .data.[0-9a-zA-Z_]* .data..LPBX*
|
||||
#define DATA_MAIN .data .data.[0-9a-zA-Z_]* .data..L* .data..compoundliteral*
|
||||
#define SDATA_MAIN .sdata .sdata.[0-9a-zA-Z_]*
|
||||
#define RODATA_MAIN .rodata .rodata.[0-9a-zA-Z_]*
|
||||
#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]*
|
||||
#define RODATA_MAIN .rodata .rodata.[0-9a-zA-Z_]* .rodata..L*
|
||||
#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]* .bss..compoundliteral*
|
||||
#define SBSS_MAIN .sbss .sbss.[0-9a-zA-Z_]*
|
||||
#else
|
||||
#define TEXT_MAIN .text
|
||||
|
Loading…
Reference in New Issue
Block a user