bfd/
[deliverable/binutils-gdb.git] / bfd / elfcode.h
index 7ab97bfce96e8444674ac0b7c511fb94f830e288..0e22c33c47ab9a16f56a2c7c4352265e78fb30c1 100644 (file)
@@ -1026,7 +1026,7 @@ elf_slurp_symbol_table (bfd *abfd, asymbol **symptrs, bfd_boolean dynamic)
          || (elf_tdata (abfd)->dynverref_section != 0
              && elf_tdata (abfd)->verref == NULL))
        {
-         if (! _bfd_elf_slurp_version_tables (abfd))
+         if (!_bfd_elf_slurp_version_tables (abfd, FALSE))
            return -1;
        }
     }
@@ -1086,9 +1086,7 @@ elf_slurp_symbol_table (bfd *abfd, asymbol **symptrs, bfd_boolean dynamic)
          memcpy (&sym->internal_elf_sym, isym, sizeof (Elf_Internal_Sym));
          sym->symbol.the_bfd = abfd;
 
-         sym->symbol.name = bfd_elf_string_from_elf_section (abfd,
-                                                             hdr->sh_link,
-                                                             isym->st_name);
+         sym->symbol.name = bfd_elf_sym_name (abfd, hdr, isym);
 
          sym->symbol.value = isym->st_value;
 
@@ -1158,6 +1156,9 @@ elf_slurp_symbol_table (bfd *abfd, asymbol **symptrs, bfd_boolean dynamic)
            case STT_OBJECT:
              sym->symbol.flags |= BSF_OBJECT;
              break;
+           case STT_TLS:
+             sym->symbol.flags |= BSF_THREAD_LOCAL;
+             break;
            }
 
          if (dynamic)
@@ -1214,7 +1215,7 @@ error_return:
   return -1;
 }
 
-/* Read  relocations for ASECT from REL_HDR.  There are RELOC_COUNT of
+/* Read relocations for ASECT from REL_HDR.  There are RELOC_COUNT of
    them.  */
 
 static bfd_boolean
@@ -1290,11 +1291,7 @@ elf_slurp_reloc_table_from_section (bfd *abfd,
          ps = symbols + ELF_R_SYM (rela.r_info) - 1;
          s = *ps;
 
-         /* Canonicalize ELF section symbols.  FIXME: Why?  */
-         if ((s->flags & BSF_SECTION_SYM) == 0)
-           relent->sym_ptr_ptr = ps;
-         else
-           relent->sym_ptr_ptr = s->section->symbol_ptr_ptr;
+         relent->sym_ptr_ptr = ps;
        }
 
       relent->addend = rela.r_addend;
This page took 0.024048 seconds and 4 git commands to generate.