+1999-06-26 David Mosberger <davidm@hpl.hp.com>
+
+ * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
+ (decode_line_info): Add variable STASH and initialize it to point
+ to the per-bfd dwarf2_debug info. Remove static variable
+ dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
+
1999-06-26 Ian Lance Taylor <ian@zembu.com>
* elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
/* Length of the loaded .debug_abbrev section. */
unsigned long dwarf_abbrev_size;
+
+ /* Buffer for decode_line_info. */
+ char *dwarf_line_buffer;
};
{
bfd *abfd = unit->abfd;
- static char* dwarf_line_buffer = 0;
+ struct dwarf2_debug *stash;
struct line_info_table* table;
bfd_vma hi_pc = 0, lo_pc = ~ (bfd_vma) 0;
#endif
- if (! dwarf_line_buffer)
+ stash = elf_tdata (abfd)->dwarf2_find_line_info;
+
+ if (! stash->dwarf_line_buffer)
{
asection *msec;
unsigned long size;
}
size = bfd_get_section_size_before_reloc (msec);
- dwarf_line_buffer = (char*) bfd_alloc (abfd, size);
+ stash->dwarf_line_buffer = (char *) bfd_alloc (abfd, size);
if (! dwarf_line_buffer)
return 0;
table->files = NULL;
table->last_line = NULL;
- line_ptr = dwarf_line_buffer + unit->line_offset;
+ line_ptr = stash->dwarf_line_buffer + unit->line_offset;
/* read in the prologue */
lh.total_length = read_4_bytes (abfd, line_ptr);