summaryrefslogtreecommitdiff
path: root/gdb/ChangeLog.intercu
blob: f8f04129b2c72d73c5b4e5512a657e2a1acc2470 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
2004-02-22  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (struct dwarf2_cu): Add read_in_chain and per_cu.
	(dwarf2_cu_tree): New variable.
	(struct dwarf2_per_cu_data): New type.
	(struct partial_die_info): Remove abbrev.  Make tag a bitfield.  Add
	full_name_set.
	(load_partial_dies): Take a flag indicating whether we are building
	a psymtab.
	(find_partial_die_in_comp_unit): Rename frome find_partial_die.
	(find_partial_die): New function to support inter-CU references.
	Return the CU of the found DIE.
	(splay_tree_obstack_allocate): Remove #if 0.
	(partial_read_comp_unit_head): New function, broken out from
	dwarf2_build_psymtabs_hard.
	(dwarf2_build_psymtabs_hard): Remove unused variable abbrev_ptr.
	Add the current CU to the splay tree if the tree already exists.
	Update call to load_partial_dies.
	(partial_die_full_name): Rewrite to support inter-CU references.
	(add_partial_symbol): Check and set pdi->full_name_set.
	(fixup_partial_die): Support inter-CU references.
	(dwarf2_find_containing_comp_unit, clear_per_cu_pointer)
	(load_comp_unit, create_comp_unit_tree, _initialize_dwarf2_read): New
	functions.

2004-02-22  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (partial_die_full_name): Remove allocate argument,
	always use concat.
	(add_partial_symbol): Copy the name from the psymbol.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (struct partial_die_info): Add full_name.
	(scan_partial_symbols, add_partial_symbol, add_partial_structure)
	(add_partial_enumeration): Change namespace argument to
	have_namespace_info flag.  Move DW_TAG_namespace handling to
	add_partial_symbol.  Update comments.
	(pdi_needs_namespace): Remove namespace argument.  Handle
	DW_TAG_namespace.
	(partial_determine_prefix, partial_determine_prefix_aux): Remove.
	(dwarf2_build_psymtabs_hard): Update call to scan_partial_symbols.
	(partial_die_full_name): New function.
	(load_partial_die): Correct comment formatting.  Don't handle
	DW_TAG_enumeration_type.
	(load_partial_dies): Correct comment formatting.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (load_partial_dies): Check for NULL name before
	adding types.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (maybe_specification_partial_die): Removed.
	(is_type_tag_for_partial): Renamed from is_type_tag.  Remove
	some tags.
	(load_partial_dies): Call is_type_tag_for_partial.  Handle simple
	DIEs early.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (scan_partial_symbols): Don't return anything.  Take
	a DIE argument instead of an info_ptr.
	(add_partial_namespace, add_partial_structure)
	add_partial_enumeration): Likewise.
	(load_partial_dies): Return the first interesting DIE.
	Do not add DIEs to the hash table if we aren't going to look them
	up.
	(dwarf2_build_psymtabs_hard): Adjust call to scan_partial_symbols.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (peek_die_abbrev): Add prototype.
	(load_partial_die): Take an abbrev and its uleb128 length as
	arguments.
	(dwarf2_build_psymtabs_hard): Adjust call to load_partial_die.
	(load_partial_dies): Likewise.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (splay_tree_obstack_allocate): Disable.
	(add_partial_symbol): Fix a warning.
	(fixup_partial_die): Recurse if necessary.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (partial_determine_prefix)
	(partial_determine_prefix_aux): New functions.
	(add_partial_symbol): Call partial_determine_prefix.
	(add_partial_structure): Remove workaround for DW_AT_specification.
	(load_partial_die): Save DW_AT_extension.
	(determine_prefix_aux): Reuse the return value of dwarf2_name.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (load_partial_dies): Follow unions.  Follow
	aggregates for all non-C languages.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (dwarf2_build_psymtabs_hard): Estimate the initial
	size of the hash table.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (struct dwarf2_cu): Add abbrev_obstack.
	(struct abbrev_info): Shorten two int flags.
	(dwarf_alloc_abbrev): Take a CU argument.
	(dwarf2_build_psymtabs_hard): Call dwarf2_empty_abbrev_table
	each time through the loop.  Update cleanup argument.
	(psymtab_to_symtab_1): Update cleanup argument.
	(dwarf2_read_abbrevs, dwarf2_alloc_abbrev): Allocate on the
	abbrev_obstack.
	(dwarf2_empty_abbrev_table): Just call obstack_free.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in (hashtab_h): Add.
	(dwarf2read.o): Update dependencies.
	* dwarf2read.c: Include "hashtab.h".
	(struct dwarf2_cu): Change partial_dies to an htab_t.
	(hash_obstack_allocate, partial_die_hash, partial_die_eq): New
	functions.
	(dwarf2_build_psymtabs_hard): Call htab_create_alloc_ex.
	(load_partial_dies): Call htab_find_slot_with_hash.
	(find_partial_die): Call htab_find_with_hash.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (struct partial_die_info): Use bitfields and
	rearrange members for packing.  Replace spec_attr with spec_offset.
	(load_partial_dies): Only follow structures for C++.
	(load_partial_die): Use memset.  Save specification attributes
	only as offsets.
	(fixup_partial_die): Adjust to use spec_offset.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (struct dwarf2_cu): Add partial_die_obstack.
	(splay_tree_obstack_allocate, splay_tree_obstack_deallocate): New
	functions.
	(dwarf2_build_psymtabs_hard): Use splay_tree_new_with_allocator
	and obstack_free to manage partial_dies.
	(load_partial_dies): Allocate partial DIEs on the obstack.  Don't
	initialize the splay tree here.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (skip_leb128, peek_die_abbrev, skip_one_die)
	(skip_children): New functions.
	(locate_pdi_sibling): Call skip_children.
	(load_partial_dies): Use peek_die_abbrev and skip_one_die.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c (find_partial_die, fixup_partial_die): New functions,
	broken out from read_partial_die.
	(read_partial_die): Remove function.
	(dwarf2_build_psymtabs_hard): Update comments.
	(scan_partial_symbols): Use the new functions.  Reduce copying of
	partial DIEs.

2004-02-21  Daniel Jacobowitz  <drow@mvista.com>

	* dwarf2read.c: Include "splay-tree.h".
	(struct dwarf2_cu): Add splay tree for partial DIEs.
	(struct partial_die_info): Move after struct attribute.
	Add has_specification, spec_attr, die_parent, die_child,
	and die_sibling fields.
	(load_partial_dies): New function.
	(load_partial_die): New function, broken out from read_partial_die.
	Correct setting of part_die->offset.  Save any specification
	attributes for later.
	(read_partial_die): Look up DIEs in the splay tree.
	(dwarf2_build_psymtabs_hard): Initialize partial_dies.  Call
	load_partial_die to read in the compilation unit DIE.  Call
	load_partial_dies.  Free the splay tree after use.
	(scan_partial_symbols): Follow the die_sibling chain.
	(add_partial_structure): Use die_child and die_sibling instead of
	read_partial_die and locate_pdi_sibling.
	(add_partial_enumeration): Likewise.
	(locate_pdi_sibling): Use load_partial_die instead of
	read_partial_die.
	(is_type_tag): New function.

	* Makefile.in (dwarf2read.o): Update dependencies.