[MIPS] PR gas/14798: Limit IRIX5 specific default typing to IRIX targets
On IRIX 5, every global symbol that is not explicitly labelled as being a function is assumed to be an object. There is no reason why IRIX behaviour should extend to all MIPS targets, so limit this to only IRIX targets. gas/ PR 14798 * config/tc-mips.c (s_mips_globl): Only treat symbols that are not explicitly labelled as BSF_OBJECTs for IRIX targets. * testsuite/gas/mips/pr14798.s: New test source. * testsuite/gas/mips/pr14798-irix.d: New test. * testsuite/gas/mips/pr14798.d: Likewise. * testsuite/gas/mips/mips.exp: Run the new tests. binutils/ PR 14798 * testsuite/binutils-all/readelf.ss-mips: Update reference output. * testsuite/binutils-all/readelf.ss-tmips: Likewise. ld/ PR 14798 * testsuite/ld-mips-elf/reloc-6a.s: Specify .text section for global code symbols. * testsuite/ld-mips-elf/reloc-6b.s: Likewise.
This commit is contained in:
parent
cffc205c9e
commit
d87343802b
@ -1,3 +1,9 @@
|
||||
2019-05-20 Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||||
|
||||
PR 14798
|
||||
* testsuite/binutils-all/readelf.ss-mips: Update reference output.
|
||||
* testsuite/binutils-all/readelf.ss-tmips: Likewise.
|
||||
|
||||
2019-05-20 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* po/ca.po: Updated Catalan translation.
|
||||
|
@ -9,11 +9,11 @@ Symbol table '.symtab' contains 16 entries:
|
||||
+5: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.MIPS\.abiflags)
|
||||
+6: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.pdr)
|
||||
+7: 00000000 +0 +SECTION +LOCAL +DEFAULT +. (|\.gnu\.attributes)
|
||||
+8: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +. text_symbol
|
||||
+8: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +. text_symbol
|
||||
+9: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +. static_text_symbol
|
||||
+10: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol
|
||||
+11: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +. data_symbol
|
||||
+11: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +. data_symbol
|
||||
+12: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +. static_data_symbol
|
||||
+13: 00000004 +4 +(COMMON|OBJECT) +GLOBAL +DEFAULT +(PRC|COM) common_symbol
|
||||
+14: 00000008 +0 +OBJECT +GLOBAL +DEFAULT +. text_symbol2
|
||||
+15: 0000000c +0 +OBJECT +GLOBAL +DEFAULT +. text_symbol3
|
||||
+14: 00000008 +0 +NOTYPE +GLOBAL +DEFAULT +. text_symbol2
|
||||
+15: 0000000c +0 +NOTYPE +GLOBAL +DEFAULT +. text_symbol3
|
||||
|
@ -11,9 +11,9 @@ Symbol table '.symtab' contains 16 entries:
|
||||
+7: 00000000 +0 +SECTION +LOCAL +DEFAULT +6
|
||||
+8: 00000000 +0 +SECTION +LOCAL +DEFAULT +7
|
||||
+9: 00000000 +0 +SECTION +LOCAL +DEFAULT +8
|
||||
+10: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +1 text_symbol
|
||||
+10: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 text_symbol
|
||||
+11: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND external_symbol
|
||||
+12: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +3 data_symbol
|
||||
+12: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +3 data_symbol
|
||||
+13: 00000004 +4 +(COMMON|OBJECT) +GLOBAL +DEFAULT +(PRC|COM) common_symbol
|
||||
+14: 00000008 +0 +OBJECT +GLOBAL +DEFAULT +. text_symbol2
|
||||
+15: 0000000c +0 +OBJECT +GLOBAL +DEFAULT +. text_symbol3
|
||||
+14: 00000008 +0 +NOTYPE +GLOBAL +DEFAULT +. text_symbol2
|
||||
+15: 0000000c +0 +NOTYPE +GLOBAL +DEFAULT +. text_symbol3
|
||||
|
@ -1,3 +1,13 @@
|
||||
2019-05-20 Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||||
|
||||
PR 14798
|
||||
* config/tc-mips.c (s_mips_globl): Only treat symbols that are
|
||||
not explicitly labelled as BSF_OBJECTs for IRIX targets.
|
||||
* testsuite/gas/mips/pr14798.s: New test source.
|
||||
* testsuite/gas/mips/pr14798-irix.d: New test.
|
||||
* testsuite/gas/mips/pr14798.d: Likewise.
|
||||
* testsuite/gas/mips/mips.exp: Run the new tests.
|
||||
|
||||
2019-05-17 John Darrington <john@darrington.wattle.id.au>
|
||||
|
||||
* doc/c-arm.texi (ARM Options): Remove "(r)" and "(tm)"
|
||||
|
@ -16454,9 +16454,13 @@ s_mips_globl (int x ATTRIBUTE_UNUSED)
|
||||
*input_line_pointer = c;
|
||||
SKIP_WHITESPACE_AFTER_NAME ();
|
||||
|
||||
#ifdef TE_IRIX
|
||||
/* On Irix 5, every global symbol that is not explicitly labelled as
|
||||
being a function is apparently labelled as being an object. */
|
||||
flag = BSF_OBJECT;
|
||||
#else
|
||||
flag = BSF_NO_FLAGS;
|
||||
#endif
|
||||
|
||||
if (!is_end_of_line[(unsigned char) *input_line_pointer]
|
||||
&& (*input_line_pointer != ','))
|
||||
|
@ -2087,4 +2087,10 @@ if { [istarget mips*-*-vxworks*] } {
|
||||
|
||||
run_dump_test_arches "llpscp-32" [mips_arch_list_matching mips32r6]
|
||||
run_dump_test_arch "llpscp-64" "" mips64r6
|
||||
|
||||
if [istarget *-*-irix*] {
|
||||
run_dump_test "pr14798-irix"
|
||||
} else {
|
||||
run_dump_test "pr14798"
|
||||
}
|
||||
}
|
||||
|
6
gas/testsuite/gas/mips/pr14798-irix.d
Normal file
6
gas/testsuite/gas/mips/pr14798-irix.d
Normal file
@ -0,0 +1,6 @@
|
||||
#DUMPPROG: readelf
|
||||
#readelf: -s
|
||||
#source: pr14798.s
|
||||
#...
|
||||
*[0-9]+: +[0-9]+ +[0-9]+ +OBJECT +GLOBAL +DEFAULT +[0-9]+ foo
|
||||
#pass
|
5
gas/testsuite/gas/mips/pr14798.d
Normal file
5
gas/testsuite/gas/mips/pr14798.d
Normal file
@ -0,0 +1,5 @@
|
||||
#DUMPPROG: readelf
|
||||
#readelf: -s
|
||||
#...
|
||||
*[0-9]+: +[0-9]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[0-9]+ foo
|
||||
#pass
|
4
gas/testsuite/gas/mips/pr14798.s
Normal file
4
gas/testsuite/gas/mips/pr14798.s
Normal file
@ -0,0 +1,4 @@
|
||||
.text
|
||||
.globl foo
|
||||
foo:
|
||||
nop
|
@ -1,3 +1,10 @@
|
||||
2019-05-20 Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||||
|
||||
PR 14798
|
||||
* testsuite/ld-mips-elf/reloc-6a.s: Specify .text section for
|
||||
global code symbols.
|
||||
* testsuite/ld-mips-elf/reloc-6b.s: Likewise.
|
||||
|
||||
2019-05-17 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 24567
|
||||
|
@ -1,5 +1,5 @@
|
||||
.globl us
|
||||
.globl gs
|
||||
.globl us .text
|
||||
.globl gs .text
|
||||
us:
|
||||
gs:
|
||||
ls:
|
||||
|
@ -1,5 +1,5 @@
|
||||
.globl __start
|
||||
.globl gs
|
||||
.globl __start .text
|
||||
.globl gs .text
|
||||
__start:
|
||||
gs:
|
||||
ls:
|
||||
|
Loading…
Reference in New Issue
Block a user