2006-08-18 H.J. Lu <hongjiu.lu@intel.com>

PR ld/3052
	* ld-elf/loadaddr.s: New file.
	* ld-elf/loadaddr1.d: Likewise.
	* ld-elf/loadaddr1.t: Likewise.
	* ld-elf/loadaddr2.d: Likewise.
	* ld-elf/loadaddr2.t: Likewise.
This commit is contained in:
H.J. Lu 2006-08-18 14:38:00 +00:00
parent 61049d3bcf
commit 7c9e8d9811
6 changed files with 71 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2006-08-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3052
* ld-elf/loadaddr.s: New file.
* ld-elf/loadaddr1.d: Likewise.
* ld-elf/loadaddr1.t: Likewise.
* ld-elf/loadaddr2.d: Likewise.
* ld-elf/loadaddr2.t: Likewise.
2006-08-17 Alan Modra <amodra@bigpond.net.au>
* ld-powerpc/tlsexe.d: Update for lazy link stub change.

View File

@ -0,0 +1,16 @@
.text
.globl main
.globl start
.globl _start
.globl __start
main:
start:
_start:
__start:
.byte 0
.section .bar,"ax","progbits"
.byte 0
.section .foo,"aw","progbits"
.byte 0
.data
.byte 0

View File

@ -0,0 +1,10 @@
#source: loadaddr.s
#ld: -T loadaddr1.t -z max-page-size=0x200000
#readelf: -l --wide
#target: *-*-linux*
#...
LOAD +0x000000 0xf*80000000 0xf*80000000 0x100041 0x100041 RWE 0x200000
LOAD +0x200000 0xf*ff600000 0xf*80101000 0x0*1 0x0*1 R E 0x200000
LOAD +0x302000 0xf*80102000 0xf*80102000 0x0*1 0x0*1 RW 0x200000
#pass

View File

@ -0,0 +1,13 @@
SECTIONS
{
. = -0x7ff00000;
.text : {*(.text .text.*)}
. = ALIGN(64);
.foo : { *(.foo) }
.bar -0xa00000 : AT ((LOADADDR(.foo) + SIZEOF(.foo) + 4095) & ~(4095))
{ *(.bar) }
. = LOADADDR(.bar) + 4096;
. = ALIGN(8192);
.data : { *(.data) }
/DISCARD/ : { *(.*) }
}

View File

@ -0,0 +1,10 @@
#source: loadaddr.s
#ld: -T loadaddr2.t -z max-page-size=0x200000
#readelf: -l --wide
#target: *-*-linux*
#...
LOAD +0x000000 0xf*80000000 0xf*80000000 0x100041 0x100041 RWE 0x200000
LOAD +0x110000 0xf*80110000 0xf*80101000 0x0*1 0x0*1 R E 0x200000
LOAD +0x302000 0xf*80302000 0xf*80302000 0x0*1 0x0*1 RW 0x200000
#pass

View File

@ -0,0 +1,13 @@
SECTIONS
{
. = -0x7ff00000;
.text : {*(.text .text.*)}
. = ALIGN(64);
.foo : { *(.foo) }
.bar -0x7fef0000 : AT ((LOADADDR(.foo) + SIZEOF(.foo) + 4095) & ~(4095))
{ *(.bar) }
. = LOADADDR(.bar) + 0x200000;
. = ALIGN(8192);
.data : { *(.data) }
/DISCARD/ : { *(.*) }
}