1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /* The bootloader will look at this image and start execution at the symbol
- designated as the entry point. */
- ENTRY(_start)
- /* 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. */
- . = 1M;
- /* 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 BLOCK(4K) : ALIGN(4K)
- {
- *(.multiboot)
- *(.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)
- }
- .note.gnu.build-id : {
- *(.note.gnu.build-id)
- }
-
- /* 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. */
- }
|