diff options
author | Alan Modra <amodra@gmail.com> | 2014-09-27 12:24:32 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-09-27 16:18:30 +0930 |
commit | 5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df (patch) | |
tree | eeebb2e1e8b29fbdfc615db15abcc3bdbd2e8e39 /gas/subsegs.h | |
parent | 730d435b384862d2c1a8f3373206685722fbb2b3 (diff) | |
download | binutils-gdb-5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df.tar.gz |
Do away with hash table line lookup in dwarf2dbg.c
Hash lookup is silly when we can attach the line table info directly
to sections instead. Worse, hash lookup fails when we have multiple
sections with the same name.
gas/
* dwarf2dbg.c (all_segs_hash): Delete.
(get_line_subseg): Delete last_seg, last_subseg, last_line_subseg.
Retrieve line_seg for section via seg_info.
* subsegs.h (segment_info_typet): Add dwarf2_line_seg.
gas/testsuite/
* gas/elf/group2.d, * gas/elf/group2.s: New test.
* gas/elf/elf.exp: Run it.
Diffstat (limited to 'gas/subsegs.h')
-rw-r--r-- | gas/subsegs.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/subsegs.h b/gas/subsegs.h index e3ba8c7027e..8b2fd098ae1 100644 --- a/gas/subsegs.h +++ b/gas/subsegs.h @@ -90,6 +90,9 @@ typedef struct segment_info_struct { this section. sym->bsym and bfd_section->symbol should be the same. */ symbolS *sym; + /* Used by dwarf2dbg.c for this section's line table entries. */ + void *dwarf2_line_seg; + union { /* Current size of section holding stabs strings. */ unsigned long stab_string_size; |