* elfread.c (elf_symtab_read): Do not relocate thread-local symbols.

This commit is contained in:
Ulrich Weigand 2008-08-21 22:28:00 +00:00
parent 6a94242bfd
commit 45148c2ed5
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2008-08-21 Ulrich Weigand <uweigand@de.ibm.com>
* elfread.c (elf_symtab_read): Do not relocate thread-local symbols.
2008-08-21 Daniel Jacobowitz <dan@codesourcery.com>
* xcoffread.c (SYMNAME_ALLOC): Correct syntax.

View File

@ -324,8 +324,10 @@ elf_symtab_read (struct objfile *objfile, int type,
interested in will have a section. */
/* Bfd symbols are section relative. */
symaddr = sym->value + sym->section->vma;
/* Relocate all non-absolute symbols by the section offset. */
if (sym->section != &bfd_abs_section)
/* Relocate all non-absolute and non-TLS symbols by the
section offset. */
if (sym->section != &bfd_abs_section
&& !(sym->section->flags & SEC_THREAD_LOCAL))
{
symaddr += offset;
}