diff options
| -rw-r--r-- | na/include/lume/lumeos.lds.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/na/include/lume/lumeos.lds.h b/na/include/lume/lumeos.lds.h index 76e1e75..a6b2b5f 100644 --- a/na/include/lume/lumeos.lds.h +++ b/na/include/lume/lumeos.lds.h @@ -20,6 +20,7 @@ .text : AT(ADDR(.text) - PAGE_OFFSET) { \ _stext = .; \ *(.text .text.*) \ + *(.fixup) \ _etext = .; \ } = 0 @@ -28,11 +29,24 @@ .rodata : AT(ADDR(.rodata) - PAGE_OFFSET) { \ _srodata = .; \ *(.rodata .rodata.*) \ + . = ALIGN(8); \ + __extable_start = .; \ + KEEP(*(.extable)) \ + __extable_end = .; \ INIT_ARRAY \ DRIVER_ARRAY \ _erodata = .; \ } +/* ===== Relocation Table (optional, stays in file image) ===== */ +#define RELOC_SECTION \ + .reloc : AT(ADDR(.reloc) - PAGE_OFFSET) { \ + . = ALIGN(8); \ + __lume_reloc_start = .; \ + KEEP(*(.lume.reloc .lume.reloc.*)) \ + __lume_reloc_end = .; \ + } + /* ===== C++ Global Constructor Table ===== */ #define INIT_ARRAY \ . = ALIGN(8); \ |
