mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
um: link .lbss/.ldata/.lrodata correctly
clang 23 for me seems to put a bunch of data into these "large" sections, causing said data to not be considered kernel data by the kernel, in turn causing all kinds of strange bugs. Link the data from these sections in the right place rather than leaving them separate. Link: https://patch.msgid.link/20260923173523.3675aee4f2fc.Id8b553b971d1428abb1bd1222016758314af3098@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
109cf3ac39
commit
779c65ede6
|
|
@ -11,6 +11,8 @@
|
|||
|
||||
RO_DATA(4096)
|
||||
|
||||
.lrodata : { *(.lrodata .lrodata.[0-9a-zA-Z_]* .lrodata..L*) }
|
||||
|
||||
.unprotected : { *(.unprotected) }
|
||||
. = ALIGN(4096);
|
||||
PROVIDE (_unprotected_end = .);
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ SECTIONS
|
|||
.data : {
|
||||
INIT_TASK_DATA(KERNEL_STACK_SIZE)
|
||||
DATA_DATA
|
||||
*(.ldata .ldata.[0-9a-zA-Z_]* .ldata..L*)
|
||||
*(.data.* .gnu.linkonce.d.*)
|
||||
SORT(CONSTRUCTORS)
|
||||
}
|
||||
|
|
@ -159,6 +160,7 @@ SECTIONS
|
|||
__bss_start = .;
|
||||
*(.dynbss)
|
||||
*(.bss .bss.* .gnu.linkonce.b.*)
|
||||
*(.lbss .lbss.[0-9a-zA-Z_]* .lbss..L*)
|
||||
*(COMMON)
|
||||
/* Align here to ensure that the .bss section occupies space up to
|
||||
_end. Align after .bss to ensure correct alignment even if the
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ SECTIONS
|
|||
{
|
||||
INIT_TASK_DATA(KERNEL_STACK_SIZE)
|
||||
DATA_DATA
|
||||
*(.ldata .ldata.[0-9a-zA-Z_]* .ldata..L*)
|
||||
*(.gnu.linkonce.d*)
|
||||
CONSTRUCTORS
|
||||
}
|
||||
|
|
@ -107,6 +108,7 @@ SECTIONS
|
|||
PROVIDE(_bss_start = .);
|
||||
SBSS(0)
|
||||
BSS(0)
|
||||
*(.lbss .lbss.[0-9a-zA-Z_]* .lbss..L*)
|
||||
__bss_stop = .;
|
||||
_end = .;
|
||||
PROVIDE (end = .);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user