PR 10263
* arm-dis.c (print_insn): Ignore is_data if the user has requested the disassembly of data as well as instructions. * objdump.c (disassemble_bytes): Set the DISASSEMBLE_DATA bit in the flags field of the disassemble_info structure if the -D switch is in operation. * dis-asm.h (struct disassemble_info): New value for the flags field.
This commit is contained in:
parent
ec68b08387
commit
1316c8b37f
@ -1,3 +1,10 @@
|
||||
2009-06-15 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 10263
|
||||
* objdump.c (disassemble_bytes): Set the DISASSEMBLE_DATA bit in
|
||||
the flags field of the disassemble_info structure if the -D switch
|
||||
is in operation.
|
||||
|
||||
2009-06-12 Homer Xing <homer.xing@yahoo.com>
|
||||
|
||||
* NEWS: Mention new feature added to gprof.
|
||||
|
@ -1525,7 +1525,7 @@ disassemble_bytes (struct disassemble_info * info,
|
||||
info->stream = &sfile;
|
||||
info->bytes_per_line = 0;
|
||||
info->bytes_per_chunk = 0;
|
||||
info->flags = 0;
|
||||
info->flags = disassemble_all ? DISASSEMBLE_DATA : 0;
|
||||
|
||||
if (info->disassembler_needs_relocs
|
||||
&& (bfd_get_file_flags (aux->abfd) & EXEC_P) == 0
|
||||
@ -1554,7 +1554,7 @@ disassemble_bytes (struct disassemble_info * info,
|
||||
|| (distance_to_rel > 0
|
||||
&& distance_to_rel < (bfd_signed_vma) (previous_octets/ opb)))
|
||||
{
|
||||
info->flags = INSN_HAS_RELOC;
|
||||
info->flags |= INSN_HAS_RELOC;
|
||||
aux->reloc = **relppp;
|
||||
}
|
||||
else
|
||||
|
@ -1,3 +1,8 @@
|
||||
2009-06-15 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* dis-asm.h (struct disassemble_info): New value for the flags
|
||||
field.
|
||||
|
||||
2009-06-02 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* ansidecl.h (EXPORTED_CONST): Define.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Interface between the opcode library and its callers.
|
||||
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -39,14 +39,14 @@ extern "C" {
|
||||
|
||||
enum dis_insn_type
|
||||
{
|
||||
dis_noninsn, /* Not a valid instruction */
|
||||
dis_nonbranch, /* Not a branch instruction */
|
||||
dis_branch, /* Unconditional branch */
|
||||
dis_condbranch, /* Conditional branch */
|
||||
dis_jsr, /* Jump to subroutine */
|
||||
dis_condjsr, /* Conditional jump to subroutine */
|
||||
dis_dref, /* Data reference instruction */
|
||||
dis_dref2 /* Two data references in instruction */
|
||||
dis_noninsn, /* Not a valid instruction. */
|
||||
dis_nonbranch, /* Not a branch instruction. */
|
||||
dis_branch, /* Unconditional branch. */
|
||||
dis_condbranch, /* Conditional branch. */
|
||||
dis_jsr, /* Jump to subroutine. */
|
||||
dis_condjsr, /* Conditional jump to subroutine. */
|
||||
dis_dref, /* Data reference instruction. */
|
||||
dis_dref2 /* Two data references in instruction. */
|
||||
};
|
||||
|
||||
/* This struct is passed into the instruction decoding routine,
|
||||
@ -108,7 +108,13 @@ typedef struct disassemble_info
|
||||
The top 16 bits are reserved for public use (and are documented here).
|
||||
The bottom 16 bits are for the internal use of the disassembler. */
|
||||
unsigned long flags;
|
||||
#define INSN_HAS_RELOC 0x80000000
|
||||
/* Set if the disassembler has determined that there are one or more
|
||||
relocations associated with the instruction being disassembled. */
|
||||
#define INSN_HAS_RELOC (1 << 31)
|
||||
/* Set if the user has requested the disassembly of data as well as code. */
|
||||
#define DISASSEMBLE_DATA (1 << 30)
|
||||
|
||||
/* Use internally by the target specific disassembly code. */
|
||||
void *private_data;
|
||||
|
||||
/* Function used to get bytes to disassemble. MEMADDR is the
|
||||
|
@ -1,3 +1,9 @@
|
||||
2009-06-15 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 10263
|
||||
* arm-dis.c (print_insn): Ignore is_data if the user has requested
|
||||
the disassembly of data as well as instructions.
|
||||
|
||||
2009-06-11 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* cgen.sh: Handle multiple simultaneous runs for parallel makes.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Instruction printing code for the ARM
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
2007, Free Software Foundation, Inc.
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
||||
2004, 2007, 2009 Free Software Foundation, Inc.
|
||||
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
|
||||
Modification by James G. Smith (jsmith@cygnus.co.uk)
|
||||
|
||||
@ -4120,11 +4120,12 @@ print_insn (bfd_vma pc, struct disassemble_info *info, bfd_boolean little)
|
||||
|
||||
info->bytes_per_line = 4;
|
||||
|
||||
if (is_data)
|
||||
/* PR 10263: Disassemble data if requested to do so by the user. */
|
||||
if (is_data && ((info->flags & DISASSEMBLE_DATA) == 0))
|
||||
{
|
||||
int i;
|
||||
|
||||
/* size was already set above. */
|
||||
/* Size was already set above. */
|
||||
info->bytes_per_chunk = size;
|
||||
printer = print_insn_data;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user