[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
strip doesn't maintain /LARGEADDRESSAWARE flag
From: |
Jan Nijtmans |
Subject: |
strip doesn't maintain /LARGEADDRESSAWARE flag |
Date: |
Fri, 11 Feb 2005 09:23:50 +0100 (CET) |
User-agent: |
SquirrelMail/1.4.3a |
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
- strip doesn't maintain /LARGEADDRESSAWARE flag,
Jan Nijtmans <=