diff options
Diffstat (limited to 'arch/arm/lib')
-rw-r--r-- | arch/arm/lib/barebox.lds.S | 17 | ||||
-rw-r--r-- | arch/arm/lib/runtime-offset.S | 4 |
2 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/lib/barebox.lds.S b/arch/arm/lib/barebox.lds.S index e5aee8cd82..abdd69e632 100644 --- a/arch/arm/lib/barebox.lds.S +++ b/arch/arm/lib/barebox.lds.S @@ -25,7 +25,11 @@ OUTPUT_ARCH(arm) ENTRY(start) SECTIONS { +#ifdef CONFIG_RELOCATABLE + . = 0x0; +#else . = TEXT_BASE; +#endif #ifndef CONFIG_PBL_IMAGE PRE_IMAGE @@ -88,7 +92,20 @@ SECTIONS __usymtab : { BAREBOX_SYMS } __usymtab_end = .; + .rel.dyn : { + __rel_dyn_start = .; + *(.rel*) + __rel_dyn_end = .; + } + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; + } + _edata = .; + . = ALIGN(4); __bss_start = .; .bss : { *(.bss*) } diff --git a/arch/arm/lib/runtime-offset.S b/arch/arm/lib/runtime-offset.S index aa56c7b105..15bf4149b7 100644 --- a/arch/arm/lib/runtime-offset.S +++ b/arch/arm/lib/runtime-offset.S @@ -35,6 +35,10 @@ __ld_var_base: .endm ld_var_entry _text +ld_var_entry __rel_dyn_start +ld_var_entry __rel_dyn_end +ld_var_entry __dynsym_start +ld_var_entry __dynsym_end ld_var_entry _barebox_image_size ld_var_entry __bss_start ld_var_entry __bss_stop |