diff options
author | Pierre Muller <muller@ics.u-strasbg.fr> | 2010-12-21 08:41:15 +0000 |
---|---|---|
committer | Pierre Muller <muller@ics.u-strasbg.fr> | 2010-12-21 08:41:15 +0000 |
commit | 64995ef9bafb6ff67fe9f2c8c6b8a8f557fbd139 (patch) | |
tree | f3dc9434b9c57f2a80666b3d7a2cddc8557a6ae9 /bfd/peXXigen.c | |
parent | 51774f2bf511346b140979c7f7a74a7ee06438bf (diff) | |
download | binutils-redhat-64995ef9bafb6ff67fe9f2c8c6b8a8f557fbd139.tar.gz |
* peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
for windows 64-bit TLS table size.
Diffstat (limited to 'bfd/peXXigen.c')
-rw-r--r-- | bfd/peXXigen.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index a5b7f68b90..825229aab9 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -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 |