aboutsummaryrefslogtreecommitdiff
path: root/gas/subsegs.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-09-27 12:24:32 +0930
committerAlan Modra <amodra@gmail.com>2014-09-27 16:18:30 +0930
commit5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df (patch)
treeeeebb2e1e8b29fbdfc615db15abcc3bdbd2e8e39 /gas/subsegs.h
parent730d435b384862d2c1a8f3373206685722fbb2b3 (diff)
downloadgdb-5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df.zip
gdb-5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df.tar.gz
gdb-5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df.tar.bz2
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.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/subsegs.h b/gas/subsegs.h
index e3ba8c7..8b2fd09 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;