This is the mail archive of the
gdb-testers@sourceware.org
mailing list for the GDB project.
[binutils-gdb] MIPS/opcodes: Correct mixed MIPS16 and microMIPS disassembly
- From: sergiodj+buildbot at sergiodj dot net
- To: gdb-testers at sourceware dot org
- Date: Wed, 18 May 2016 08:39:41 -0400
- Subject: [binutils-gdb] MIPS/opcodes: Correct mixed MIPS16 and microMIPS disassembly
- Authentication-results: sourceware.org; auth=none
*** TEST RESULTS FOR COMMIT 1401d2fe675c5b0634a97e84e6b094eea527e63e ***
Author: Maciej W. Rozycki <macro@imgtec.com>
Branch: master
Commit: 1401d2fe675c5b0634a97e84e6b094eea527e63e
MIPS/opcodes: Correct mixed MIPS16 and microMIPS disassembly
Mixing MIPS16 and microMIPS code in a single binary isn't usually
supported but GAS happily produces such code if requested. However it
is not correctly disassembled even if a symbol table is available and
function symbols are correctly anotated with the ISA mode. This is
because the ELF-header global microMIPS ASE flag takes precedence over
MIPS16 function annotation, causing them to be treated as regular MIPS
code.
Correct the problem by respecting function symbol anotation regardless
of the ELF-header flag.
binutils/
* testsuite/binutils-all/mips/mixed-mips16-micromips.d: New test.
* testsuite/binutils-all/mips/mixed-mips16-micromips.s: New test
source.
* testsuite/binutils-all/mips/mips.exp: Run the new test.
opcodes/
* mips-dis.c (is_compressed_mode_p): Add `micromips_p' operand,
replacing references to `micromips_ase' throughout.
(_print_insn_mips): Don't use file-level microMIPS annotation to
determine the disassembly mode with the symbol table.
- Follow-Ups:
- Failures on Fedora-x86_64-native-gdbserver-m64, branch master
- Failures on AIX-POWER7-plain, branch master
- Failures on Fedora-x86_64-native-gdbserver-m32, branch master
- Failures on Debian-s390x-m64, branch master
- Failures on Debian-s390x-native-extended-gdbserver-m64, branch master
- Failures on Debian-i686-native-extended-gdbserver, branch master
- Failures on Fedora-ppc64be-cc-with-index, branch master
- Failures on Fedora-ppc64be-native-gdbserver-m64, branch master
- Failures on Fedora-ppc64be-native-extended-gdbserver-m64, branch master
- Failures on Fedora-ppc64le-native-extended-gdbserver-m64, branch master
- Failures on Fedora-ppc64le-native-gdbserver-m64, branch master
- Failures on Debian-x86_64-m64, branch master