#include "gdb-stabs.h"
#include "complaints.h"
#include "demangle.h"
+#include "psympriv.h"
extern void _initialize_elfread (void);
int copy_names)
{
struct gdbarch *gdbarch = get_objfile_arch (objfile);
- long storage_needed;
asymbol *sym;
long i;
CORE_ADDR symaddr;
/* Named Local variable in a Data section.
Check its name for stabs-in-elf. */
int special_local_sect;
+
if (strcmp ("Bbss.bss", sym->name) == 0)
special_local_sect = SECT_OFF_BSS (objfile);
else if (strcmp ("Ddata.data", sym->name) == 0)
else
retval = 1;
- if (!bfd_close (abfd))
- warning (_("cannot close \"%s\": %s"), filename,
- bfd_errmsg (bfd_get_error ()));
+ gdb_bfd_close_or_warn (abfd);
xfree (found);
static char *
find_separate_debug_file_by_buildid (struct objfile *objfile)
{
- asection *sect;
- char *basename, *name_copy, *debugdir;
- char *dir = NULL;
- char *debugfile = NULL;
- char *canon_name = NULL;
- bfd_size_type debuglink_size;
- unsigned long crc32;
- int i;
struct build_id *build_id;
build_id = build_id_bfd_get (objfile->obfd);
bfd *abfd = objfile->obfd;
struct elfinfo ei;
struct cleanup *back_to;
- CORE_ADDR offset;
long symcount = 0, dynsymcount = 0, synthcount, storage_needed;
asymbol **symbol_table = NULL, **dyn_symbol_table = NULL;
asymbol *synthsyms;
dwarf2_build_psymtabs (objfile);
}
- /* FIXME: kettenis/20030504: This still needs to be integrated with
- dwarf2read.c in a better way. */
- dwarf2_build_frame_info (objfile);
-
/* If the file has its own symbol tables it has no separate debug info.
`.dynsym'/`.symtab' go to MSYMBOLS, `.debug_info' goes to SYMTABS/PSYMTABS.
`.gnu_debuglink' may no longer be present with `.note.gnu.build-id'. */
if (debugfile)
{
bfd *abfd = symfile_bfd_open (debugfile);
+
symbol_file_add_separate (abfd, symfile_flags, objfile);
xfree (debugfile);
}
elf_symfile_segments, /* sym_segments: Get segment information from
a file. */
NULL, /* sym_read_linetable */
+ default_symfile_relocate, /* sym_relocate: Relocate a debug section. */
+ &psym_functions,
NULL /* next: pointer to next struct sym_fns */
};