2016-10-14 10:10 GMT+02:00 Matthias Klose <d...@debian.org>:
> which only for libbfd and not libopcodes?

Yes, libopcodes did not cause any build failure in my testing.

>
> On 10.09.2016 22:21, Balint Reczey wrote:
>> Source: binutils
>> Version: 2.27-8
>> Severity: important
>> User: bal...@balintreczey.hu
>> Usertags: pie-bindnow-20160906
>> Justification: makes ocaml FTBFS on amd64 with extra hardening
>> Tags: patch
>> Affects: ocaml
>>
>> Dear Maintainers,
>>
>> During a rebuild of all packages in sid, ocaml failed to build on
>> amd64 with patched GCC and dpkg. The root cause seems to be that
>> libbfd.a is shipped as a non-PIC library.
>>
>> The rebuild tested if packages are ready for a transition
>> enabling PIE and bindnow for amd64.
>>
>> For more information about the changes to sid's dpkg and GCC please
>> visit:
>>  https://wiki.debian.org/Hardening/PIEByDefaultTransitio
>>
>> Relevant part of ocaml's build log:
>> ...
>> gcc -o objinfo_helper -O -fno-defer-pop -Wall -D_FILE_OFFSET_BITS=64 
>> -D_REENTRANT \
>>           objinfo_helper.c -Wl,-Bstatic -lbfd -Wl,-Bdynamic -ldl -liberty -lz
>> /usr/bin/ld: 
>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbfd.a(format.o):
>>  relocation R_X86_64_32S against symbol `binary_vec' can not be used when 
>> making a shared object; recompile with -fPIC
>> /usr/bin/ld: 
>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbfd.a(hash.o): 
>> relocation R_X86_64_32 against `.rodata' can not be used when making a 
>> shared object; recompile with -fPIC
>> /usr/bin/ld: 
>> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbfd.a(libbfd.o):
>>  relocation R_X86_64_32 against `.rodata' can not be used when making a 
>> shared object; recompile with -fPIC
>> ...
>>
>> The full build log is available from:
>> https://people.debian.org/~rbalint/build-logs/pie-bindnow-20160906/ocaml_4.02.3-7_amd64.build.gz
>>
>> The attached patch fixed the problem.
>>
>> Thanks,
>> Balint
>>
>

Reply via email to