1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /******************************************************************************
- * kernel.ld
- * by Alex Chadwick
- *
- * A linker script for generation of raspberry pi kernel images.
- ******************************************************************************/
- SECTIONS {
- /* Link the kernel at this address: "." means the current address */
- /* Must be equal to KERNLINK */
- . = 0x80008000;
- /*
- * First and formost we need the .init section, containing the code to
- * be run first. We allow room for the ATAGs and stack and conform to
- * the bootloader's expectation by putting this code at 0x8000.
- */
- .init 0x80008000 : AT(0x8000) {
- *(.init)
- }
-
- /*
- * Next we put the rest of the code.
- */
- .text : {
- *.c.o(.text)
- *(.text .stub .text.*)
- }
- /*
- * read-only data
- */
- .rodata : {
- *(.rodata .rodata.*)
- }
- /* Adjust the address for the data segment to the next page */
- . = ALIGN(0x1000);
-
- /*
- * Next we put the data.
- */
- .data : {
- *(.data)
- *.c.o(*)
- }
- .bss : {
- *(.bss)
- }
- PROVIDE(end = .);
- /*
- * Finally comes everything else. A fun trick here is to put all other
- * sections into this section, which will be discarded by default.
- */
- /DISCARD/ : {
- *(.eh_frame .note.GNU-stack)
- }
- }
|