Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* The bootloader will look at this image and start execution at the symbol
- designated as the entry point. */
- ENTRY(_istart)
- /* Tell where the various sections of the object files will be put in the final
- kernel image. */
- SECTIONS
- {
- /* Begin putting sections at 1 MiB, a conventional place for kernels to be
- loaded at by the bootloader. */
- /*. = _INIT_BASE; */
- . = 0x100000; /* results in a 1.1MB kernel */
- /*. = 0x1000; *//* results in a 42KB kernel */
- _sinit = .;
- .init.text ALIGN(4K) :
- {
- *(.init.text)
- }
- .init.data ALIGN(4K) :
- {
- *(.init.data)
- }
- .init.rodata ALIGN(4K) :
- {
- *(.init.rodata)
- }
- .init.bss ALIGN(4K) :
- {
- *(.init.bss)
- }
- _einit = .;
- _KERN_BASE = 0xFFFFFFFF80000000; /* kernel should be at -2GB */
- . = _KERN_BASE + _einit;
- /* First put the multiboot header, as it is required to be put very early
- early in the image or the bootloader won't recognize the file format.
- Next we'll put the .text section. */
- .text : AT(ADDR(.text) - _KERN_BASE) ALIGN(4K)
- {
- *(.text*)
- }
- /* Read-only data. */
- .rodata ALIGN(4K) :
- {
- *(.rodata*)
- }
- /* Read-write data (initialized) */
- .data ALIGN(4K) :
- {
- *(.data*)
- }
- /* Read-write data (uninitialized) and stack */
- .bss ALIGN(4K) :
- {
- *(COMMON)
- *(.bss*)
- }
- /* The compiler may produce other sections, by default it will put them in
- a segment with the same name. Simply add stuff here as needed. */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement