On Mon, Jun 02, 2008 at 04:41:17PM +0200, Reini Urban wrote:
> I thought I'll improve the rebase logic by adding some fixed base
> addresses and space to certain apps
> (bash, perl, python, rest) to be able to properly rebase the culprit
> packages in advance.
I'm not sure how I feel about the abo
Dave Korn wrote:
> Only unsigned char *, isn't it?
Any kind of char *. The standard says simply "a character type" (6.5
#7), and it also says that any signed or unsigned variant of the
effective type may also alias that type.
> Looking at the mask value, it has ten bits set. Hence 1024 pos
Brian Dessent wrote on 02 June 2008 19:43:
> Dave Korn wrote:
>
>> Regardless of how well (or poorly) the
>> hash function distributes DLLS into the various buckets, there are only
>> 1024 of them, and we have many DLLs, many of which will occupy multiple
>> buckets; collisions are inevitable.
>
Brian Dessent wrote on 02 June 2008 19:49:
> again because the above violates the C aliasing rules. Making relocp a
> char * should be the right solution because char * can alias everything,
Only unsigned char *, isn't it?
cheers,
DaveK
--
Can't think of a witty .sigline today
Reini Urban wrote:
> Got it:
> - for (; (char *)&relocp->SizeOfBlock < (char *)relocs + size &&
> relocp->SizeOfBlock != 0; ((char *)relocp) += relocp->SizeOfBlock)
> + for (; (char *)&relocp->SizeOfBlock < *(char**)relocs + size &&
> relocp->SizeOfBlock != 0; (*(char**)relocp) += relocp->SizeOf
Dave Korn wrote:
> Regardless of how well (or poorly) the
> hash function distributes DLLS into the various buckets, there are only 1024
> of them, and we have many DLLs, many of which will occupy multiple buckets;
> collisions are inevitable.
First of all, I don't see where this 1024 comes from.
Reini Urban schrieb:
Brian Dessent schrieb:
Reini Urban wrote:
I thought I'll improve the rebase logic by adding some fixed base
addresses and space to certain apps
(bash, perl, python, rest) to be able to properly rebase the culprit
packages in advance.
I wanted to start with
/usr/bin/bash.
Brian Dessent wrote on 02 June 2008 18:33:
> Dave Korn wrote:
>
>> There are only 1024 possible image bases to choose from, and any DLL >=
>> 256kB in size will span several of them. Collisions are an
>> inevitability, no? I think we'll probably still have a need for rebase
>> until the whol
Dave Korn wrote:
> There are only 1024 possible image bases to choose from, and any DLL >=
> 256kB in size will span several of them. Collisions are an inevitability,
> no? I think we'll probably still have a need for rebase until the whole
> world goes 64bit and we've got room for a few more
Reini Urban wrote:
> I know.
Well then why didn't you say that so that I wouldn't have to waste my
time explaining.
> I wanted to hear some magic g++ --allow-non-ansi switch (-std=c89 or
> such for C++) or some INT2PTR macro.
The C++ parser was completely rewritten in gcc 3.4. This is one of t
Brian Dessent wrote on 02 June 2008 16:29:
> Is this really a good direction to move in? The long term plan, as I
> understood it, was to simply build everything with
> --enable-auto-image-base and avoid forever the problem of having to
> manually rebase ever.
--enable-auto-image-base isn't
On Mon, Jun 02, 2008 at 07:03:18PM +0200, Reini Urban wrote:
> Brian Dessent schrieb:
>> Reini Urban wrote:
>>> I thought I'll improve the rebase logic by adding some fixed base
>>> addresses and space to certain apps
>>> (bash, perl, python, rest) to be able to properly rebase the culprit
>>> pack
Brian Dessent schrieb:
Reini Urban wrote:
I thought I'll improve the rebase logic by adding some fixed base
addresses and space to certain apps
(bash, perl, python, rest) to be able to properly rebase the culprit
packages in advance.
I wanted to start with
/usr/bin/bash.exe
/usr/bin/cygintl
Reini Urban wrote:
> I thought I'll improve the rebase logic by adding some fixed base
> addresses and space to certain apps
> (bash, perl, python, rest) to be able to properly rebase the culprit
> packages in advance.
>
> I wanted to start with
> /usr/bin/bash.exe
> /usr/bin/cygintl-8.dll
>
I thought I'll improve the rebase logic by adding some fixed base
addresses and space to certain apps
(bash, perl, python, rest) to be able to properly rebase the culprit
packages in advance.
I wanted to start with
/usr/bin/bash.exe
/usr/bin/cygintl-8.dll
/usr/bin/cygiconv-2.dll
/usr/bin/c
15 matches
Mail list logo