diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2006-08-18 14:38:00 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2006-08-18 14:38:00 +0000 |
commit | 7c9e8d98112842cba7fde29e05ab9860c9098b43 (patch) | |
tree | b7aaeca13824058904cda3efc38ff474e031c751 /ld/testsuite/ld-elf | |
parent | 61049d3bcf3ab3c3350acbd8a185cf0995168971 (diff) | |
download | gdb-7c9e8d98112842cba7fde29e05ab9860c9098b43.zip gdb-7c9e8d98112842cba7fde29e05ab9860c9098b43.tar.gz gdb-7c9e8d98112842cba7fde29e05ab9860c9098b43.tar.bz2 |
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.
Diffstat (limited to 'ld/testsuite/ld-elf')
-rw-r--r-- | ld/testsuite/ld-elf/loadaddr.s | 16 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/loadaddr1.d | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/loadaddr1.t | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/loadaddr2.d | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/loadaddr2.t | 13 |
5 files changed, 62 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/loadaddr.s b/ld/testsuite/ld-elf/loadaddr.s new file mode 100644 index 0000000..dcf40c8 --- /dev/null +++ b/ld/testsuite/ld-elf/loadaddr.s @@ -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 diff --git a/ld/testsuite/ld-elf/loadaddr1.d b/ld/testsuite/ld-elf/loadaddr1.d new file mode 100644 index 0000000..f4b01dd --- /dev/null +++ b/ld/testsuite/ld-elf/loadaddr1.d @@ -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 diff --git a/ld/testsuite/ld-elf/loadaddr1.t b/ld/testsuite/ld-elf/loadaddr1.t new file mode 100644 index 0000000..c4b5d90 --- /dev/null +++ b/ld/testsuite/ld-elf/loadaddr1.t @@ -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/ : { *(.*) } +} diff --git a/ld/testsuite/ld-elf/loadaddr2.d b/ld/testsuite/ld-elf/loadaddr2.d new file mode 100644 index 0000000..0044b8b --- /dev/null +++ b/ld/testsuite/ld-elf/loadaddr2.d @@ -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 diff --git a/ld/testsuite/ld-elf/loadaddr2.t b/ld/testsuite/ld-elf/loadaddr2.t new file mode 100644 index 0000000..71a1a6b --- /dev/null +++ b/ld/testsuite/ld-elf/loadaddr2.t @@ -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/ : { *(.*) } +} |