vmlinux.lds.h

来自「此工具是arm-linux-GCC交叉编译工具(cross-3.4.4)」· C头文件 代码 · 共 144 行

H
144
字号
#ifndef LOAD_OFFSET#define LOAD_OFFSET 0#endif#ifndef VMLINUX_SYMBOL#define VMLINUX_SYMBOL(_sym_) _sym_#endif/* Align . to a 8 byte boundary equals to maximum function alignment. */#define ALIGN_FUNCTION()  . = ALIGN(8)#define RODATA								\	.rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {		\		*(.rodata) *(.rodata.*)					\		*(__vermagic)		/* Kernel version magic */	\	}								\									\	.rodata1          : AT(ADDR(.rodata1) - LOAD_OFFSET) {		\		*(.rodata1)						\	}								\									\	/* PCI quirks */						\	.pci_fixup        : AT(ADDR(.pci_fixup) - LOAD_OFFSET) {	\		VMLINUX_SYMBOL(__start_pci_fixups_early) = .;		\		*(.pci_fixup_early)					\		VMLINUX_SYMBOL(__end_pci_fixups_early) = .;		\		VMLINUX_SYMBOL(__start_pci_fixups_header) = .;		\		*(.pci_fixup_header)					\		VMLINUX_SYMBOL(__end_pci_fixups_header) = .;		\		VMLINUX_SYMBOL(__start_pci_fixups_final) = .;		\		*(.pci_fixup_final)					\		VMLINUX_SYMBOL(__end_pci_fixups_final) = .;		\		VMLINUX_SYMBOL(__start_pci_fixups_enable) = .;		\		*(.pci_fixup_enable)					\		VMLINUX_SYMBOL(__end_pci_fixups_enable) = .;		\	}								\									\	/* Kernel symbol table: Normal symbols */			\	__ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {		\		VMLINUX_SYMBOL(__start___ksymtab) = .;			\		*(__ksymtab)						\		VMLINUX_SYMBOL(__stop___ksymtab) = .;			\	}								\									\	/* Kernel symbol table: GPL-only symbols */			\	__ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) {	\		VMLINUX_SYMBOL(__start___ksymtab_gpl) = .;		\		*(__ksymtab_gpl)					\		VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .;		\	}								\									\	/* Kernel symbol table: Normal symbols */			\	__kcrctab         : AT(ADDR(__kcrctab) - LOAD_OFFSET) {		\		VMLINUX_SYMBOL(__start___kcrctab) = .;			\		*(__kcrctab)						\		VMLINUX_SYMBOL(__stop___kcrctab) = .;			\	}								\									\	/* Kernel symbol table: GPL-only symbols */			\	__kcrctab_gpl     : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) {	\		VMLINUX_SYMBOL(__start___kcrctab_gpl) = .;		\		*(__kcrctab_gpl)					\		VMLINUX_SYMBOL(__stop___kcrctab_gpl) = .;		\	}								\									\	/* Kernel symbol table: strings */				\        __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {	\		*(__ksymtab_strings)					\	}								\									\	/* Built-in module parameters. */				\	__param : AT(ADDR(__param) - LOAD_OFFSET) {			\		VMLINUX_SYMBOL(__start___param) = .;			\		*(__param)						\		VMLINUX_SYMBOL(__stop___param) = .;			\	}#define SECURITY_INIT							\	.security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \		VMLINUX_SYMBOL(__security_initcall_start) = .;		\		*(.security_initcall.init) 				\		VMLINUX_SYMBOL(__security_initcall_end) = .;		\	}/* sched.text is aling to function alignment to secure we have same * address even at second ld pass when generating System.map */#define SCHED_TEXT							\		ALIGN_FUNCTION();					\		VMLINUX_SYMBOL(__sched_text_start) = .;			\		*(.sched.text)						\		VMLINUX_SYMBOL(__sched_text_end) = .;/* spinlock.text is aling to function alignment to secure we have same * address even at second ld pass when generating System.map */#define LOCK_TEXT							\		ALIGN_FUNCTION();					\		VMLINUX_SYMBOL(__lock_text_start) = .;			\		*(.spinlock.text)					\		VMLINUX_SYMBOL(__lock_text_end) = .;#define KPROBES_TEXT							\		ALIGN_FUNCTION();					\		VMLINUX_SYMBOL(__kprobes_text_start) = .;		\		*(.kprobes.text)					\		VMLINUX_SYMBOL(__kprobes_text_end) = .;		/* DWARF debug sections.		Symbols in the DWARF debugging sections are relative to		the beginning of the section so we begin them at 0.  */#define DWARF_DEBUG							\		/* DWARF 1 */						\		.debug          0 : { *(.debug) }			\		.line           0 : { *(.line) }			\		/* GNU DWARF 1 extensions */				\		.debug_srcinfo  0 : { *(.debug_srcinfo) }		\		.debug_sfnames  0 : { *(.debug_sfnames) }		\		/* DWARF 1.1 and DWARF 2 */				\		.debug_aranges  0 : { *(.debug_aranges) }		\		.debug_pubnames 0 : { *(.debug_pubnames) }		\		/* DWARF 2 */						\		.debug_info     0 : { *(.debug_info			\				.gnu.linkonce.wi.*) }			\		.debug_abbrev   0 : { *(.debug_abbrev) }		\		.debug_line     0 : { *(.debug_line) }			\		.debug_frame    0 : { *(.debug_frame) }			\		.debug_str      0 : { *(.debug_str) }			\		.debug_loc      0 : { *(.debug_loc) }			\		.debug_macinfo  0 : { *(.debug_macinfo) }		\		/* SGI/MIPS DWARF 2 extensions */			\		.debug_weaknames 0 : { *(.debug_weaknames) }		\		.debug_funcnames 0 : { *(.debug_funcnames) }		\		.debug_typenames 0 : { *(.debug_typenames) }		\		.debug_varnames  0 : { *(.debug_varnames) }		\		/* Stabs debugging sections.  */#define STABS_DEBUG							\		.stab 0 : { *(.stab) }					\		.stabstr 0 : { *(.stabstr) }				\		.stab.excl 0 : { *(.stab.excl) }			\		.stab.exclstr 0 : { *(.stab.exclstr) }			\		.stab.index 0 : { *(.stab.index) }			\		.stab.indexstr 0 : { *(.stab.indexstr) }		\		.comment 0 : { *(.comment) }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?