mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-16 16:47:52 +00:00
gas/
* config/tc-mips.c (file_ase_mips16): Adjust comment. (append_insn): Update file_ase_mips16. (mips_after_parse_args): Don't set file_ase_mips16 here. gas/testsuite/ * gas/mips/elf_ase_mips16.d: Update test for new MIPS16 ASE flag semantics. * gas/mips/elf_ase_mips16-2.d: New test. * gas/mips/nop.s: Source for the new test. * gas/mips/mips.exp: Run the new test. binutils/testsuite/ * lib/binutils-common.exp (regexp_diff): Implement inverse matching, requested by `!'.
This commit is contained in:
parent
c7af427326
commit
738f4d98b4
@ -1,3 +1,8 @@
|
||||
2010-12-09 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* lib/binutils-common.exp (regexp_diff): Implement inverse
|
||||
matching, requested by `!'.
|
||||
|
||||
2010-11-20 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* lib/binutils-common.exp (regexp_diff): New procedure.
|
||||
|
@ -167,7 +167,9 @@ proc is_elf64 { binary_file } {
|
||||
# REGEXP
|
||||
# Skip all lines in FILE_1 until the first that matches REGEXP.
|
||||
#
|
||||
# Other # lines are comments. Skip empty lines in both files.
|
||||
# Other # lines are comments. Regexp lines starting with the `!' character
|
||||
# specify inverse matching (use `\!' for literal matching against a leading
|
||||
# `!'). Skip empty lines in both files.
|
||||
#
|
||||
# The first optional argument is a list of regexp substitutions of the form:
|
||||
#
|
||||
@ -235,12 +237,15 @@ proc regexp_diff { file_1 file_2 args } {
|
||||
set diff_pass 1
|
||||
break
|
||||
}
|
||||
set negated [expr { [string index $line_b 0] eq "!" }]
|
||||
set line_bx [string range $line_b $negated end]
|
||||
set n [expr { $negated ? "! " : "" }]
|
||||
# Substitute on the reference.
|
||||
foreach {name value} $ref_subst {
|
||||
regsub -- $name $line_b $value line_b
|
||||
regsub -- $name $line_bx $value line_bx
|
||||
}
|
||||
verbose "looking for \"^$line_b$\"" 3
|
||||
while { ![regexp "^$line_b$" "$line_a"] } {
|
||||
verbose "looking for $n\"^$line_bx$\"" 3
|
||||
while { [expr [regexp "^$line_bx$" "$line_a"] == $negated] } {
|
||||
verbose "skipping \"$line_a\"" 3
|
||||
if { [gets $file_a line_a] == $eof } {
|
||||
set end_1 1
|
||||
@ -270,14 +275,18 @@ proc regexp_diff { file_1 file_2 args } {
|
||||
set differences 1
|
||||
break
|
||||
} else {
|
||||
set negated [expr { [string index $line_b 0] eq "!" }]
|
||||
set line_bx [string range $line_b $negated end]
|
||||
set n [expr { $negated ? "! " : "" }]
|
||||
set s [expr { $negated ? " " : "" }]
|
||||
# Substitute on the reference.
|
||||
foreach {name value} $ref_subst {
|
||||
regsub -- $name $line_b $value line_b
|
||||
regsub -- $name $line_bx $value line_bx
|
||||
}
|
||||
verbose "regexp \"^$line_b$\"\nline \"$line_a\"" 3
|
||||
if { ![regexp "^$line_b$" "$line_a"] } {
|
||||
verbose "regexp $n\"^$line_bx$\"\nline \"$line_a\"" 3
|
||||
if { [expr [regexp "^$line_bx$" "$line_a"] == $negated] } {
|
||||
send_log "regexp_diff match failure\n"
|
||||
send_log "regexp \"^$line_b$\"\nline \"$line_a\"\n"
|
||||
send_log "regexp $n\"^$line_bx$\"\nline $s\"$line_a\"\n"
|
||||
verbose "regexp_diff match failure\n" 3
|
||||
set differences 1
|
||||
}
|
||||
|
@ -1,3 +1,9 @@
|
||||
2010-12-09 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* config/tc-mips.c (file_ase_mips16): Adjust comment.
|
||||
(append_insn): Update file_ase_mips16.
|
||||
(mips_after_parse_args): Don't set file_ase_mips16 here.
|
||||
|
||||
2010-12-09 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* config/tc-mips.c (macro)
|
||||
|
@ -282,8 +282,7 @@ unsigned long mips_cprmask[4];
|
||||
/* MIPS ISA we are using for this output file. */
|
||||
static int file_mips_isa = ISA_UNKNOWN;
|
||||
|
||||
/* True if -mips16 was passed or implied by arguments passed on the
|
||||
command line (e.g., by -march). */
|
||||
/* True if any MIPS16 code was produced. */
|
||||
static int file_ase_mips16;
|
||||
|
||||
#define ISA_SUPPORTS_MIPS16E (mips_opts.isa == ISA_MIPS32 \
|
||||
@ -2811,6 +2810,8 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
|
||||
/* Mark instruction labels in mips16 mode. */
|
||||
mips16_mark_labels ();
|
||||
|
||||
file_ase_mips16 |= mips_opts.mips16;
|
||||
|
||||
prev_pinfo = history[0].insn_mo->pinfo;
|
||||
pinfo = ip->insn_mo->pinfo;
|
||||
|
||||
@ -12045,7 +12046,6 @@ mips_after_parse_args (void)
|
||||
mips_cpu_info_from_isa (mips_opts.isa)->name);
|
||||
|
||||
file_mips_isa = mips_opts.isa;
|
||||
file_ase_mips16 = mips_opts.mips16;
|
||||
file_ase_mips3d = mips_opts.ase_mips3d;
|
||||
file_ase_mdmx = mips_opts.ase_mdmx;
|
||||
file_ase_smartmips = mips_opts.ase_smartmips;
|
||||
|
@ -1,3 +1,11 @@
|
||||
2010-12-09 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* gas/mips/elf_ase_mips16.d: Update test for new MIPS16 ASE flag
|
||||
semantics.
|
||||
* gas/mips/elf_ase_mips16-2.d: New test.
|
||||
* gas/mips/nop.s: Source for the new test.
|
||||
* gas/mips/mips.exp: Run the new test.
|
||||
|
||||
2010-12-09 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* gas/mips/jal-svr4pic.d: Also use wildcard address matching in
|
||||
|
8
gas/testsuite/gas/mips/elf_ase_mips16-2.d
Normal file
8
gas/testsuite/gas/mips/elf_ase_mips16-2.d
Normal file
@ -0,0 +1,8 @@
|
||||
# name: ELF MIPS16 ASE markings 2
|
||||
# source: nop.s
|
||||
# objdump: -p
|
||||
# as: -32 -mips16
|
||||
|
||||
.*:.*file format.*mips.*
|
||||
private flags = [0-9a-f]*[4-7c-f]......: .*[[,]mips16[],].*
|
||||
|
@ -4,5 +4,5 @@
|
||||
# as: -32 -mips16
|
||||
|
||||
.*:.*file format.*mips.*
|
||||
private flags = [0-9a-f]*[4-7c-f]......: .*[[,]mips16[],].*
|
||||
!private flags = .*mips16.*
|
||||
|
||||
|
@ -743,7 +743,10 @@ if { [istarget mips*-*-vxworks*] } {
|
||||
run_dump_test "elf_arch_mips64r2"
|
||||
|
||||
# Verify that ASE markings are handled properly.
|
||||
if { !$no_mips16 } { run_dump_test "elf_ase_mips16" }
|
||||
if { !$no_mips16 } {
|
||||
run_dump_test "elf_ase_mips16"
|
||||
run_dump_test "elf_ase_mips16-2"
|
||||
}
|
||||
|
||||
run_dump_test "mips-gp32-fp32-pic"
|
||||
run_dump_test "mips-gp32-fp64-pic"
|
||||
|
1
gas/testsuite/gas/mips/nop.s
Normal file
1
gas/testsuite/gas/mips/nop.s
Normal file
@ -0,0 +1 @@
|
||||
nop
|
Loading…
Reference in New Issue
Block a user