📄 ldscript
字号:
OUTPUT_FORMAT(elf32-i386)OUTPUT_ARCH(i386)ENTRY(entry)/* Initial load address * To be loaded by GRUB, this must be >= 1MB */BASE_ADDR = 0x100000;/* 16KB heap and stack */HEAP_SIZE = 16384;STACK_SIZE = 16384;SECTIONS{ . = BASE_ADDR; /* Put Multiboot header near beginning of file, if any. */ .hdr : { *(.hdr) *(.hdr.*) } /* Start of the program. * Now the version string is in the note, we must include it * in the program. Otherwise we lose the string after relocation. */ . = ALIGN(16); _start = .; /* Putting ELF notes near beginning of file might help bootloaders. * We discard .note sections other than .note.ELFBoot, * because some versions of GCC generates useless ones. */ .note : { *(.note.ELFBoot) } /* Normal sections */ .text : { *(.text) *(.text.*) } .rodata : { . = ALIGN(4); sound_drivers_start = .; *(.rodata.sound_drivers) sound_drivers_end = .; *(.rodata) *(.rodata.*) } .data : { *(.data) *(.data.*) } .bss : { *(.bss) *(.bss.*) *(COMMON) /* Put heap and stack here, so they are included in PT_LOAD segment * and the bootloader is aware of it. */ . = ALIGN(16); _heap = .; . += HEAP_SIZE; . = ALIGN(16); _eheap = .; _stack = .; . += STACK_SIZE; . = ALIGN(16); _estack = .; } .initctx : { /* Initial contents of stack. This MUST BE just after the stack. */ *(.initctx) } _end = .; /DISCARD/ : { *(.comment) *(.note) }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -