⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gate.lds.s

📁 linux 内核源代码
💻 S
字号:
/* * Linker script for gate DSO.  The gate pages are an ELF shared object * prelinked to its virtual address, with only one read-only segment and * one execute-only segment (both fit in one page).  This script controls * its layout. */#include <asm/system.h>SECTIONS{	. = GATE_ADDR + SIZEOF_HEADERS;	.hash			: { *(.hash) }		:readable	.gnu.hash		: { *(.gnu.hash) }	.dynsym			: { *(.dynsym) }	.dynstr			: { *(.dynstr) }	.gnu.version		: { *(.gnu.version) }	.gnu.version_d		: { *(.gnu.version_d) }	.gnu.version_r		: { *(.gnu.version_r) }	.note			: { *(.note*) }		:readable	:note	.dynamic		: { *(.dynamic) }	:readable	:dynamic	/*	 * This linker script is used both with -r and with -shared.  For	 * the layouts to match, we need to skip more than enough space for	 * the dynamic symbol table et al.  If this amount is insufficient,	 * ld -shared will barf.  Just increase it here.	 */	. = GATE_ADDR + 0x600;	.data.patch		: {		__start_gate_mckinley_e9_patchlist = .;		*(.data.patch.mckinley_e9)		__end_gate_mckinley_e9_patchlist = .;		__start_gate_vtop_patchlist = .;		*(.data.patch.vtop)		__end_gate_vtop_patchlist = .;		__start_gate_fsyscall_patchlist = .;		*(.data.patch.fsyscall_table)		__end_gate_fsyscall_patchlist = .;		__start_gate_brl_fsys_bubble_down_patchlist = .;		*(.data.patch.brl_fsys_bubble_down)		__end_gate_brl_fsys_bubble_down_patchlist = .;	}						:readable	.IA_64.unwind_info	: { *(.IA_64.unwind_info*) }	.IA_64.unwind		: { *(.IA_64.unwind*) }	:readable	:unwind#ifdef HAVE_BUGGY_SEGREL	.text (GATE_ADDR + PAGE_SIZE) : { *(.text) *(.text.*) }	:readable#else	. = ALIGN(PERCPU_PAGE_SIZE) + (. & (PERCPU_PAGE_SIZE - 1));	.text			: { *(.text) *(.text.*) }	:epc#endif	/DISCARD/		: {		*(.got.plt) *(.got)		*(.data .data.* .gnu.linkonce.d.*)		*(.dynbss)		*(.bss .bss.* .gnu.linkonce.b.*)		*(__ex_table)		*(__mca_table)	}}/* * ld does not recognize this name token; use the constant. */#define	PT_IA_64_UNWIND	0x70000001/* * We must supply the ELF program headers explicitly to get just one * PT_LOAD segment, and set the flags explicitly to make segments read-only. */PHDRS{	readable	PT_LOAD	FILEHDR	PHDRS	FLAGS(4);	/* PF_R */#ifndef HAVE_BUGGY_SEGREL	epc		PT_LOAD	FILEHDR PHDRS	FLAGS(1);	/* PF_X */#endif	dynamic		PT_DYNAMIC		FLAGS(4);	/* PF_R */	note		PT_NOTE			FLAGS(4);	/* PF_R */	unwind		PT_IA_64_UNWIND;}/* * This controls what symbols we export from the DSO. */VERSION{	LINUX_2.5 {	global:		__kernel_syscall_via_break;		__kernel_syscall_via_epc;		__kernel_sigtramp;	local: *;	};}/* The ELF entry point can be used to set the AT_SYSINFO value.  */ENTRY(__kernel_syscall_via_epc)

⌨️ 快捷键说明

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