blob: d33ccedecaa52b2c5a24106ee8e032d23c82efbc (
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
|
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.
|