Merge patches sent by Robert P. J. Day <rpjday@mindspring.com>.
Warning: the buildroot folks purposedly removed the skip-comment patch but didn't really said why. Keeping it for the sake of having it in svn just in case (removing it will be easier thant not having it at all).
1 2002-08-07 Jakub Jelinek <jakub@redhat.com>
3 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
4 for R_386_TLS_TPOFF32 relocs against symndx 0.
6 --- binutils/bfd/elf32-i386.c.jj 2002-07-30 16:14:55.000000000 +0200
7 +++ binutils/bfd/elf32-i386.c 2002-08-07 23:41:48.000000000 +0200
8 @@ -2561,13 +2567,17 @@ elf_i386_relocate_section (output_bfd, i
9 outrel.r_offset = (htab->sgot->output_section->vma
10 + htab->sgot->output_offset + off);
12 - bfd_put_32 (output_bfd, 0,
13 - htab->sgot->contents + off);
14 indx = h && h->dynindx != -1 ? h->dynindx : 0;
15 if (r_type == R_386_TLS_GD)
16 dr_type = R_386_TLS_DTPMOD32;
18 dr_type = R_386_TLS_TPOFF32;
19 + if (dr_type == R_386_TLS_TPOFF32 && indx == 0)
20 + bfd_put_32 (output_bfd, relocation - dtpoff_base (info),
21 + htab->sgot->contents + off);
23 + bfd_put_32 (output_bfd, 0,
24 + htab->sgot->contents + off);
25 outrel.r_info = ELF32_R_INFO (indx, dr_type);
26 loc = (Elf32_External_Rel *) htab->srelgot->contents;
27 loc += htab->srelgot->reloc_count++;