[Bug 20331] New: VirtualAlloc() should allocate addresses low to high
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Oct 12 02:44:55 CDT 2009
http://bugs.winehq.org/show_bug.cgi?id=20331
Summary: VirtualAlloc() should allocate addresses low to high
Product: Wine
Version: 1.1.31
Platform: PC
URL: http://rh-software.com/
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntdll
AssignedTo: wine-bugs at winehq.org
ReportedBy: ray at pobox.co.uk
Currently when VirtualAlloc() is called with a NULL address high addresses are
sometimes returned rather than low addresses. Looking at
http://msdn.microsoft.com/en-us/library/aa366887(VS.85).aspx you will see there
is the MEM_TOP_DOWN option to specify that high addresses should be used, thus
when this is not specified low addresses should be used. This is the situation
on Windows NT4 through to Server 2008 R2/Windows 7.
To show this effect download http://rh-software.com/downloads/siv.zip, extract
the files and issue the command:
wine siv -save=[memory]=stdout
which on my system gives:
[memory] [windows]
Area Start Address Limit Address Size Size Proportion
Elapsed MB/sec
0 0x02B80000 0x67F80000 0x65400000 1.58GB 54.95%
0.010
1 0x7F000000 0x7FC00000 0x00C00000 12.00MB 0.41%
0.005
2 0x7FFF0000 0x81FF0000 0x02000000 32.00MB 1.09%
0.005
3 0xB75C0000 0xB79C0000 0x00400000 4.00MB 0.14%
0.005
4 0xB6CA0000 0xB70A0000 0x00400000 4.00MB 0.14%
0.005
5 0xB6890000 0xB6C90000 0x00400000 4.00MB 0.14%
0.005
...
I think this may only show the issue for systems with >= 3.5GB of ram. I am
wondering if it might be related to addresses > 0x80000000 (signed vs. unsigned
tests). Note that SIV is linked with /largeaddressaware.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list