summaryrefslogtreecommitdiff
path: root/gdb/ChangeLog.intercu
blob: 090af73f276825861b2f28f5cc98d5a522c50bc7 (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
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.