OSDN Git Service

binutils/:
authorAndreas Schwab <schwab@suse.de>
Mon, 10 Jan 2005 09:54:50 +0000 (09:54 +0000)
committerAndreas Schwab <schwab@suse.de>
Mon, 10 Jan 2005 09:54:50 +0000 (09:54 +0000)
* configure.in: Don't define SKIP_ZEROES.
* configure: Regenerate.
* objdump.c (disassemble_data): Set skip_zeroes and
skip_zeroes_at_end in disasm_info to defaults.
(DEFAULT_SKIP_ZEROES): Rename from SKIP_ZEROES and always define.
(DEFAULT_SKIP_ZEROES_AT_END): Rename from SKIP_ZEROES_AT_END and
always define.
(disassemble_bytes): Use skip_zeroes and skip_zeroes_at_end from
objdump_disasm_info.

include/:
* dis-asm.h (struct disassemble_info): Add skip_zeroes and
skip_zeroes_at_end.

opcodes/:
* disassemble.c (disassemble_init_for_target) <case
bfd_arch_ia64>: Set skip_zeroes to 16.
<case bfd_arch_tic4x>: Set skip_zeroes to 32.

include/ChangeLog
include/dis-asm.h
opcodes/ChangeLog
opcodes/disassemble.c

index 1985709..c4fab4b 100644 (file)
@@ -1,3 +1,8 @@
+2005-01-10  Andreas Schwab  <schwab@suse.de>
+
+       * dis-asm.h (struct disassemble_info): Add skip_zeroes and
+       skip_zeroes_at_end.
+
 2004-12-11  Ben Elliston  <bje@au.ibm.com>
 
        * fibheap.h (struct fibnode): Only use unsigned long bitfields
index aa8e2b5..be54263 100644 (file)
@@ -159,6 +159,18 @@ typedef struct disassemble_info {
      Normally one, but some DSPs have byte sizes of 16 or 32 bits.  */
   unsigned int octets_per_byte;
 
+  /* The number of zeroes we want to see at the end of a section before we
+     start skipping them.  */
+  unsigned int skip_zeroes;
+
+  /* The number of zeroes to skip at the end of a section.  If the number
+     of zeroes at the end is between SKIP_ZEROES_AT_END and SKIP_ZEROES,
+     they will be disassembled.  If there are fewer than
+     SKIP_ZEROES_AT_END, they will be skipped.  This is a heuristic
+     attempt to avoid disassembling zeroes inserted by section
+     alignment.  */
+  unsigned int skip_zeroes_at_end;
+
   /* Results from instruction decoders.  Not all decoders yet support
      this information.  This info is set each time an instruction is
      decoded, and is only valid for the last such instruction.
index 23821df..2effaf3 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-10  Andreas Schwab  <schwab@suse.de>
+
+       * disassemble.c (disassemble_init_for_target) <case
+       bfd_arch_ia64>: Set skip_zeroes to 16.
+       <case bfd_arch_tic4x>: Set skip_zeroes to 32.
+
 2004-12-23  Tomer Levi  <Tomer.Levi@nsc.com>
 
        * crx-opc.c: Mark 'bcop' instruction as RELAXABLE.
index 19de8f6..7fda7d3 100644 (file)
@@ -1,5 +1,5 @@
 /* Select disassembly routine for specified architecture.
-   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004
+   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
    Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -424,6 +424,15 @@ disassemble_init_for_target (struct disassemble_info * info)
       info->symbol_is_valid = arm_symbol_is_valid;
       break;
 #endif
+#ifdef ARCH_ia64
+    case bfd_arch_ia64:
+      info->skip_zeroes = 16;
+      break;
+#endif
+#ifdef ARCH_tic4x
+    case bfd_arch_tic4x:
+      info->skip_zeroes = 32;
+#endif
     default:
       break;
     }