summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/testsuite/ld-powerpc/big.s2
-rw-r--r--ld/testsuite/ld-powerpc/powerpc.exp3
-rw-r--r--ld/testsuite/ld-powerpc/relaxr.d26
-rw-r--r--ld/testsuite/ld-powerpc/relaxrl.d27
5 files changed, 47 insertions, 18 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ecbbf485c90..0b3058b20e5 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2018-07-25 Alan Modra <amodra@gmail.com>
+
+ * testsuite/ld-powerpc/big.s: New file.
+ * testsuite/ld-powerpc/relaxrl.d: New test.
+ * testsuite/ld-powerpc/powerpc.exp: Run new test.
+ * testsuite/ld-powerpc/relaxr.d: Adjust.
+
2018-07-24 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French translation.
diff --git a/ld/testsuite/ld-powerpc/big.s b/ld/testsuite/ld-powerpc/big.s
new file mode 100644
index 00000000000..e372c979ee7
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/big.s
@@ -0,0 +1,2 @@
+ .text
+ .space 32*1024*1024
diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp
index 0359ba28cb2..cfeb277f043 100644
--- a/ld/testsuite/ld-powerpc/powerpc.exp
+++ b/ld/testsuite/ld-powerpc/powerpc.exp
@@ -160,6 +160,9 @@ set ppcelftests {
{"relocatable relaxing" "-melf32ppc -r --relax" "" "-a32" "relax.s"
{{objdump -dr relaxr.d}}
"rrelax"}
+ {"relocatable relaxing large" "-melf32ppc -r --relax" "" "-a32" "relax.s big.s"
+ {{objdump -dr relaxrl.d}}
+ "rrelax"}
}
set ppc64elftests {
diff --git a/ld/testsuite/ld-powerpc/relaxr.d b/ld/testsuite/ld-powerpc/relaxr.d
index 3ce2751c158..1b3a3c147d0 100644
--- a/ld/testsuite/ld-powerpc/relaxr.d
+++ b/ld/testsuite/ld-powerpc/relaxr.d
@@ -4,23 +4,13 @@
Disassembly of section .text:
00000000 <_start>:
- 0: (48 00 00 15|15 00 00 48) bl 14 <_start\+0x14>
- 4: (48 00 00 21|21 00 00 48) bl 24 <_start\+0x24>
- 8: (48 00 00 0d|0d 00 00 48) bl 14 <_start\+0x14>
- 8: R_PPC_NONE \*ABS\*
- c: (48 00 00 19|19 00 00 48) bl 24 <_start\+0x24>
- c: R_PPC_NONE \*ABS\*
+ 0: (48 00 00 01|01 00 00 48) bl 0 <_start>
+ 0: R_PPC_REL24 near
+ 4: (48 00 00 01|01 00 00 48) bl 4 <_start\+0x4>
+ 4: R_PPC_REL24 far
+ 8: (48 00 00 01|01 00 00 48) bl 8 <_start\+0x8>
+ 8: R_PPC_REL24 near
+ c: (48 00 00 01|01 00 00 48) bl c <_start\+0xc>
+ c: R_PPC_REL24 far
10: (48 00 00 00|00 00 00 48) b 10 <_start\+0x10>
10: R_PPC_REL24 _start
- 14: (3d 80 00 00|00 00 80 3d) lis r12,0
- 1(6|4): R_PPC_ADDR16_HA near
- 18: (39 8c 00 00|00 00 8c 39) addi r12,r12,0
- 1(a|8): R_PPC_ADDR16_LO near
- 1c: (7d 89 03 a6|a6 03 89 7d) mtctr r12
- 20: (4e 80 04 20|20 04 80 4e) bctr
- 24: (3d 80 00 00|00 00 80 3d) lis r12,0
- 2(6|4): R_PPC_ADDR16_HA far
- 28: (39 8c 00 00|00 00 8c 39) addi r12,r12,0
- 2(a|8): R_PPC_ADDR16_LO far
- 2c: (7d 89 03 a6|a6 03 89 7d) mtctr r12
- 30: (4e 80 04 20|20 04 80 4e) bctr
diff --git a/ld/testsuite/ld-powerpc/relaxrl.d b/ld/testsuite/ld-powerpc/relaxrl.d
new file mode 100644
index 00000000000..8557e3fcfb9
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/relaxrl.d
@@ -0,0 +1,27 @@
+
+.*: file format .*
+
+Disassembly of section .text:
+
+0+ <_start>:
+ +0: (48 00 00 15|15 00 00 48) bl 14 <_start\+0x14>
+ +4: (48 00 00 21|21 00 00 48) bl 24 <_start\+0x24>
+ +8: (48 00 00 0d|0d 00 00 48) bl 14 <_start\+0x14>
+ 8: R_PPC_NONE \*ABS\*
+ +c: (48 00 00 19|19 00 00 48) bl 24 <_start\+0x24>
+ c: R_PPC_NONE \*ABS\*
+ +10: (48 00 00 00|00 00 00 48) b 10 <_start\+0x10>
+ 10: R_PPC_REL24 _start
+ +14: (3d 80 00 00|00 00 80 3d) lis r12,0
+ 1(6|4): R_PPC_ADDR16_HA near
+ +18: (39 8c 00 00|00 00 8c 39) addi r12,r12,0
+ 1(a|8): R_PPC_ADDR16_LO near
+ +1c: (7d 89 03 a6|a6 03 89 7d) mtctr r12
+ +20: (4e 80 04 20|20 04 80 4e) bctr
+ +24: (3d 80 00 00|00 00 80 3d) lis r12,0
+ 2(6|4): R_PPC_ADDR16_HA far
+ +28: (39 8c 00 00|00 00 8c 39) addi r12,r12,0
+ 2(a|8): R_PPC_ADDR16_LO far
+ +2c: (7d 89 03 a6|a6 03 89 7d) mtctr r12
+ +30: (4e 80 04 20|20 04 80 4e) bctr
+ \.\.\.