Re: Reproducible builds
wylda at volny.cz
wylda at volny.cz
Sun Feb 19 19:27:35 CST 2017
> Od: André Hentschel <nerv at dawncrow.de>
>>>>>> Am 2017-02-19 um 10:00 schrieb wylda at volny.cz:
>>>>>>> Anyway, there are 7 files out of 2750 which _always_ pickup some random
>>>>>>> value and use that consistently. Why are these libraries built
>>>>>>> inconsitently? Is that intentional? An example is attached.
>>>>>
>>>>> Thanks. These "random" value come from:
>>>>>
>>>>> * olepro_t.res
>>>>> * std_ole_v2_t.res
>>>>> * wuapi_tlb_t.res
>>>
>>> When i do:
>>>
>>> export WIDL_TIME_OVERRIDE="0"
>>> rm dlls/olepro32/olepro_t.res
>>> make -k dlls/olepro32
>>> md5sum -b dlls/olepro32/olepro_t.res
>>>
>>> then i always get different MD5 checksum.
>>>
>>> Marcus, could you send me your dlls/olepro32/Makefile please?
>>> What is your distro?
>>
>> I tried above for both 32bit and 64bit directories, always gives the same md5 in those.
>>
>> openSUSE Tumbleweed, with currently gcc 6.3.1+r245113, binutils-2.27, flex-2.6.1, bison-3.0.4
>>
>
>I can reproduce the bug with the instructions above
>Linux Mint 18.1, gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4), binutils 2.26.1, flex 2.6, biso 3.0.4
>the first bad value is at offset 269h
>Which is datatype2 from MSFT_TypeInfoBase
>
>So initializing datatype2 in add_typedef_typeinfo or the following patch fixes the problem for me:
>
>diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c
>index 137bb2d..7904e45 100644
>--- a/tools/widl/write_msft.c
>+++ b/tools/widl/write_msft.c
>@@ -798,6 +798,7 @@ static int encode_type(
> if (!alignment) alignment = &scratch;
> if (!decoded_size) decoded_size = &scratch;
>
>+ *decoded_size = 0;
>
> switch (vt) {
> case VT_I1:
>
Thank Stefan / Marcus / Andre. This fixed 6 files. 7th file is libdinput.a, which also has some
random stuff inside.
This was for 32bit chroot. In 64bit chroot these 6 files are also fixed now. libdinput.a differs again.
But 64bit chroot also shows 2 other files:
* /bin/wmc
* /lib64/wine/msi.dll.so
These last two differs in Build-id's SHA1 of the .note.gnu.build-id section.
Debian Stretch 9.0 Multiarch:
* gcc (Debian 6.3.0-6) 6.3.0 20170205
* binutils 2.27.90.20170124-2
* flex 2.6.1-1.3
* bison 3.0.4.dfsg-1
Regards,
W.
More information about the wine-devel
mailing list