mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-06 06:21:31 +00:00
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
290d9bf281
41 changed files with 319 additions and 214 deletions
|
@ -59,6 +59,22 @@
|
|||
/* Align . to a 8 byte boundary equals to maximum function alignment. */
|
||||
#define ALIGN_FUNCTION() . = ALIGN(8)
|
||||
|
||||
/*
|
||||
* LD_DEAD_CODE_DATA_ELIMINATION option enables -fdata-sections, which
|
||||
* generates .data.identifier sections, which need to be pulled in with
|
||||
* .data. We don't want to pull in .data..other sections, which Linux
|
||||
* has defined. Same for text and bss.
|
||||
*/
|
||||
#ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
#define TEXT_MAIN .text .text.[0-9a-zA-Z_]*
|
||||
#define DATA_MAIN .data .data.[0-9a-zA-Z_]*
|
||||
#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]*
|
||||
#else
|
||||
#define TEXT_MAIN .text
|
||||
#define DATA_MAIN .data
|
||||
#define BSS_MAIN .bss
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Align to a 32 byte boundary equal to the
|
||||
* alignment gcc 4.5 uses for a struct
|
||||
|
@ -198,12 +214,9 @@
|
|||
|
||||
/*
|
||||
* .data section
|
||||
* LD_DEAD_CODE_DATA_ELIMINATION option enables -fdata-sections generates
|
||||
* .data.identifier which needs to be pulled in with .data, but don't want to
|
||||
* pull in .data..stuff which has its own requirements. Same for bss.
|
||||
*/
|
||||
#define DATA_DATA \
|
||||
*(.data .data.[0-9a-zA-Z_]*) \
|
||||
*(DATA_MAIN) \
|
||||
*(.ref.data) \
|
||||
*(.data..shared_aligned) /* percpu related */ \
|
||||
MEM_KEEP(init.data) \
|
||||
|
@ -434,16 +447,17 @@
|
|||
VMLINUX_SYMBOL(__security_initcall_end) = .; \
|
||||
}
|
||||
|
||||
/* .text section. Map to function alignment to avoid address changes
|
||||
/*
|
||||
* .text section. Map to function alignment to avoid address changes
|
||||
* during second ld run in second ld pass when generating System.map
|
||||
* LD_DEAD_CODE_DATA_ELIMINATION option enables -ffunction-sections generates
|
||||
* .text.identifier which needs to be pulled in with .text , but some
|
||||
* architectures define .text.foo which is not intended to be pulled in here.
|
||||
* Those enabling LD_DEAD_CODE_DATA_ELIMINATION must ensure they don't have
|
||||
* conflicting section names, and must pull in .text.[0-9a-zA-Z_]* */
|
||||
*
|
||||
* TEXT_MAIN here will match .text.fixup and .text.unlikely if dead
|
||||
* code elimination is enabled, so these sections should be converted
|
||||
* to use ".." first.
|
||||
*/
|
||||
#define TEXT_TEXT \
|
||||
ALIGN_FUNCTION(); \
|
||||
*(.text.hot .text .text.fixup .text.unlikely) \
|
||||
*(.text.hot TEXT_MAIN .text.fixup .text.unlikely) \
|
||||
*(.ref.text) \
|
||||
MEM_KEEP(init.text) \
|
||||
MEM_KEEP(exit.text) \
|
||||
|
@ -605,7 +619,7 @@
|
|||
BSS_FIRST_SECTIONS \
|
||||
*(.bss..page_aligned) \
|
||||
*(.dynbss) \
|
||||
*(.bss .bss.[0-9a-zA-Z_]*) \
|
||||
*(BSS_MAIN) \
|
||||
*(COMMON) \
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue