rpms/binutils/devel binutils-2.16.91.0.6-cfaval.patch, NONE, 1.1 binutils.spec, 1.76, 1.77
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Fri Mar 3 21:50:26 UTC 2006
Author: jakub
Update of /cvs/dist/rpms/binutils/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv1904
Modified Files:
binutils.spec
Added Files:
binutils-2.16.91.0.6-cfaval.patch
Log Message:
2.16.91.0.6-3
binutils-2.16.91.0.6-cfaval.patch:
binutils/dwarf.c | 45 +++++++++++++++++++++++++++++++++-
include/elf/dwarf2.h | 67 +++++++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 107 insertions(+), 5 deletions(-)
--- NEW FILE binutils-2.16.91.0.6-cfaval.patch ---
2006-03-03 Jakub Jelinek <jakub at redhat.com>
* dwarf.c (frame_display_row, display_debug_frames): Handle
DW_CFA_val_offset, DW_CFA_val_offset_sf and DW_CFA_val_expression.
2006-03-02 Ben Elliston <bje at au.ibm.com>
Import from the GCC tree:
2006-03-01 Jakub Jelinek <jakub at redhat.com>
* dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
from DWARF 3.
(DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
(DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
(DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
(DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
DW_DS_leading_separate, DW_DS_trailing_separate): New.
(DW_END_default, DW_END_big, DW_END_little): New.
(DW_END_lo_user, DW_END_hi_user): Define.
(DW_LNE_lo_user, DW_LNE_hi_user): Define.
(DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
DW_LANG_D): New.
--- binutils/dwarf.c 30 Sep 2005 14:57:52 -0000 1.2
+++ binutils/dwarf.c 3 Mar 2006 18:29:40 -0000 1.3
@@ -1,5 +1,5 @@
/* dwarf.c -- display DWARF contents of a BFD binary file
- Copyright 2005
+ Copyright 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -2904,12 +2904,18 @@ frame_display_row (Frame_Chunk *fc, int
case DW_CFA_offset:
sprintf (tmp, "c%+d", fc->col_offset[r]);
break;
+ case DW_CFA_val_offset:
+ sprintf (tmp, "v%+d", fc->col_offset[r]);
+ break;
case DW_CFA_register:
sprintf (tmp, "r%d", fc->col_offset[r]);
break;
case DW_CFA_expression:
strcpy (tmp, "exp");
break;
+ case DW_CFA_val_expression:
+ strcpy (tmp, "vexp");
+ break;
default:
strcpy (tmp, "n/a");
break;
@@ -3252,6 +3258,7 @@ display_debug_frames (struct dwarf_secti
start += 4;
break;
case DW_CFA_offset_extended:
+ case DW_CFA_val_offset:
reg = LEB (); LEB ();
frame_need_space (fc, reg);
fc->col_type[reg] = DW_CFA_undefined;
@@ -3290,6 +3297,7 @@ display_debug_frames (struct dwarf_secti
start += tmp;
break;
case DW_CFA_expression:
+ case DW_CFA_val_expression:
reg = LEB ();
tmp = LEB ();
start += tmp;
@@ -3297,6 +3305,7 @@ display_debug_frames (struct dwarf_secti
fc->col_type[reg] = DW_CFA_undefined;
break;
case DW_CFA_offset_extended_sf:
+ case DW_CFA_val_offset_sf:
reg = LEB (); SLEB ();
frame_need_space (fc, reg);
fc->col_type[reg] = DW_CFA_undefined;
@@ -3426,6 +3435,16 @@ display_debug_frames (struct dwarf_secti
fc->col_offset[reg] = roffs * fc->data_factor;
break;
+ case DW_CFA_val_offset:
+ reg = LEB ();
+ roffs = LEB ();
+ if (! do_debug_frames_interp)
+ printf (" DW_CFA_val_offset: r%ld at cfa%+ld\n",
+ reg, roffs * fc->data_factor);
+ fc->col_type[reg] = DW_CFA_val_offset;
+ fc->col_offset[reg] = roffs * fc->data_factor;
+ break;
+
case DW_CFA_restore_extended:
reg = LEB ();
if (! do_debug_frames_interp)
@@ -3543,6 +3562,19 @@ display_debug_frames (struct dwarf_secti
start += ul;
break;
+ case DW_CFA_val_expression:
+ reg = LEB ();
+ ul = LEB ();
+ if (! do_debug_frames_interp)
+ {
+ printf (" DW_CFA_val_expression: r%ld (", reg);
+ decode_location_expression (start, eh_addr_size, ul, 0);
+ printf (")\n");
+ }
+ fc->col_type[reg] = DW_CFA_val_expression;
+ start += ul;
+ break;
+
case DW_CFA_offset_extended_sf:
reg = LEB ();
l = SLEB ();
@@ -3554,6 +3586,17 @@ display_debug_frames (struct dwarf_secti
fc->col_offset[reg] = l * fc->data_factor;
break;
+ case DW_CFA_val_offset_sf:
+ reg = LEB ();
+ l = SLEB ();
+ frame_need_space (fc, reg);
+ if (! do_debug_frames_interp)
+ printf (" DW_CFA_val_offset_sf: r%ld at cfa%+ld\n",
+ reg, l * fc->data_factor);
+ fc->col_type[reg] = DW_CFA_val_offset;
+ fc->col_offset[reg] = l * fc->data_factor;
+ break;
+
case DW_CFA_def_cfa_sf:
fc->cfa_reg = LEB ();
fc->cfa_offset = SLEB ();
--- include/elf/dwarf2.h 18 Jul 2005 04:13:05 -0000 1.18
+++ include/elf/dwarf2.h 2 Mar 2006 00:54:27 -0000 1.19
@@ -1,7 +1,7 @@
-/* Declarations and definitions of codes relating to the DWARF2 symbolic
- debugging information format.
+/* Declarations and definitions of codes relating to the DWARF2 and
+ DWARF3 symbolic debugging information formats.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- 2003, 2005 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Written by Gary Funck (gary at intrepid.com) The Ada Joint Program
Office (AJPO), Florida State University and Silicon Graphics Inc.
@@ -187,6 +187,8 @@ enum dwarf_tag
DW_TAG_unspecified_type = 0x3b,
DW_TAG_partial_unit = 0x3c,
DW_TAG_imported_unit = 0x3d,
+ DW_TAG_condition = 0x3f,
+ DW_TAG_shared_type = 0x40,
/* SGI/MIPS Extensions. */
DW_TAG_MIPS_loop = 0x4081,
/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
@@ -317,6 +319,21 @@ enum dwarf_attribute
DW_AT_call_column = 0x57,
DW_AT_call_file = 0x58,
DW_AT_call_line = 0x59,
+ DW_AT_description = 0x5a,
+ DW_AT_binary_scale = 0x5b,
+ DW_AT_decimal_scale = 0x5c,
+ DW_AT_small = 0x5d,
+ DW_AT_decimal_sign = 0x5e,
+ DW_AT_digit_count = 0x5f,
+ DW_AT_picture_string = 0x60,
+ DW_AT_mutable = 0x61,
+ DW_AT_threads_scaled = 0x62,
+ DW_AT_explicit = 0x63,
+ DW_AT_object_pointer = 0x64,
+ DW_AT_endianity = 0x65,
+ DW_AT_elemental = 0x66,
+ DW_AT_pure = 0x67,
+ DW_AT_recursive = 0x68,
/* SGI/MIPS extensions. */
DW_AT_MIPS_fde = 0x2001,
DW_AT_MIPS_loop_begin = 0x2002,
@@ -518,6 +535,9 @@ enum dwarf_location_atom
DW_OP_call2 = 0x98,
DW_OP_call4 = 0x99,
DW_OP_call_ref = 0x9a,
+ DW_OP_form_tls_address = 0x9b,
+ DW_OP_call_frame_cfa = 0x9c,
+ DW_OP_bit_piece = 0x9d,
/* GNU extensions. */
DW_OP_GNU_push_tls_address = 0xe0,
/* HP extensions. */
@@ -547,6 +567,11 @@ enum dwarf_type
DW_ATE_unsigned_char = 0x8,
/* DWARF 3. */
DW_ATE_imaginary_float = 0x9,
+ DW_ATE_packed_decimal = 0xa,
+ DW_ATE_numeric_string = 0xb,
+ DW_ATE_edited = 0xc,
+ DW_ATE_signed_fixed = 0xd,
+ DW_ATE_unsigned_fixed = 0xe,
DW_ATE_decimal_float = 0xf,
/* HP extensions. */
DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
@@ -561,6 +586,29 @@ enum dwarf_type
#define DW_ATE_lo_user 0x80
#define DW_ATE_hi_user 0xff
+/* Decimal sign encodings. */
+enum dwarf_decimal_sign_encoding
+ {
+ /* DWARF 3. */
+ DW_DS_unsigned = 0x01,
+ DW_DS_leading_overpunch = 0x02,
+ DW_DS_trailing_overpunch = 0x03,
+ DW_DS_leading_separate = 0x04,
+ DW_DS_trailing_separate = 0x05
+ };
+
+/* Endianity encodings. */
+enum dwarf_endianity_encoding
+ {
+ /* DWARF 3. */
+ DW_END_default = 0x00,
+ DW_END_big = 0x01,
+ DW_END_little = 0x02
+ };
+
+#define DW_END_lo_user 0x40
+#define DW_END_hi_user 0xff
+
/* Array ordering names and codes. */
enum dwarf_array_dim_ordering
{
@@ -667,6 +715,9 @@ enum dwarf_line_number_x_ops
DW_LNE_HP_define_proc = 0x20
};
+#define DW_LNE_lo_user 0x80
+#define DW_LNE_hi_user 0xff
+
/* Call frame information. */
enum dwarf_call_frame_info
{
@@ -694,6 +745,9 @@ enum dwarf_call_frame_info
DW_CFA_offset_extended_sf = 0x11,
DW_CFA_def_cfa_sf = 0x12,
DW_CFA_def_cfa_offset_sf = 0x13,
+ DW_CFA_val_offset = 0x14,
+ DW_CFA_val_offset_sf = 0x15,
+ DW_CFA_val_expression = 0x16,
/* SGI/MIPS specific. */
DW_CFA_MIPS_advance_loc8 = 0x1d,
/* GNU extensions. */
@@ -727,11 +781,16 @@ enum dwarf_source_language
DW_LANG_Fortran90 = 0x0008,
DW_LANG_Pascal83 = 0x0009,
DW_LANG_Modula2 = 0x000a,
- DW_LANG_Java = 0x000b,
/* DWARF 3. */
+ DW_LANG_Java = 0x000b,
DW_LANG_C99 = 0x000c,
DW_LANG_Ada95 = 0x000d,
DW_LANG_Fortran95 = 0x000e,
+ DW_LANG_PLI = 0x000f,
+ DW_LANG_ObjC = 0x0010,
+ DW_LANG_ObjC_plus_plus = 0x0011,
+ DW_LANG_UPC = 0x0012,
+ DW_LANG_D = 0x0013,
/* MIPS. */
DW_LANG_Mips_Assembler = 0x8001,
/* UPC. */
Index: binutils.spec
===================================================================
RCS file: /cvs/dist/rpms/binutils/devel/binutils.spec,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- binutils.spec 27 Feb 2006 23:28:39 -0000 1.76
+++ binutils.spec 3 Mar 2006 21:50:23 -0000 1.77
@@ -1,7 +1,7 @@
Summary: A GNU collection of binary utilities.
Name: binutils
Version: 2.16.91.0.6
-Release: 2
+Release: 3
License: GPL
Group: Development/Tools
URL: http://sources.redhat.com/binutils
@@ -15,6 +15,7 @@
Patch7: binutils-2.16.91.0.6-build-fixes.patch
Patch8: binutils-2.16.91.0.6-pr26208.patch
Patch9: binutils-2.16.91.0.6-mni.patch
+Patch10: binutils-2.16.91.0.6-cfaval.patch
Buildroot: %{_tmppath}/binutils-root
BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison
@@ -53,6 +54,7 @@
%patch7 -p0 -b .build-fixes~
%patch8 -p0 -b .pr26208~
%patch9 -p0 -b .mni~
+%patch10 -p0 -b .cfaval~
# libtool sucks
perl -pi -e 'm/LIBADD/ && s/(\.\.\/bfd\/libbfd.la)/-L\.\.\/bfd\/\.libs \1/' opcodes/Makefile.{am,in}
# LTP sucks
@@ -163,6 +165,9 @@
%{_infodir}/*info*
%changelog
+* Fri Mar 3 2006 Jakub Jelinek <jakub at redhat.com> 2.16.91.0.6-3
+- support DW_CFA_val_{offset,offset_sf,expression} in readelf/objdump
+
* Tue Feb 28 2006 Jakub Jelinek <jakub at redhat.com> 2.16.91.0.6-2
- add MNI support on i?86/x86_64 (#183080)
- support S signal frame augmentation flag in .eh_frame,
More information about the fedora-cvs-commits
mailing list