diff --git a/repos/base-nova/src/platform/roottask.ld b/repos/base-nova/src/platform/roottask.ld index 0bebf4697..8b2894c62 100644 --- a/repos/base-nova/src/platform/roottask.ld +++ b/repos/base-nova/src/platform/roottask.ld @@ -21,8 +21,8 @@ ENTRY(_start) PHDRS { - ro PT_LOAD; - rw PT_LOAD; + ro PT_LOAD; + rw PT_LOAD; } SECTIONS @@ -31,6 +31,9 @@ SECTIONS /* begin of program image (link address) */ _prog_img_beg = .; + /* put entry code at the start of the text segment / raw binary */ + *(.text.crt0) + *(.init) *(.text .text.* .gnu.linkonce.t.*) *(.fini) diff --git a/repos/base/src/platform/x86_32/crt0.s b/repos/base/src/platform/x86_32/crt0.s index eda33967c..efedf4aca 100644 --- a/repos/base/src/platform/x86_32/crt0.s +++ b/repos/base/src/platform/x86_32/crt0.s @@ -17,7 +17,7 @@ ** .text (program code) ** **************************/ -.text +.section ".text.crt0" /* program entry-point */ .global _start diff --git a/repos/base/src/platform/x86_64/crt0.s b/repos/base/src/platform/x86_64/crt0.s index 89b9f5ff1..0a2392d32 100644 --- a/repos/base/src/platform/x86_64/crt0.s +++ b/repos/base/src/platform/x86_64/crt0.s @@ -17,7 +17,7 @@ ** .text (program code) ** **************************/ -.text +.section ".text.crt0" /* program entry-point */ .global _start