diff options
author | Albert Aribaud <albert.aribaud@free.fr> | 2010-10-11 13:13:28 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-10-13 10:10:21 +0200 |
commit | 92d5ecba47feb9961c3b7525e947866c5f0d2de5 (patch) | |
tree | fd0917489d0f6c5b55bc5b32fe1e7247c6817f73 /arch/arm/cpu/arm926ejs/u-boot.lds | |
parent | 89bca0ab697fc75160dd0d685d7cb2ed26609a6d (diff) | |
download | u-boot-imx-92d5ecba47feb9961c3b7525e947866c5f0d2de5.zip u-boot-imx-92d5ecba47feb9961c3b7525e947866c5f0d2de5.tar.gz u-boot-imx-92d5ecba47feb9961c3b7525e947866c5f0d2de5.tar.bz2 |
arm: implement ELF relocations
ELF relocation tables generated with linker option -pie can
be used to fixup code and data in a single loop at relocation,
removing the need for manual fixups anywhere else in the code.
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Diffstat (limited to 'arch/arm/cpu/arm926ejs/u-boot.lds')
-rw-r--r-- | arch/arm/cpu/arm926ejs/u-boot.lds | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds index 02eb8ca..72f45f8 100644 --- a/arch/arm/cpu/arm926ejs/u-boot.lds +++ b/arch/arm/cpu/arm926ejs/u-boot.lds @@ -41,21 +41,19 @@ SECTIONS . = ALIGN(4); .data : { *(.data) - __datarel_start = .; - *(.data.rel) - __datarelrolocal_start = .; - *(.data.rel.ro.local) - __datarellocal_start = .; - *(.data.rel.local) - __datarelro_start = .; - *(.data.rel.ro) } - __got_start = .; . = ALIGN(4); - .got : { *(.got) } - __got_end = .; + __rel_dyn_start = .; + .rel.dyn : { *(.rel.dyn) } + __rel_dyn_end = .; + + __dynsym_start = .; + .dynsym : { *(.dynsym) } + + . = ALIGN(4); + . = .; __u_boot_cmd_start = .; .u_boot_cmd : { *(.u_boot_cmd) } @@ -65,4 +63,10 @@ SECTIONS __bss_start = .; .bss (NOLOAD) : { *(.bss) . = ALIGN(4); } _end = .; + + /DISCARD/ : { *(.dynstr*) } + /DISCARD/ : { *(.dynamic*) } + /DISCARD/ : { *(.plt*) } + /DISCARD/ : { *(.interp*) } + /DISCARD/ : { *(.gnu*) } } |