First, I used the strip utility from the latest mingw candidate build: $ strip -V GNU strip 2.15.94 20050118 Copyright 2004 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty.
This bug can be reproduced as follows: Take any executable "foo.exe", and do the following (editbin and dumpbin are part of Microsoft Visual Studio): strip foo.exe editbin /LARGEADDRESSAWARE foo.exe dumpbin /headers foo.exe strip foo.exe dumpbin /headers foo.exe The result from the first "dumpbin" is something like: Microsoft (R) COFF/PE Dumper Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. ... FILE HEADER VALUES 14C machine (x86) 5 number of sections 42089C30 time date stamp Tue Feb 08 12:02:08 2005 0 file pointer to symbol table 0 number of symbols E0 size of optional header 32F characteristics Relocations stripped Executable Line numbers stripped Symbols stripped Application can handle large (>2GB) addresses 32 bit word machine Debug information stripped ... The result of the second "dumpbin" is something like: Microsoft (R) COFF/PE Dumper Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. ... FILE HEADER VALUES 14C machine (x86) 5 number of sections 42089CD0 time date stamp Tue Feb 08 12:04:48 2005 0 file pointer to symbol table 0 number of symbols E0 size of optional header 30F characteristics Relocations stripped Executable Line numbers stripped Symbols stripped 32 bit word machine Debug information stripped ... This shows that the /LARGEADDRESSAWARE flag is stripped from the executable, which shouldn't be done. The effect of this is that this executable can not address more than 2GB of (virtual) memory. Regards, Jan Nijtmans _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils