which only for libbfd and not libopcodes?

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