aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-08-18 14:38:00 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-08-18 14:38:00 +0000
commit7c9e8d98112842cba7fde29e05ab9860c9098b43 (patch)
treeb7aaeca13824058904cda3efc38ff474e031c751 /ld
parent61049d3bcf3ab3c3350acbd8a185cf0995168971 (diff)
downloadgdb-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')
-rw-r--r--ld/testsuite/ChangeLog9
-rw-r--r--ld/testsuite/ld-elf/loadaddr.s16
-rw-r--r--ld/testsuite/ld-elf/loadaddr1.d10
-rw-r--r--ld/testsuite/ld-elf/loadaddr1.t13
-rw-r--r--ld/testsuite/ld-elf/loadaddr2.d10
-rw-r--r--ld/testsuite/ld-elf/loadaddr2.t13
6 files changed, 71 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index fae1e90..ac678c3 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -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.
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/ : { *(.*) }
+}