score-elf gas SEGV
Alan Modra
amodra@gmail.com
Sat Feb 15 22:37:35 GMT 2025
Commit 3fb6f5457e5b typoed an array subscript.
* config/tc-score7.c (s7_gen_reloc): Correct array subscript.
* testsuite/gas/score/pr32700.d,
* testsuite/gas/score/pr32700.s: New test.
* testsuite/gas/score/relax.exp: Run it.
diff --git a/gas/config/tc-score7.c b/gas/config/tc-score7.c
index 63a720e3dd4..cb56ba9c177 100644
--- a/gas/config/tc-score7.c
+++ b/gas/config/tc-score7.c
@@ -6845,7 +6845,7 @@ s7_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
s7_number_to_chars (buf, newval, s7_INSN_SIZE);
retval[1] = notes_alloc (sizeof (arelent));
- retval[2]->sym_ptr_ptr = notes_alloc (sizeof (asymbol *));
+ retval[1]->sym_ptr_ptr = notes_alloc (sizeof (asymbol *));
retval[2] = NULL;
*retval[1]->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
retval[1]->address = (reloc->address + s7_RELAX_RELOC2 (fixp->fx_frag->fr_subtype));
diff --git a/gas/testsuite/gas/score/pr32700.d b/gas/testsuite/gas/score/pr32700.d
new file mode 100644
index 00000000000..be814b86d11
--- /dev/null
+++ b/gas/testsuite/gas/score/pr32700.d
@@ -0,0 +1,14 @@
+#as:
+#objdump: -dr
+#source: pr32700.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ 0: 94388000 ldis r1, 0x0\(0\)
+ 0: R_SCORE_HI16 dwarf_reg_size_table
+ 4: 84348000 ori r1, 0x0
+ 4: R_SCORE_LO16 dwarf_reg_size_table
+ 8: d8e18000 lbu r7, \[r1, 0\]
diff --git a/gas/testsuite/gas/score/pr32700.s b/gas/testsuite/gas/score/pr32700.s
new file mode 100644
index 00000000000..117b3c8ab4e
--- /dev/null
+++ b/gas/testsuite/gas/score/pr32700.s
@@ -0,0 +1,2 @@
+ .text
+ lbu r7,dwarf_reg_size_table
diff --git a/gas/testsuite/gas/score/relax.exp b/gas/testsuite/gas/score/relax.exp
index 184f9180e97..534a822f806 100644
--- a/gas/testsuite/gas/score/relax.exp
+++ b/gas/testsuite/gas/score/relax.exp
@@ -32,5 +32,5 @@ if [istarget score-*-*] then {
run_dump_test "move"
run_dump_test "rD_rA_BN"
run_dump_test "rD_rA"
+ run_dump_test pr32700
}
-
--
Alan Modra
More information about the Binutils
mailing list