Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 build updates from Ingo Molnar:
 "A handful of updates: two linker script cleanups and a stock
  defconfig+allmodconfig bootability fix"

* 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/vdso: Discard .note.gnu.property sections in vDSO
  x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS
  x86/Kconfig: Make CMDLINE_OVERRIDE depend on non-empty CMDLINE
This commit is contained in:
Linus Torvalds 2020-03-31 10:51:12 -07:00
commit 97cddfc345
4 changed files with 18 additions and 3 deletions

View File

@ -2417,7 +2417,7 @@ config CMDLINE
config CMDLINE_OVERRIDE config CMDLINE_OVERRIDE
bool "Built-in command line overrides boot loader arguments" bool "Built-in command line overrides boot loader arguments"
depends on CMDLINE_BOOL depends on CMDLINE_BOOL && CMDLINE != ""
---help--- ---help---
Set this option to 'Y' to have the kernel ignore the boot loader Set this option to 'Y' to have the kernel ignore the boot loader
command line, and use ONLY the built-in command line. command line, and use ONLY the built-in command line.

View File

@ -57,6 +57,13 @@ SECTIONS
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
} :text } :text
/*
* Discard .note.gnu.property sections which are unused and have
* different alignment requirement from vDSO note sections.
*/
/DISCARD/ : {
*(.note.gnu.property)
}
.note : { *(.note.*) } :text :note .note : { *(.note.*) } :text :note
.eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr

View File

@ -21,6 +21,7 @@
#define LOAD_OFFSET __START_KERNEL_map #define LOAD_OFFSET __START_KERNEL_map
#endif #endif
#define RUNTIME_DISCARD_EXIT
#define EMITS_PT_NOTE #define EMITS_PT_NOTE
#define RO_EXCEPTION_TABLE_ALIGN 16 #define RO_EXCEPTION_TABLE_ALIGN 16

View File

@ -894,10 +894,17 @@
* section definitions so that such archs put those in earlier section * section definitions so that such archs put those in earlier section
* definitions. * definitions.
*/ */
#ifdef RUNTIME_DISCARD_EXIT
#define EXIT_DISCARDS
#else
#define EXIT_DISCARDS \
EXIT_TEXT \
EXIT_DATA
#endif
#define DISCARDS \ #define DISCARDS \
/DISCARD/ : { \ /DISCARD/ : { \
EXIT_TEXT \ EXIT_DISCARDS \
EXIT_DATA \
EXIT_CALL \ EXIT_CALL \
*(.discard) \ *(.discard) \
*(.discard.*) \ *(.discard.*) \