diff options
author | Alan Modra <amodra@gmail.com> | 2020-11-18 20:29:25 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-11-18 23:49:31 +1030 |
commit | e4d9e5422fa233e9e32ce89e07a5a6ca89e85090 (patch) | |
tree | 3697128c76e70fe669e89dd874bdf968c767923d /ld | |
parent | 058430b4a1ed7441dfc2e167bfdb9dc89ea9a209 (diff) | |
download | gdb-e4d9e5422fa233e9e32ce89e07a5a6ca89e85090.zip gdb-e4d9e5422fa233e9e32ce89e07a5a6ca89e85090.tar.gz gdb-e4d9e5422fa233e9e32ce89e07a5a6ca89e85090.tar.bz2 |
PowerPC paranioa testing of symbol merging involving comdat groups
Ensures we don't mistreat st_other localentry bits.
* testsuite/ld-powerpc/group1.d,
* testsuite/ld-powerpc/group1.s,
* testsuite/ld-powerpc/group1.sym,
* testsuite/ld-powerpc/group2.d,
* testsuite/ld-powerpc/group2.s,
* testsuite/ld-powerpc/group2.sym,
* testsuite/ld-powerpc/group3.s,
* testsuite/ld-powerpc/group3.sym: New test files.
* testsuite/ld-powerpc/powerpc.exp: Run new tests.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group1.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group1.s | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group1.sym | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group2.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group2.s | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group2.sym | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group3.s | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/group3.sym | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/powerpc.exp | 9 |
10 files changed, 85 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 0e2ddee..e9da9f8 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,15 @@ +2020-11-18 Alan Modra <amodra@gmail.com> + + * testsuite/ld-powerpc/group1.d, + * testsuite/ld-powerpc/group1.s, + * testsuite/ld-powerpc/group1.sym, + * testsuite/ld-powerpc/group2.d, + * testsuite/ld-powerpc/group2.s, + * testsuite/ld-powerpc/group2.sym, + * testsuite/ld-powerpc/group3.s, + * testsuite/ld-powerpc/group3.sym: New test files. + * testsuite/ld-powerpc/powerpc.exp: Run new tests. + 2020-11-18 Jozef Lawrynowicz <jozef.l@mittosystems.com> * NEWS: Announce support for SHF_GNU_RETAIN. diff --git a/ld/testsuite/ld-powerpc/group1.d b/ld/testsuite/ld-powerpc/group1.d new file mode 100644 index 0000000..848e2ab --- /dev/null +++ b/ld/testsuite/ld-powerpc/group1.d @@ -0,0 +1,14 @@ +#source: group1.s +#source: group2.s +#source: group3.s +#as: -a64 -e foo +#ld: -melf64ppc +#objdump: -d + +.* + +Disassembly of section \.text: + +.* <foo>: +.*: (60 00 00 00|00 00 00 60) nop +.*: (4e 80 00 20|20 00 80 4e) blr diff --git a/ld/testsuite/ld-powerpc/group1.s b/ld/testsuite/ld-powerpc/group1.s new file mode 100644 index 0000000..cb918a5 --- /dev/null +++ b/ld/testsuite/ld-powerpc/group1.s @@ -0,0 +1,10 @@ + .abiversion 2 + .section .text,"axG",%progbits,foo,comdat + .globl foo + .type foo,%function +foo: +0: + nop + .localentry foo,.-0b + blr + .size foo,.-0b diff --git a/ld/testsuite/ld-powerpc/group1.sym b/ld/testsuite/ld-powerpc/group1.sym new file mode 100644 index 0000000..4ad8c17 --- /dev/null +++ b/ld/testsuite/ld-powerpc/group1.sym @@ -0,0 +1,3 @@ +#... +.* 8 FUNC +GLOBAL DEFAULT \[<localentry>: 4\] +1 foo +#pass diff --git a/ld/testsuite/ld-powerpc/group2.d b/ld/testsuite/ld-powerpc/group2.d new file mode 100644 index 0000000..3611006 --- /dev/null +++ b/ld/testsuite/ld-powerpc/group2.d @@ -0,0 +1,13 @@ +#source: group2.s +#source: group1.s +#source: group3.s +#as: -a64 -e foo +#ld: -melf64ppc +#objdump: -d + +.* + +Disassembly of section \.text: + +.* <foo>: +.*: (4e 80 00 20|20 00 80 4e) blr diff --git a/ld/testsuite/ld-powerpc/group2.s b/ld/testsuite/ld-powerpc/group2.s new file mode 100644 index 0000000..882745c --- /dev/null +++ b/ld/testsuite/ld-powerpc/group2.s @@ -0,0 +1,9 @@ + .abiversion 2 + .section .text,"axG",%progbits,foo,comdat + .globl foo + .type foo,%function +foo: +0: + .localentry foo,0 + blr + .size foo,.-0b diff --git a/ld/testsuite/ld-powerpc/group2.sym b/ld/testsuite/ld-powerpc/group2.sym new file mode 100644 index 0000000..509978a --- /dev/null +++ b/ld/testsuite/ld-powerpc/group2.sym @@ -0,0 +1,3 @@ +#... +.* 4 FUNC +GLOBAL DEFAULT +1 foo +#pass diff --git a/ld/testsuite/ld-powerpc/group3.s b/ld/testsuite/ld-powerpc/group3.s new file mode 100644 index 0000000..075ee2f --- /dev/null +++ b/ld/testsuite/ld-powerpc/group3.s @@ -0,0 +1,9 @@ + .abiversion 2 + .section .text,"axG",%progbits,foo,comdat + .globl foo + .type foo,%function +foo: +0: + .localentry foo,1 + blr + .size foo,.-0b diff --git a/ld/testsuite/ld-powerpc/group3.sym b/ld/testsuite/ld-powerpc/group3.sym new file mode 100644 index 0000000..6b5028d --- /dev/null +++ b/ld/testsuite/ld-powerpc/group3.sym @@ -0,0 +1,3 @@ +#... +.* 4 FUNC +GLOBAL DEFAULT \[<localentry>: 1\] +1 foo +#pass diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp index 2cbefb8..e780d2e 100644 --- a/ld/testsuite/ld-powerpc/powerpc.exp +++ b/ld/testsuite/ld-powerpc/powerpc.exp @@ -335,6 +335,15 @@ set ppc64elftests { "-a64 -mpower10" {pcrelopt.s} {{objdump {-d -Mpower10} pcrelopt.d} {readelf {-S --wide} pcrelopt.sec}} "pcrelopt" } + {"group1" "-melf64ppc -e foo" "" "-a64" {group1.s group2.s group3.s} + {{objdump {-d} group1.d} + {readelf {-s} group1.sym}} "group1"} + {"group2" "-melf64ppc -e foo" "" "-a64" {group2.s group1.s group3.s} + {{objdump {-d} group2.d} + {readelf {-s} group2.sym}} "group2"} + {"group3" "-melf64ppc -e foo" "" "-a64" {group3.s group2.s group1.s} + {{objdump {-d} group2.d} + {readelf {-s} group3.sym}} "group3"} } set ppceabitests { |