On 24.02.2011 08:53, Marc Haesen wrote:
> I saw a crash when running svn blame with a svn.exe compiled for win64
> on trunk.
>
> After some investigation I found the reason for the crash.
>
>
> The reason is because apr.h is using the define WIN64 for defining the
> APR_SIZEOF_VOIDP define.
>
> (I am using the apr.h/apr.hw delivered with httpd-2.2.17)
Thanks for digging into that issue!
> WIN64 is currently not defined when compiling for 64-bit on windows.
Luckily, TSVN is not affected by this bug as it
uses its own build script including the WIN64
define.
However, SVN cl clients and possibly *servers*
are affected.
> This caused the wrong code to be generated for the contains_eol function
> in subversion\libsvn_diff\diff_file.c (revision 1074059)
>
> Two solutions:
>
> 1. Replace #ifdef WIN64 by #ifdef _WIN64 in apr.h (or apr.hw since
> this is actually the source)
Submit the patch to the APR guys (if you haven't
done so already).
> 2. Add the WIN64 to the compile options when compiling for 64-bit
> windows
3. Make the SVN code work with either definition
of APR_SIZEOF_VOIDP.
I took that road in r1076556 on /trunk to make sure
that SVN will not be broken regardless of the APR
version being used.
-- Stefan^2.
Received on 2011-03-03 09:55:33 CET