diff options
author | Wojtek Kosior <kwojtus@protonmail.com> | 2019-12-28 23:37:17 +0100 |
---|---|---|
committer | Wojtek Kosior <kwojtus@protonmail.com> | 2019-12-28 23:37:17 +0100 |
commit | dab51b1932cb82af152b0b6cbdb687083f79a290 (patch) | |
tree | b7bf2c7bafa10f615b3c2a8d8947b2b84aaebbaf /PL0_test.ld | |
parent | a910d10349593fce9f5f28f0de4f27ba85cd7df2 (diff) | |
download | rpi-MMU-example-dab51b1932cb82af152b0b6cbdb687083f79a290.tar.gz rpi-MMU-example-dab51b1932cb82af152b0b6cbdb687083f79a290.zip |
improve linking of PL0_test
Diffstat (limited to 'PL0_test.ld')
-rw-r--r-- | PL0_test.ld | 48 |
1 files changed, 9 insertions, 39 deletions
diff --git a/PL0_test.ld b/PL0_test.ld index 45bee5e..b1d06f4 100644 --- a/PL0_test.ld +++ b/PL0_test.ld @@ -1,49 +1,19 @@ -ENTRY(_start) - +/* linker script for creating the example userspace program PL0_test + */ + +/* no ENTRY() statement - this executable is run by jumping to it */ + SECTIONS { - /* 0b10101010101000000000000000000000 */ + /* my thought up address userspace programs should run from */ . = 0xaaa00000; - /* For some reason ld warns when _start is not defined. */ - /* Other .elf files link ok - only PL0_test.elf seems to */ - /* expect _start to be deifned. */ - _start = .; __start = .; - __text_start = .; - .text : + .another_weird_section_name_that_doesnt_matter : { /* have entry point at the beginning */ - KEEP(*(.text.PL0main)) - *(.text) + KEEP(PL0_test.o) + *(*) } - . = ALIGN(4096); /* align to page size */ - __text_end = .; - - __rodata_start = .; - .rodata : - { - *(.rodata) - } - . = ALIGN(4096); /* align to page size */ - __rodata_end = .; - - __data_start = .; - .data : - { - *(.data) - } - . = ALIGN(4096); /* align to page size */ - __data_end = .; - - __bss_start = .; - .bss : - { - bss = .; - *(.bss) - } - . = ALIGN(4096); /* align to page size */ - __bss_end = .; - __bss_size = __bss_end - __bss_start; __end = .; } |