2004-10-30 Andrew Cagney <cagney@gnu.org>
* mips-tdep.c (gdb_print_insn_mips): Simplify. (make_mips16_addr): Delete.
This commit is contained in:
parent
6b16acab09
commit
ec4045ea2e
2 changed files with 7 additions and 29 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-10-30 Andrew Cagney <cagney@gnu.org>
|
||||
|
||||
* mips-tdep.c (gdb_print_insn_mips): Simplify.
|
||||
(make_mips16_addr): Delete.
|
||||
|
||||
2004-10-30 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* i386-sol2-nat.c: New file.
|
||||
|
|
|
@ -205,12 +205,6 @@ is_mips16_addr (CORE_ADDR addr)
|
|||
return ((addr) & 1);
|
||||
}
|
||||
|
||||
static CORE_ADDR
|
||||
make_mips16_addr (CORE_ADDR addr)
|
||||
{
|
||||
return ((addr) | 1);
|
||||
}
|
||||
|
||||
static CORE_ADDR
|
||||
unmake_mips16_addr (CORE_ADDR addr)
|
||||
{
|
||||
|
@ -4842,34 +4836,13 @@ static int
|
|||
gdb_print_insn_mips (bfd_vma memaddr, struct disassemble_info *info)
|
||||
{
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
|
||||
mips_extra_func_info_t proc_desc;
|
||||
|
||||
/* Search for the function containing this address. Set the low bit
|
||||
of the address when searching, in case we were given an even address
|
||||
that is the start of a 16-bit function. If we didn't do this,
|
||||
the search would fail because the symbol table says the function
|
||||
starts at an odd address, i.e. 1 byte past the given address. */
|
||||
memaddr = ADDR_BITS_REMOVE (memaddr);
|
||||
proc_desc = non_heuristic_proc_desc (make_mips16_addr (memaddr), NULL);
|
||||
|
||||
/* Make an attempt to determine if this is a 16-bit function. If
|
||||
the procedure descriptor exists and the address therein is odd,
|
||||
it's definitely a 16-bit function. Otherwise, we have to just
|
||||
guess that if the address passed in is odd, it's 16-bits. */
|
||||
/* FIXME: cagney/2003-06-26: Is this even necessary? The
|
||||
disassembler needs to be able to locally determine the ISA, and
|
||||
not rely on GDB. Otherwize the stand-alone 'objdump -d' will not
|
||||
work. */
|
||||
if (proc_desc)
|
||||
{
|
||||
if (mips_pc_is_mips16 (PROC_LOW_ADDR (proc_desc)))
|
||||
info->mach = bfd_mach_mips16;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mips_pc_is_mips16 (memaddr))
|
||||
info->mach = bfd_mach_mips16;
|
||||
}
|
||||
if (mips_pc_is_mips16 (memaddr))
|
||||
info->mach = bfd_mach_mips16;
|
||||
|
||||
/* Round down the instruction address to the appropriate boundary. */
|
||||
memaddr &= (info->mach == bfd_mach_mips16 ? ~1 : ~3);
|
||||
|
|
Loading…
Reference in a new issue