* peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size

for windows 64-bit TLS table size.
This commit is contained in:
Pierre Muller 2010-12-21 08:41:16 +00:00
parent 049f7d6731
commit bc2b29908f
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2010-12-21 Pierre Muller <muller@ics.u-strasbg.fr>
* peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
for windows 64-bit TLS table size.
2010-12-16 DJ Delorie <dj@redhat.com>
* reloc.c (BFD_RELOC_RX_ABS16_REV): Add.

View File

@ -2437,8 +2437,15 @@ _bfd_XXi_final_link_postscript (bfd * abfd, struct coff_final_link_info *pfinfo)
abfd);
result = FALSE;
}
/* According to PECOFF sepcifications by Microsoft version 8.2
the TLS data directory consists of 4 pointers, followed
by two 4-byte integer. This implies that the total size
is different for 32-bit and 64-bit executables. */
#if !defined(COFF_WITH_pep) && !defined(COFF_WITH_pex64)
pe_data (abfd)->pe_opthdr.DataDirectory[PE_TLS_TABLE].Size = 0x18;
#else
pe_data (abfd)->pe_opthdr.DataDirectory[PE_TLS_TABLE].Size = 0x28;
#endif
}
/* If there is a .pdata section and we have linked pdata finally, we