[vlc-devel] [PATCH] Make cached module configuration on 64 bits work again

Mario Speiß 1034-135 at online.de
Thu Jan 24 10:17:14 CET 2013


On 24.01.2013 09:24, Rémi Denis-Courmont wrote:
> Le jeudi 24 janvier 2013 09:19:28, Mario Speiß a écrit :
>> This patch resolves the problems I encountered after applying the patch
>> for src/modules/cache.c with the 64 bit version of vlc.
>
> The union is 32-bits on x86-64. On a typical 64-bits architecture, the
> compiler will add 32-bits of padding to the outer structure so that the
> pointers are aligned on their natural boundary. But that has no consequences
> on the union or the inner structure.
>
> There may be a portability issue but definitely not on x86-64 and the patch is
> definitely wrong anyway.
>
You may be right for the linux or other distributions, but the windows 
64 bit (the nightlies) *do* show the issues i described - since my patch 
of src/modules/cache.c. You can try yourself. The plugins.dat will 
contain only 32 bits of the flags of the module configuration which *do 
not* contain the booleans or at least not all of them.

With this patch this issue is resolved - you should at least #ifdef it 
for _WIN64 if you do not want it for other 64 bit compilations.

Maybe this is mingw-specific but vlc for win64 does not work with the 
plugins.dat correctly without this patch, even with your own nightlies.

Regards,
Mario



More information about the vlc-devel mailing list