This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 64bit: cygstdc++-6.dll


On 2013-04-15 04:48, Corinna Vinschen wrote:
On 32 bit, the .xa script is used, but has no influence, apparently.
On 64 bit, the .x script is used, even with --enable-auto-import.

The reason being, on x86_64, .xa is used only if pseudo-reloc v1 is specified (the default is v2), where on ix86 it is used for all non-mingw* targets OR on mingw* with v1.

To me this means, we should not use the .xa file on 32 bit either.
It moves all .rdata data to the .data section for no good reason,
thus adding unnecessary pressure to the pagefile.

Patch attached.


Yaakov

Use the .x ldscript for pseudo-reloc v2; .xa is only for v1.

--- binutils-2.23.51-1/origsrc/binutils-/ld/emultempl/pe.em	2013-01-10 14:08:03.000000000 -0600
+++ binutils-2.23.51-1/src/binutils-/ld/emultempl/pe.em	2013-04-15 04:58:44.458607800 -0500
@@ -174,7 +174,7 @@ EOF
 case ${target} in
   *-*-cygwin*)
     default_auto_import=1
-    default_merge_rdata=1
+    default_merge_rdata=0
     ;;
   i[3-7]86-*-mingw* | x86_64-*-mingw*)
     default_auto_import=1

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]