- Make the package buildable on RHEL-5/CentOS-5 (without librpm there).
- archer-jankratochvil-fedora12 commit: 5b73ea6a0f74e63db3b504792fc1d37f548bdf5c
This commit is contained in:
parent
5135752b6b
commit
c5c5004db4
@ -1,2 +1,2 @@
|
|||||||
libstdc++-v3-python-r151798.tar.xz
|
|
||||||
gdb-7.0.tar.bz2
|
gdb-7.0.tar.bz2
|
||||||
|
libstdc++-v3-python-r151798.tar.bz2
|
||||||
|
149
gdb-archer.patch
149
gdb-archer.patch
@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
|
|||||||
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
||||||
|
|
||||||
GIT snapshot:
|
GIT snapshot:
|
||||||
commit ce4ead356654b951a49ca78d81ebfff95e758bf5
|
commit 5b73ea6a0f74e63db3b504792fc1d37f548bdf5c
|
||||||
|
|
||||||
branch `archer' - the merge of branches:
|
branch `archer' - the merge of branches:
|
||||||
archer-tromey-call-frame-cfa
|
archer-tromey-call-frame-cfa
|
||||||
@ -4963,7 +4963,7 @@ index 0bfcfca..01018d6 100644
|
|||||||
|
|
||||||
#endif /* dwarf2loc.h */
|
#endif /* dwarf2loc.h */
|
||||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||||
index 4cce36b..c2f5f23 100644
|
index 4cce36b..fb0a693 100644
|
||||||
--- a/gdb/dwarf2read.c
|
--- a/gdb/dwarf2read.c
|
||||||
+++ b/gdb/dwarf2read.c
|
+++ b/gdb/dwarf2read.c
|
||||||
@@ -48,6 +48,12 @@
|
@@ -48,6 +48,12 @@
|
||||||
@ -5701,7 +5701,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
if (die->child != NULL && (die->tag == DW_TAG_imported_declaration
|
if (die->child != NULL && (die->tag == DW_TAG_imported_declaration
|
||||||
|| cu->language != language_fortran))
|
|| cu->language != language_fortran))
|
||||||
complaint (&symfile_complaints, _("Tag '%s' has unexpected children"),
|
complaint (&symfile_complaints, _("Tag '%s' has unexpected children"),
|
||||||
@@ -3310,41 +3583,68 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3310,41 +3583,71 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
/* Return the fully qualified name of DIE, based on its DW_AT_name.
|
/* Return the fully qualified name of DIE, based on its DW_AT_name.
|
||||||
If scope qualifiers are appropriate they will be added. The result
|
If scope qualifiers are appropriate they will be added. The result
|
||||||
will be allocated on the objfile_obstack, or NULL if the DIE does
|
will be allocated on the objfile_obstack, or NULL if the DIE does
|
||||||
@ -5776,14 +5776,17 @@ index 4cce36b..c2f5f23 100644
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
+/* read the given die's decl_line number. Return -1 if in case of an error */
|
+/* Read the given DIE's DW_AT_decl_line number. Return -1 if in case of an
|
||||||
+static const int dwarf2_read_decl_line (struct die_info *die, struct dwarf2_cu *cu){
|
+ error. */
|
||||||
|
+
|
||||||
|
+static int
|
||||||
|
+dwarf2_read_decl_line (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
+{
|
||||||
+ struct attribute *line_attr;
|
+ struct attribute *line_attr;
|
||||||
+
|
+
|
||||||
+ line_attr = dwarf2_attr (die, DW_AT_decl_line, cu);
|
+ line_attr = dwarf2_attr (die, DW_AT_decl_line, cu);
|
||||||
+ if (line_attr){
|
+ if (line_attr)
|
||||||
+ return DW_UNSND (line_attr);
|
+ return DW_UNSND (line_attr);
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ return -1;
|
+ return -1;
|
||||||
+}
|
+}
|
||||||
@ -5791,7 +5794,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
/* Read the import statement specified by the given die and record it. */
|
/* Read the import statement specified by the given die and record it. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -3354,9 +3654,15 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3354,9 +3657,15 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct die_info *imported_die;
|
struct die_info *imported_die;
|
||||||
const char *imported_name;
|
const char *imported_name;
|
||||||
const char *imported_name_prefix;
|
const char *imported_name_prefix;
|
||||||
@ -5809,7 +5812,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
import_attr = dwarf2_attr (die, DW_AT_import, cu);
|
import_attr = dwarf2_attr (die, DW_AT_import, cu);
|
||||||
if (import_attr == NULL)
|
if (import_attr == NULL)
|
||||||
{
|
{
|
||||||
@@ -3404,17 +3710,27 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3404,17 +3713,27 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5843,7 +5846,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
canonical_name = alloca (strlen (imported_name_prefix) + 2 + strlen (imported_name) + 1);
|
canonical_name = alloca (strlen (imported_name_prefix) + 2 + strlen (imported_name) + 1);
|
||||||
strcpy (canonical_name, imported_name_prefix);
|
strcpy (canonical_name, imported_name_prefix);
|
||||||
strcat (canonical_name, "::");
|
strcat (canonical_name, "::");
|
||||||
@@ -3425,8 +3741,14 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3425,8 +3744,14 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
canonical_name = alloca (strlen (imported_name) + 1);
|
canonical_name = alloca (strlen (imported_name) + 1);
|
||||||
strcpy (canonical_name, imported_name);
|
strcpy (canonical_name, imported_name);
|
||||||
}
|
}
|
||||||
@ -5860,7 +5863,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -3695,6 +4017,14 @@ inherit_abstract_dies (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3695,6 +4020,14 @@ inherit_abstract_dies (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
|
|
||||||
attr = dwarf2_attr (die, DW_AT_abstract_origin, cu);
|
attr = dwarf2_attr (die, DW_AT_abstract_origin, cu);
|
||||||
@ -5875,7 +5878,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
if (!attr)
|
if (!attr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -3793,6 +4123,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3793,6 +4126,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
char *name;
|
char *name;
|
||||||
CORE_ADDR baseaddr;
|
CORE_ADDR baseaddr;
|
||||||
struct block *block;
|
struct block *block;
|
||||||
@ -5883,7 +5886,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
int inlined_func = (die->tag == DW_TAG_inlined_subroutine);
|
int inlined_func = (die->tag == DW_TAG_inlined_subroutine);
|
||||||
|
|
||||||
if (inlined_func)
|
if (inlined_func)
|
||||||
@@ -3811,13 +4142,23 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3811,13 +4145,23 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
||||||
|
|
||||||
@ -5910,7 +5913,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
lowpc += baseaddr;
|
lowpc += baseaddr;
|
||||||
highpc += baseaddr;
|
highpc += baseaddr;
|
||||||
|
|
||||||
@@ -3844,14 +4185,19 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3844,14 +4188,19 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
cu->list_in_scope = &local_symbols;
|
cu->list_in_scope = &local_symbols;
|
||||||
|
|
||||||
@ -5937,7 +5940,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
inherit_abstract_dies (die, cu);
|
inherit_abstract_dies (die, cu);
|
||||||
@@ -3867,6 +4213,13 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3867,6 +4216,13 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
determine_prefix (die, cu),
|
determine_prefix (die, cu),
|
||||||
processing_has_namespace_info);
|
processing_has_namespace_info);
|
||||||
|
|
||||||
@ -5951,7 +5954,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
/* If we have address ranges, record them. */
|
/* If we have address ranges, record them. */
|
||||||
dwarf2_record_block_ranges (die, block, baseaddr, cu);
|
dwarf2_record_block_ranges (die, block, baseaddr, cu);
|
||||||
|
|
||||||
@@ -3903,7 +4256,7 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3903,7 +4259,7 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
as multiple lexical blocks? Handling children in a sane way would
|
as multiple lexical blocks? Handling children in a sane way would
|
||||||
be nasty. Might be easier to properly extend generic blocks to
|
be nasty. Might be easier to properly extend generic blocks to
|
||||||
describe ranges. */
|
describe ranges. */
|
||||||
@ -5960,7 +5963,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
return;
|
return;
|
||||||
lowpc += baseaddr;
|
lowpc += baseaddr;
|
||||||
highpc += baseaddr;
|
highpc += baseaddr;
|
||||||
@@ -3920,7 +4273,7 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -3920,7 +4276,7 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
}
|
}
|
||||||
new = pop_context ();
|
new = pop_context ();
|
||||||
|
|
||||||
@ -5969,7 +5972,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
{
|
{
|
||||||
struct block *block
|
struct block *block
|
||||||
= finish_block (0, &local_symbols, new->old_blocks, new->start_addr,
|
= finish_block (0, &local_symbols, new->old_blocks, new->start_addr,
|
||||||
@@ -4075,7 +4428,8 @@ dwarf2_ranges_read (unsigned offset, CORE_ADDR *low_return,
|
@@ -4075,7 +4431,8 @@ dwarf2_ranges_read (unsigned offset, CORE_ADDR *low_return,
|
||||||
discontinuous, i.e. derived from DW_AT_ranges information. */
|
discontinuous, i.e. derived from DW_AT_ranges information. */
|
||||||
static int
|
static int
|
||||||
dwarf2_get_pc_bounds (struct die_info *die, CORE_ADDR *lowpc,
|
dwarf2_get_pc_bounds (struct die_info *die, CORE_ADDR *lowpc,
|
||||||
@ -5979,7 +5982,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
{
|
{
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
CORE_ADDR low = 0;
|
CORE_ADDR low = 0;
|
||||||
@@ -4103,7 +4457,7 @@ dwarf2_get_pc_bounds (struct die_info *die, CORE_ADDR *lowpc,
|
@@ -4103,7 +4460,7 @@ dwarf2_get_pc_bounds (struct die_info *die, CORE_ADDR *lowpc,
|
||||||
{
|
{
|
||||||
/* Value of the DW_AT_ranges attribute is the offset in the
|
/* Value of the DW_AT_ranges attribute is the offset in the
|
||||||
.debug_ranges section. */
|
.debug_ranges section. */
|
||||||
@ -5988,7 +5991,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
return 0;
|
return 0;
|
||||||
/* Found discontinuous range of addresses. */
|
/* Found discontinuous range of addresses. */
|
||||||
ret = -1;
|
ret = -1;
|
||||||
@@ -4142,7 +4496,7 @@ dwarf2_get_subprogram_pc_bounds (struct die_info *die,
|
@@ -4142,7 +4499,7 @@ dwarf2_get_subprogram_pc_bounds (struct die_info *die,
|
||||||
CORE_ADDR low, high;
|
CORE_ADDR low, high;
|
||||||
struct die_info *child = die->child;
|
struct die_info *child = die->child;
|
||||||
|
|
||||||
@ -5997,7 +6000,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
{
|
{
|
||||||
*lowpc = min (*lowpc, low);
|
*lowpc = min (*lowpc, low);
|
||||||
*highpc = max (*highpc, high);
|
*highpc = max (*highpc, high);
|
||||||
@@ -4179,7 +4533,7 @@ get_scope_pc_bounds (struct die_info *die,
|
@@ -4179,7 +4536,7 @@ get_scope_pc_bounds (struct die_info *die,
|
||||||
CORE_ADDR best_high = (CORE_ADDR) 0;
|
CORE_ADDR best_high = (CORE_ADDR) 0;
|
||||||
CORE_ADDR current_low, current_high;
|
CORE_ADDR current_low, current_high;
|
||||||
|
|
||||||
@ -6006,7 +6009,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
{
|
{
|
||||||
best_low = current_low;
|
best_low = current_low;
|
||||||
best_high = current_high;
|
best_high = current_high;
|
||||||
@@ -4474,7 +4828,7 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
|
@@ -4474,7 +4831,7 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Get physical name. */
|
/* Get physical name. */
|
||||||
@ -6015,7 +6018,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
/* The name is already allocated along with this objfile, so we don't
|
/* The name is already allocated along with this objfile, so we don't
|
||||||
need to duplicate it for the type. */
|
need to duplicate it for the type. */
|
||||||
@@ -4617,7 +4971,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
@@ -4617,7 +4974,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Get the mangled name. */
|
/* Get the mangled name. */
|
||||||
@ -6024,7 +6027,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
/* Look up member function name in fieldlist. */
|
/* Look up member function name in fieldlist. */
|
||||||
for (i = 0; i < fip->nfnfields; i++)
|
for (i = 0; i < fip->nfnfields; i++)
|
||||||
@@ -4661,7 +5015,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
@@ -4661,7 +5018,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
||||||
/* The name is already allocated along with this objfile, so we don't
|
/* The name is already allocated along with this objfile, so we don't
|
||||||
need to duplicate it for the type. */
|
need to duplicate it for the type. */
|
||||||
fnp->physname = physname ? physname : "";
|
fnp->physname = physname ? physname : "";
|
||||||
@ -6033,7 +6036,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
this_type = read_type_die (die, cu);
|
this_type = read_type_die (die, cu);
|
||||||
if (this_type && TYPE_CODE (this_type) == TYPE_CODE_FUNC)
|
if (this_type && TYPE_CODE (this_type) == TYPE_CODE_FUNC)
|
||||||
{
|
{
|
||||||
@@ -4721,18 +5075,18 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
@@ -4721,18 +5078,18 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
||||||
{
|
{
|
||||||
/* Support the .debug_loc offsets */
|
/* Support the .debug_loc offsets */
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
@ -6059,7 +6062,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4845,7 +5199,7 @@ quirk_gcc_member_function_pointer (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -4845,7 +5202,7 @@ quirk_gcc_member_function_pointer (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
domain_type = TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (pfn_type, 0));
|
domain_type = TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (pfn_type, 0));
|
||||||
@ -6068,7 +6071,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
smash_to_method_type (type, domain_type, TYPE_TARGET_TYPE (pfn_type),
|
smash_to_method_type (type, domain_type, TYPE_TARGET_TYPE (pfn_type),
|
||||||
TYPE_FIELDS (pfn_type), TYPE_NFIELDS (pfn_type),
|
TYPE_FIELDS (pfn_type), TYPE_NFIELDS (pfn_type),
|
||||||
TYPE_VARARGS (pfn_type));
|
TYPE_VARARGS (pfn_type));
|
||||||
@@ -4898,7 +5252,7 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -4898,7 +5255,7 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
return set_die_type (die, type, cu);
|
return set_die_type (die, type, cu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6077,7 +6080,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
INIT_CPLUS_SPECIFIC (type);
|
INIT_CPLUS_SPECIFIC (type);
|
||||||
|
|
||||||
name = dwarf2_name (die, cu);
|
name = dwarf2_name (die, cu);
|
||||||
@@ -4907,14 +5261,18 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -4907,14 +5264,18 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
if (cu->language == language_cplus
|
if (cu->language == language_cplus
|
||||||
|| cu->language == language_java)
|
|| cu->language == language_java)
|
||||||
{
|
{
|
||||||
@ -6099,7 +6102,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5124,7 +5482,7 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5124,7 +5485,7 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
return set_die_type (die, type, cu);
|
return set_die_type (die, type, cu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6108,7 +6111,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
TYPE_CODE (type) = TYPE_CODE_ENUM;
|
TYPE_CODE (type) = TYPE_CODE_ENUM;
|
||||||
name = dwarf2_full_name (die, cu);
|
name = dwarf2_full_name (die, cu);
|
||||||
@@ -5152,51 +5510,6 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5152,51 +5513,6 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
return set_die_type (die, type, cu);
|
return set_die_type (die, type, cu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6160,7 +6163,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
/* Given a pointer to a die which begins an enumeration, process all
|
/* Given a pointer to a die which begins an enumeration, process all
|
||||||
the dies that define the members of the enumeration, and create the
|
the dies that define the members of the enumeration, and create the
|
||||||
symbol for the enumeration type.
|
symbol for the enumeration type.
|
||||||
@@ -5274,6 +5587,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5274,6 +5590,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
new_symbol (die, this_type, cu);
|
new_symbol (die, this_type, cu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6190,7 +6193,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
/* Extract all information from a DW_TAG_array_type DIE and put it in
|
/* Extract all information from a DW_TAG_array_type DIE and put it in
|
||||||
the DIE's type field. For now, this only handles one dimensional
|
the DIE's type field. For now, this only handles one dimensional
|
||||||
arrays. */
|
arrays. */
|
||||||
@@ -5287,7 +5623,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5287,7 +5626,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct type *element_type, *range_type, *index_type;
|
struct type *element_type, *range_type, *index_type;
|
||||||
struct type **range_types = NULL;
|
struct type **range_types = NULL;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -6199,7 +6202,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
struct cleanup *back_to;
|
struct cleanup *back_to;
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
@@ -5334,16 +5670,11 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5334,16 +5673,11 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
type = element_type;
|
type = element_type;
|
||||||
|
|
||||||
if (read_array_order (die, cu) == DW_ORD_col_major)
|
if (read_array_order (die, cu) == DW_ORD_col_major)
|
||||||
@ -6221,7 +6224,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
/* Understand Dwarf2 support for vector types (like they occur on
|
/* Understand Dwarf2 support for vector types (like they occur on
|
||||||
the PowerPC w/ AltiVec). Gcc just adds another attribute to the
|
the PowerPC w/ AltiVec). Gcc just adds another attribute to the
|
||||||
@@ -5410,12 +5741,14 @@ read_set_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5410,12 +5744,14 @@ read_set_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
return set_die_type (die, set_type, cu);
|
return set_die_type (die, set_type, cu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6238,7 +6241,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
CORE_ADDR base = (CORE_ADDR) 0;
|
CORE_ADDR base = (CORE_ADDR) 0;
|
||||||
@@ -5425,25 +5758,55 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5425,25 +5761,55 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
{
|
{
|
||||||
/* Support the .debug_loc offsets */
|
/* Support the .debug_loc offsets */
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
@ -6301,7 +6304,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu);
|
attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
{
|
{
|
||||||
@@ -5461,8 +5824,25 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5461,8 +5827,25 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset;
|
SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset;
|
||||||
add_symbol_to_list (sym, &global_symbols);
|
add_symbol_to_list (sym, &global_symbols);
|
||||||
}
|
}
|
||||||
@ -6327,7 +6330,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5530,7 +5910,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5530,7 +5913,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
if (is_anonymous)
|
if (is_anonymous)
|
||||||
{
|
{
|
||||||
const char *previous_prefix = determine_prefix (die, cu);
|
const char *previous_prefix = determine_prefix (die, cu);
|
||||||
@ -6336,7 +6339,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5546,20 +5926,155 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5546,20 +5929,155 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6376,18 +6379,18 @@ index 4cce36b..c2f5f23 100644
|
|||||||
+
|
+
|
||||||
+ if (die_is_declaration (die, cu))
|
+ if (die_is_declaration (die, cu))
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
|
+
|
||||||
- /* FIXME: Support the separate Fortran module namespaces. */
|
|
||||||
+ module_name = dwarf2_name (die, cu);
|
+ module_name = dwarf2_name (die, cu);
|
||||||
+ if (!module_name)
|
+ if (!module_name)
|
||||||
+ complaint (&symfile_complaints, _("DW_TAG_module has no name, offset 0x%x"),
|
+ complaint (&symfile_complaints, _("DW_TAG_module has no name, offset 0x%x"),
|
||||||
+ die->offset);
|
+ die->offset);
|
||||||
+ type = init_type (TYPE_CODE_MODULE, 0, 0, module_name, objfile);
|
+ type = init_type (TYPE_CODE_MODULE, 0, 0, module_name, objfile);
|
||||||
|
+
|
||||||
+ /* Create a context for reading the module variables. */
|
+ /* Create a context for reading the module variables. */
|
||||||
+
|
|
||||||
|
- /* FIXME: Support the separate Fortran module namespaces. */
|
||||||
+ new = push_context (0, 0);
|
+ new = push_context (0, 0);
|
||||||
+
|
|
||||||
+ save_file_symbols = file_symbols;
|
+ save_file_symbols = file_symbols;
|
||||||
+ file_symbols = NULL;
|
+ file_symbols = NULL;
|
||||||
+ save_global_symbols = global_symbols;
|
+ save_global_symbols = global_symbols;
|
||||||
@ -6495,7 +6498,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Return the name of the namespace represented by DIE. Set
|
/* Return the name of the namespace represented by DIE. Set
|
||||||
@@ -5724,29 +6239,113 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5724,29 +6242,113 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||||
struct type *type, *range_type, *index_type, *char_type;
|
struct type *type, *range_type, *index_type, *char_type;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -6623,7 +6626,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
||||||
type = create_string_type (NULL, char_type, range_type);
|
type = create_string_type (NULL, char_type, range_type);
|
||||||
|
|
||||||
@@ -5841,7 +6440,6 @@ static struct type *
|
@@ -5841,7 +6443,6 @@ static struct type *
|
||||||
read_typedef (struct die_info *die, struct dwarf2_cu *cu)
|
read_typedef (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
{
|
{
|
||||||
struct objfile *objfile = cu->objfile;
|
struct objfile *objfile = cu->objfile;
|
||||||
@ -6631,7 +6634,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
const char *name = NULL;
|
const char *name = NULL;
|
||||||
struct type *this_type;
|
struct type *this_type;
|
||||||
|
|
||||||
@@ -5949,8 +6547,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5949,8 +6550,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct type *base_type;
|
struct type *base_type;
|
||||||
struct type *range_type;
|
struct type *range_type;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -6641,7 +6644,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
base_type = die_type (die, cu);
|
base_type = die_type (die, cu);
|
||||||
@@ -5963,42 +6560,89 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -5963,42 +6563,89 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
0, NULL, cu->objfile);
|
0, NULL, cu->objfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6760,7 +6763,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
name = dwarf2_name (die, cu);
|
name = dwarf2_name (die, cu);
|
||||||
if (name)
|
if (name)
|
||||||
@@ -6469,6 +7113,7 @@ load_partial_dies (bfd *abfd, gdb_byte *buffer, gdb_byte *info_ptr,
|
@@ -6469,6 +7116,7 @@ load_partial_dies (bfd *abfd, gdb_byte *buffer, gdb_byte *info_ptr,
|
||||||
&& abbrev->tag != DW_TAG_lexical_block
|
&& abbrev->tag != DW_TAG_lexical_block
|
||||||
&& abbrev->tag != DW_TAG_variable
|
&& abbrev->tag != DW_TAG_variable
|
||||||
&& abbrev->tag != DW_TAG_namespace
|
&& abbrev->tag != DW_TAG_namespace
|
||||||
@ -6768,7 +6771,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
&& abbrev->tag != DW_TAG_member)
|
&& abbrev->tag != DW_TAG_member)
|
||||||
{
|
{
|
||||||
/* Otherwise we skip to the next sibling, if any. */
|
/* Otherwise we skip to the next sibling, if any. */
|
||||||
@@ -6689,9 +7334,6 @@ read_partial_die (struct partial_die_info *part_die,
|
@@ -6689,9 +7337,6 @@ read_partial_die (struct partial_die_info *part_die,
|
||||||
if (part_die->dirname == NULL)
|
if (part_die->dirname == NULL)
|
||||||
part_die->dirname = DW_STRING (&attr);
|
part_die->dirname = DW_STRING (&attr);
|
||||||
break;
|
break;
|
||||||
@ -6778,7 +6781,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
case DW_AT_low_pc:
|
case DW_AT_low_pc:
|
||||||
has_low_pc_attr = 1;
|
has_low_pc_attr = 1;
|
||||||
part_die->lowpc = DW_ADDR (&attr);
|
part_die->lowpc = DW_ADDR (&attr);
|
||||||
@@ -6923,7 +7565,8 @@ fixup_partial_die (struct partial_die_info *part_die,
|
@@ -6923,7 +7568,8 @@ fixup_partial_die (struct partial_die_info *part_die,
|
||||||
/* If we found a reference attribute and the DIE has no name, try
|
/* If we found a reference attribute and the DIE has no name, try
|
||||||
to find a name in the referred to DIE. */
|
to find a name in the referred to DIE. */
|
||||||
|
|
||||||
@ -6788,7 +6791,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
{
|
{
|
||||||
struct partial_die_info *spec_die;
|
struct partial_die_info *spec_die;
|
||||||
|
|
||||||
@@ -8265,10 +8908,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
|
@@ -8265,10 +8911,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
|
||||||
(i.e. when the value of a register or memory location is
|
(i.e. when the value of a register or memory location is
|
||||||
referenced, or a thread-local block, etc.). Then again, it might
|
referenced, or a thread-local block, etc.). Then again, it might
|
||||||
not be worthwhile. I'm assuming that it isn't unless performance
|
not be worthwhile. I'm assuming that it isn't unless performance
|
||||||
@ -6803,7 +6806,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Given a pointer to a DWARF information entry, figure out if we need
|
/* Given a pointer to a DWARF information entry, figure out if we need
|
||||||
@@ -8290,21 +8935,30 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -8290,21 +8938,30 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
||||||
|
|
||||||
@ -6841,7 +6844,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
/* Default assumptions.
|
/* Default assumptions.
|
||||||
Use the passed type or decode it from the die. */
|
Use the passed type or decode it from the die. */
|
||||||
@@ -8402,9 +9056,28 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -8402,9 +9059,28 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
if (attr)
|
if (attr)
|
||||||
{
|
{
|
||||||
var_decode_location (attr, sym, cu);
|
var_decode_location (attr, sym, cu);
|
||||||
@ -6871,7 +6874,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
else
|
else
|
||||||
add_symbol_to_list (sym, cu->list_in_scope);
|
add_symbol_to_list (sym, cu->list_in_scope);
|
||||||
}
|
}
|
||||||
@@ -8534,7 +9207,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -8534,7 +9210,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
add_symbol_to_list (sym, cu->list_in_scope);
|
add_symbol_to_list (sym, cu->list_in_scope);
|
||||||
break;
|
break;
|
||||||
case DW_TAG_enumerator:
|
case DW_TAG_enumerator:
|
||||||
@ -6880,7 +6883,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
attr = dwarf2_attr (die, DW_AT_const_value, cu);
|
attr = dwarf2_attr (die, DW_AT_const_value, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
{
|
{
|
||||||
@@ -8558,6 +9231,16 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -8558,6 +9234,16 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
SYMBOL_CLASS (sym) = LOC_TYPEDEF;
|
SYMBOL_CLASS (sym) = LOC_TYPEDEF;
|
||||||
add_symbol_to_list (sym, &global_symbols);
|
add_symbol_to_list (sym, &global_symbols);
|
||||||
break;
|
break;
|
||||||
@ -6897,7 +6900,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
default:
|
default:
|
||||||
/* Not a tag we recognize. Hopefully we aren't processing
|
/* Not a tag we recognize. Hopefully we aren't processing
|
||||||
trash data, but since we must specifically ignore things
|
trash data, but since we must specifically ignore things
|
||||||
@@ -8571,8 +9254,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -8571,8 +9257,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
/* For the benefit of old versions of GCC, check for anonymous
|
/* For the benefit of old versions of GCC, check for anonymous
|
||||||
namespaces based on the demangled name. */
|
namespaces based on the demangled name. */
|
||||||
if (!processing_has_namespace_info
|
if (!processing_has_namespace_info
|
||||||
@ -6907,7 +6910,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
cp_scan_for_anonymous_namespaces (sym);
|
cp_scan_for_anonymous_namespaces (sym);
|
||||||
}
|
}
|
||||||
return (sym);
|
return (sym);
|
||||||
@@ -8823,12 +9505,18 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -8823,12 +9508,18 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
case DW_TAG_namespace:
|
case DW_TAG_namespace:
|
||||||
this_type = read_namespace_type (die, cu);
|
this_type = read_namespace_type (die, cu);
|
||||||
break;
|
break;
|
||||||
@ -6926,7 +6929,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
return this_type;
|
return this_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8910,10 +9598,100 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -8910,10 +9601,100 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
So it does not need a prefix. */
|
So it does not need a prefix. */
|
||||||
return "";
|
return "";
|
||||||
default:
|
default:
|
||||||
@ -7028,7 +7031,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
/* Return a newly-allocated string formed by concatenating PREFIX and
|
/* Return a newly-allocated string formed by concatenating PREFIX and
|
||||||
SUFFIX with appropriate separator. If PREFIX or SUFFIX is NULL or empty, then
|
SUFFIX with appropriate separator. If PREFIX or SUFFIX is NULL or empty, then
|
||||||
simply copy the SUFFIX or PREFIX, respectively. If OBS is non-null,
|
simply copy the SUFFIX or PREFIX, respectively. If OBS is non-null,
|
||||||
@@ -8963,17 +9741,111 @@ sibling_die (struct die_info *die)
|
@@ -8963,17 +9744,111 @@ sibling_die (struct die_info *die)
|
||||||
return die->sibling;
|
return die->sibling;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7146,7 +7149,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Get name of a die, return NULL if not found. */
|
/* Get name of a die, return NULL if not found. */
|
||||||
@@ -10200,11 +11072,11 @@ dwarf2_get_ref_die_offset (struct attribute *attr)
|
@@ -10200,11 +11075,11 @@ dwarf2_get_ref_die_offset (struct attribute *attr)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7161,7 +7164,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
{
|
{
|
||||||
if (attr->form == DW_FORM_sdata)
|
if (attr->form == DW_FORM_sdata)
|
||||||
return DW_SND (attr);
|
return DW_SND (attr);
|
||||||
@@ -11009,8 +11881,6 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
@@ -11009,8 +11884,6 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
||||||
{
|
{
|
||||||
gdb_byte *mac_ptr, *mac_end;
|
gdb_byte *mac_ptr, *mac_end;
|
||||||
struct macro_source_file *current_file = 0;
|
struct macro_source_file *current_file = 0;
|
||||||
@ -7170,7 +7173,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
if (dwarf2_per_objfile->macinfo.buffer == NULL)
|
if (dwarf2_per_objfile->macinfo.buffer == NULL)
|
||||||
{
|
{
|
||||||
@@ -11018,29 +11888,19 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
@@ -11018,29 +11891,19 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7205,7 +7208,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
macinfo_type = read_1_byte (abfd, mac_ptr);
|
macinfo_type = read_1_byte (abfd, mac_ptr);
|
||||||
@@ -11051,92 +11911,7 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
@@ -11051,92 +11914,7 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
||||||
/* A zero macinfo type indicates the end of the macro
|
/* A zero macinfo type indicates the end of the macro
|
||||||
information. */
|
information. */
|
||||||
case 0:
|
case 0:
|
||||||
@ -7299,7 +7302,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
|
|
||||||
case DW_MACINFO_define:
|
case DW_MACINFO_define:
|
||||||
case DW_MACINFO_undef:
|
case DW_MACINFO_undef:
|
||||||
@@ -11151,31 +11926,19 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
@@ -11151,31 +11929,19 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
||||||
mac_ptr += bytes_read;
|
mac_ptr += bytes_read;
|
||||||
|
|
||||||
if (! current_file)
|
if (! current_file)
|
||||||
@ -7342,7 +7345,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -11189,22 +11952,9 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
@@ -11189,22 +11955,9 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
||||||
file = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read);
|
file = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read);
|
||||||
mac_ptr += bytes_read;
|
mac_ptr += bytes_read;
|
||||||
|
|
||||||
@ -7368,7 +7371,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -11258,7 +12008,7 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
@@ -11258,7 +12011,7 @@ dwarf_decode_macros (struct line_header *lh, unsigned int offset,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -7377,7 +7380,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Check if the attribute's form is a DW_FORM_block*
|
/* Check if the attribute's form is a DW_FORM_block*
|
||||||
@@ -11318,6 +12068,34 @@ attr_form_is_constant (struct attribute *attr)
|
@@ -11318,6 +12071,34 @@ attr_form_is_constant (struct attribute *attr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7412,7 +7415,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
static void
|
static void
|
||||||
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
|
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
|
||||||
struct dwarf2_cu *cu)
|
struct dwarf2_cu *cu)
|
||||||
@@ -11347,35 +12125,25 @@ dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
|
@@ -11347,35 +12128,25 @@ dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
|
||||||
SYMBOL_COMPUTED_OPS (sym) = &dwarf2_loclist_funcs;
|
SYMBOL_COMPUTED_OPS (sym) = &dwarf2_loclist_funcs;
|
||||||
SYMBOL_LOCATION_BATON (sym) = baton;
|
SYMBOL_LOCATION_BATON (sym) = baton;
|
||||||
}
|
}
|
||||||
@ -7463,7 +7466,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11663,6 +12431,31 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
|
@@ -11663,6 +12434,31 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
|
||||||
return ofs_lhs->offset == ofs_rhs->offset;
|
return ofs_lhs->offset == ofs_rhs->offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7495,7 +7498,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
/* Set the type associated with DIE to TYPE. Save it in CU's hash
|
/* Set the type associated with DIE to TYPE. Save it in CU's hash
|
||||||
table if necessary. For convenience, return TYPE. */
|
table if necessary. For convenience, return TYPE. */
|
||||||
|
|
||||||
@@ -11671,6 +12464,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -11671,6 +12467,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
{
|
{
|
||||||
struct dwarf2_offset_and_type **slot, ofs;
|
struct dwarf2_offset_and_type **slot, ofs;
|
||||||
|
|
||||||
@ -7504,7 +7507,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
if (cu->type_hash == NULL)
|
if (cu->type_hash == NULL)
|
||||||
{
|
{
|
||||||
gdb_assert (cu->per_cu != NULL);
|
gdb_assert (cu->per_cu != NULL);
|
||||||
@@ -11813,23 +12608,13 @@ show_dwarf2_cmd (char *args, int from_tty)
|
@@ -11813,23 +12611,13 @@ show_dwarf2_cmd (char *args, int from_tty)
|
||||||
cmd_show_list (show_dwarf2_cmdlist, from_tty, "");
|
cmd_show_list (show_dwarf2_cmdlist, from_tty, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7532,7 +7535,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* munmap debug sections for OBJFILE, if necessary. */
|
/* munmap debug sections for OBJFILE, if necessary. */
|
||||||
@@ -11838,15 +12623,15 @@ static void
|
@@ -11838,15 +12626,15 @@ static void
|
||||||
dwarf2_per_objfile_free (struct objfile *objfile, void *d)
|
dwarf2_per_objfile_free (struct objfile *objfile, void *d)
|
||||||
{
|
{
|
||||||
struct dwarf2_per_objfile *data = d;
|
struct dwarf2_per_objfile *data = d;
|
||||||
@ -7557,7 +7560,7 @@ index 4cce36b..c2f5f23 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _initialize_dwarf2_read (void);
|
void _initialize_dwarf2_read (void);
|
||||||
@@ -11854,6 +12639,7 @@ void _initialize_dwarf2_read (void);
|
@@ -11854,6 +12642,7 @@ void _initialize_dwarf2_read (void);
|
||||||
void
|
void
|
||||||
_initialize_dwarf2_read (void)
|
_initialize_dwarf2_read (void)
|
||||||
{
|
{
|
||||||
|
17
gdb.spec
17
gdb.spec
@ -14,7 +14,7 @@ Version: 7.0
|
|||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
Release: 4%{?_with_upstream:.upstream}%{?dist}
|
Release: 5%{?_with_upstream:.upstream}%{?dist}
|
||||||
|
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -56,7 +56,7 @@ Source3: gdb-gstack.man
|
|||||||
|
|
||||||
# libstdc++ pretty printers from GCC SVN HEAD (4.5 experimental).
|
# libstdc++ pretty printers from GCC SVN HEAD (4.5 experimental).
|
||||||
%define libstdcxxpython libstdc++-v3-python-r151798
|
%define libstdcxxpython libstdc++-v3-python-r151798
|
||||||
Source4: %{libstdcxxpython}.tar.xz
|
Source4: %{libstdcxxpython}.tar.bz2
|
||||||
|
|
||||||
# Work around out-of-date dejagnu that does not have KFAIL
|
# Work around out-of-date dejagnu that does not have KFAIL
|
||||||
Patch1: gdb-6.3-rh-dummykfail-20041202.patch
|
Patch1: gdb-6.3-rh-dummykfail-20041202.patch
|
||||||
@ -449,7 +449,7 @@ This package provides a program that allows you to run GDB on a different machin
|
|||||||
%setup -q -n %{gdb_src}
|
%setup -q -n %{gdb_src}
|
||||||
|
|
||||||
# libstdc++ pretty printers.
|
# libstdc++ pretty printers.
|
||||||
xz -dc %{SOURCE4} | tar xf -
|
tar xjf %{SOURCE4}
|
||||||
|
|
||||||
# Files have `# <number> <file>' statements breaking VPATH / find-debuginfo.sh .
|
# Files have `# <number> <file>' statements breaking VPATH / find-debuginfo.sh .
|
||||||
rm -f gdb/ada-exp.c gdb/ada-lex.c gdb/c-exp.c gdb/cp-name-parser.c gdb/f-exp.c
|
rm -f gdb/ada-exp.c gdb/ada-lex.c gdb/c-exp.c gdb/cp-name-parser.c gdb/f-exp.c
|
||||||
@ -642,7 +642,14 @@ CFLAGS="$CFLAGS -O0 -ggdb2"
|
|||||||
%else
|
%else
|
||||||
--without-python \
|
--without-python \
|
||||||
%endif
|
%endif
|
||||||
|
$(: Workaround rpm.org#76, BZ 508193 on recent OSes. ) \
|
||||||
|
$(: RHEL-5 was the last not providing %{dist}. ) \
|
||||||
|
$(: RHEL-5 librpm has incompatible API. ) \
|
||||||
|
%if 0%{!?dist:1}
|
||||||
|
--without-rpm \
|
||||||
|
%else
|
||||||
--with-rpm=librpm.so.0 \
|
--with-rpm=librpm.so.0 \
|
||||||
|
%endif
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-libunwind \
|
--with-libunwind \
|
||||||
%else
|
%else
|
||||||
@ -865,6 +872,10 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 23 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.0-5
|
||||||
|
- Make the package buildable on RHEL-5/CentOS-5 (without librpm there).
|
||||||
|
- archer-jankratochvil-fedora12 commit: 5b73ea6a0f74e63db3b504792fc1d37f548bdf5c
|
||||||
|
|
||||||
* Fri Oct 23 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.0-4
|
* Fri Oct 23 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.0-4
|
||||||
- Fix rpm --excludedocs (BZ 515998).
|
- Fix rpm --excludedocs (BZ 515998).
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user