if ((sym -> flags & (BSF_GLOBAL | BSF_WEAK))
&& (sym -> section != NULL))
{
- symaddr = sym -> value;
+ /* Bfd symbols are section relative. */
+ symaddr = sym -> value + sym -> section -> vma;
/* Relocate all non-absolute symbols by base address. */
if (sym -> section != &bfd_abs_section)
symaddr += addr;
if (sectinfo->sections[index])
complain (§ion_info_dup_complaint, sectinfo->filename);
- symaddr = sym -> value;
+ /* Bfd symbols are section relative. */
+ symaddr = sym -> value + sym -> section -> vma;
/* Relocate all non-absolute symbols by base address. */
if (sym -> section != &bfd_abs_section)
symaddr += addr;
table. */
struct elf32_internal_shdr *elf_sect;
- elf_sect = bfd_elf32_find_section (abfd, ".stabstr");
+ elf_sect = bfd_elf_find_section (abfd, ".stabstr");
if (elf_sect)
elfstab_build_psymtabs (objfile,
section_offsets,