binutils/

* dwarf.c (regname): New declaration.
	(decode_location_expression): Print for registers also regname output.

binutils/testsuite/
	* binutils-all/objdump.W: Update DW_OP_reg5 expected output.

gas/testsuite/
	* gas/elf/dwarf2-1.d: Update DW_OP_reg5 expected output.
	* gas/elf/dwarf2-2.d: Likewise.
	* gas/i386/dw2-compress-1.d: Likewise.
This commit is contained in:
Jan Kratochvil 2010-09-03 15:54:32 +00:00
parent 14dba4b472
commit 18464d4d31
8 changed files with 30 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2010-09-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Jakub Jelinek <jakub@redhat.com>
* dwarf.c (regname): New declaration.
(decode_location_expression): Print for registers also regname output.
2010-09-02 Richard Henderson <rth@redhat.com>
* dwarf.c (init_dwarf_regnames_i386, init_dwarf_regnames_x86_64): New.

View File

@ -27,6 +27,8 @@
#include "dwarf2.h"
#include "dwarf.h"
static const char *regname (unsigned int regno, int row);
static int have_frame_base;
static int need_base_address;
@ -936,7 +938,8 @@ decode_location_expression (unsigned char * data,
case DW_OP_reg29:
case DW_OP_reg30:
case DW_OP_reg31:
printf ("DW_OP_reg%d", op - DW_OP_reg0);
printf ("DW_OP_reg%d (%s)", op - DW_OP_reg0,
regname (op - DW_OP_reg0, 1));
break;
case DW_OP_breg0:
@ -971,14 +974,16 @@ decode_location_expression (unsigned char * data,
case DW_OP_breg29:
case DW_OP_breg30:
case DW_OP_breg31:
printf ("DW_OP_breg%d: %ld", op - DW_OP_breg0,
printf ("DW_OP_breg%d (%s): %ld", op - DW_OP_breg0,
regname (op - DW_OP_breg0, 1),
read_leb128 (data, &bytes_read, 1));
data += bytes_read;
break;
case DW_OP_regx:
printf ("DW_OP_regx: %lu", read_leb128 (data, &bytes_read, 0));
uvalue = read_leb128 (data, &bytes_read, 0);
data += bytes_read;
printf ("DW_OP_regx: %lu (%s)", uvalue, regname (uvalue, 1));
break;
case DW_OP_fbreg:
need_frame_base = 1;
@ -988,7 +993,7 @@ decode_location_expression (unsigned char * data,
case DW_OP_bregx:
uvalue = read_leb128 (data, &bytes_read, 0);
data += bytes_read;
printf ("DW_OP_bregx: %lu %ld", uvalue,
printf ("DW_OP_bregx: %lu (%s) %ld", uvalue, regname (uvalue, 1),
read_leb128 (data, &bytes_read, 1));
data += bytes_read;
break;

View File

@ -1,3 +1,7 @@
2010-09-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* binutils-all/objdump.W: Update DW_OP_reg5 expected output.
2010-08-23 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/elfedit-3.d: New.

View File

@ -23,7 +23,7 @@ Contents of the .debug_info section:
<3c> DW_AT_type : <0x4a>
<40> DW_AT_low_pc : 0x.
<44> DW_AT_high_pc : 0x.
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5\)
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
<1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
<4b> DW_AT_name : int
<4f> DW_AT_byte_size : 4

View File

@ -1,4 +1,10 @@
2010-10-03 Kai Tietz <kai.tietz@onevision.com>
2010-09-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* gas/elf/dwarf2-1.d: Update DW_OP_reg5 expected output.
* gas/elf/dwarf2-2.d: Likewise.
* gas/i386/dw2-compress-1.d: Likewise.
2010-09-03 Kai Tietz <kai.tietz@onevision.com>
* gas/cfi/cfi-i386.d: Use objdump -Wf instead of readelf.
* gas/cfi/cfi-i386.s: Remove .type directives.

View File

@ -24,7 +24,7 @@ Contents of the .debug_info section:
<3c> DW_AT_type : <0x4a>
<40> DW_AT_low_pc : 0x.
<44> DW_AT_high_pc : 0x.
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5\)
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
<1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
<4b> DW_AT_name : int
<4f> DW_AT_byte_size : 4

View File

@ -24,7 +24,7 @@ Contents of the .debug_info section:
<3c> DW_AT_type : <0x4a>
<40> DW_AT_low_pc : 0x.
<44> DW_AT_high_pc : 0x.
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5\)
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
<1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
<4b> DW_AT_name : int
<4f> DW_AT_byte_size : 4

View File

@ -24,7 +24,7 @@ Contents of the .zdebug_info section:
<3c> DW_AT_type : <0x4a>
<40> DW_AT_low_pc : 0x0
<44> DW_AT_high_pc : 0x4
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5\)
<48> DW_AT_frame_base : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
<1><4a>: Abbrev Number: 3 \(DW_TAG_base_type\)
<4b> DW_AT_name : int
<4f> DW_AT_byte_size : 4