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 >> >