[ITA] _autorebase
Achim Gratz
Stromeko@nexgo.de
Mon Dec 15 17:20:00 GMT 2014
Corinna Vinschen writes:
> The change is required. The base address 0x4:00000000 is a convention
> which has been introduced to get reliable memory layout on x86_64. All
> of Cygwin's memory allocations, be it thread stack, executable and DLL
> base addresses, heap address, or mmap's with NULL addresses, are chosen
> so as not to collide with memory allocations chosen by the OS. The OS
> utilizes the lower 2GB 32 bit address space and the upper 0xff0:00000000
> address space pretty much exclusively, and leaves everything in between
> for the application. Thus we developed the following convention, which
> should be followed by every tool in the distro:
>
> 0x000:00000000 - 0x000:7fffffff Reserved for OS
> 0x000:80000000 - 0x000:ffffffff POSIX threads
> 0x001:00000000 - 0x001:7fffffff Process image
> 0x001:80000000 - 0x001:ffffffff Cygwin DLL w/ all shared data
> 0x002:00000000 - 0x003:ffffffff 8 Gigs for rebased DLLs
> 0x004:00000000 - 0x005:ffffffff 8 Gigs for non-rebased DLLs
> 0x006:00000000 - 0x6ff:ffffffff Heap bottom-up, mmaps top-down
> 0x700:00000000 - 0x7ff:ffffffff Reserved for OS
>
> This was discussed and documented multiple times during the development
> of the 64 bit version. Please let's stick to that.
I've missed it at the time or didn't remember any of it. In any case
it's implemented exactly like that in rebaselst anyway.
>> I'll have to see if I can dig out my notes from that time, but I think
>> it was both the ASLR and the TSAware flag that were creating problems
>> with some libraries
>
> TS aware? To the contrary. Don't remove it!
We're not talking about executables here, see my other reply.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
More information about the Cygwin-apps
mailing list