mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
gas/
* config/tc-mips.c (mips_pseudo_table): Add stabd and stabs entries. (s_mips_stab): Do not restrict to stabn only. gas/testsuite/ * gas/mips/mips16-stabs.s, gas/mips/mips16-stabs.d: New test. * gas/mips/mips.exp: Run it.
This commit is contained in:
parent
13761a1136
commit
754e2bb948
@ -1,3 +1,8 @@
|
|||||||
|
2013-05-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
|
* config/tc-mips.c (mips_pseudo_table): Add stabd and stabs entries.
|
||||||
|
(s_mips_stab): Do not restrict to stabn only.
|
||||||
|
|
||||||
2013-05-02 Nick Clifton <nickc@redhat.com>
|
2013-05-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* config/tc-msp430.c: Add support for the MSP430X architecture.
|
* config/tc-msp430.c: Add support for the MSP430X architecture.
|
||||||
|
@ -1472,7 +1472,9 @@ static const pseudo_typeS mips_pseudo_table[] =
|
|||||||
{"section", s_change_section, 0},
|
{"section", s_change_section, 0},
|
||||||
{"short", s_cons, 1},
|
{"short", s_cons, 1},
|
||||||
{"single", s_float_cons, 'f'},
|
{"single", s_float_cons, 'f'},
|
||||||
|
{"stabd", s_mips_stab, 'd'},
|
||||||
{"stabn", s_mips_stab, 'n'},
|
{"stabn", s_mips_stab, 'n'},
|
||||||
|
{"stabs", s_mips_stab, 's'},
|
||||||
{"text", s_change_sec, 't'},
|
{"text", s_change_sec, 't'},
|
||||||
{"word", s_cons, 2},
|
{"word", s_cons, 2},
|
||||||
|
|
||||||
@ -17088,18 +17090,24 @@ s_insn (int ignore ATTRIBUTE_UNUSED)
|
|||||||
demand_empty_rest_of_line ();
|
demand_empty_rest_of_line ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle a .stabn directive. We need these in order to mark a label
|
/* Handle a .stab[snd] directive. Ideally these directives would be
|
||||||
as being a mips16 text label correctly. Sometimes the compiler
|
implemented in a transparent way, so that removing them would not
|
||||||
will emit a label, followed by a .stabn, and then switch sections.
|
have any effect on the generated instructions. However, s_stab
|
||||||
If the label and .stabn are in mips16 mode, then the label is
|
internally changes the section, so in practice we need to decide
|
||||||
really a mips16 text label. */
|
now whether the preceding label marks compressed code. We do not
|
||||||
|
support changing the compression mode of a label after a .stab*
|
||||||
|
directive, such as in:
|
||||||
|
|
||||||
|
foo:
|
||||||
|
.stabs ...
|
||||||
|
.set mips16
|
||||||
|
|
||||||
|
so the current mode wins. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
s_mips_stab (int type)
|
s_mips_stab (int type)
|
||||||
{
|
{
|
||||||
if (type == 'n')
|
mips_mark_labels ();
|
||||||
mips_mark_labels ();
|
|
||||||
|
|
||||||
s_stab (type);
|
s_stab (type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2013-05-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
|
* gas/mips/mips16-stabs.s, gas/mips/mips16-stabs.d: New test.
|
||||||
|
* gas/mips/mips.exp: Run it.
|
||||||
|
|
||||||
2013-05-02 Nick Clifton <nickc@redhat.com>
|
2013-05-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* gas/all/gas.exp: Skip the DIFF1 test for the MSP430.
|
* gas/all/gas.exp: Skip the DIFF1 test for the MSP430.
|
||||||
|
@ -1086,6 +1086,7 @@ if { [istarget mips*-*-vxworks*] } {
|
|||||||
if $has_newabi {
|
if $has_newabi {
|
||||||
run_dump_test "mips16-dwarf2-n32"
|
run_dump_test "mips16-dwarf2-n32"
|
||||||
}
|
}
|
||||||
|
run_dump_test "mips16-stabs"
|
||||||
}
|
}
|
||||||
if { !$no_mips16 } {
|
if { !$no_mips16 } {
|
||||||
run_dump_test "mips16e-jrc"
|
run_dump_test "mips16e-jrc"
|
||||||
|
6
gas/testsuite/gas/mips/mips16-stabs.d
Normal file
6
gas/testsuite/gas/mips/mips16-stabs.d
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#as: -mips3 -EB
|
||||||
|
#objdump: -dr
|
||||||
|
#...
|
||||||
|
0+ <foo>:
|
||||||
|
0: e820 jr ra
|
||||||
|
#pass
|
8
gas/testsuite/gas/mips/mips16-stabs.s
Normal file
8
gas/testsuite/gas/mips/mips16-stabs.s
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.align 2
|
||||||
|
.set mips16
|
||||||
|
.globl foo
|
||||||
|
.ent foo
|
||||||
|
foo:
|
||||||
|
.stabs "foo:F(0,49)",36,0,0,foo
|
||||||
|
jr $31
|
||||||
|
.end foo
|
Loading…
Reference in New Issue
Block a user