This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/8] Add --with-system-zlib in bfd

On 03/30/2015 01:31 PM, H.J. Lu wrote:
On Mon, Mar 30, 2015 at 8:52 AM, Steve Ellcey <> wrote:
On Sun, 2015-03-29 at 07:10 -0700, H.J. Lu wrote:
On Thu, Mar 26, 2015 at 8:57 AM, H.J. Lu <> wrote:
I imported zlib from GCC.  This patch adds --with-system-zlib and remove
--with-zlib in bfd.  OK for master?

I think the global binutils-gdb Makefile needs to have a dependency of
bfd on zlib.  If I build 'all-binutils' (using just the binutils-gdb
repository, not a combined tree with GCC) I get a build failure.  If I
explicitly build all-zlib before building all-binutils it works, but I
should not have to do that.

/bin/sh ./libtool --tag=CC   --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I/scratch/sellcey/repos/nightly/src/binutils-gdb/bfd/../zlib -g -O2 -rpath /scratch/sellcey/repos/nightly/install-mips-mti-linux-gnu/x86_64-unknown-linux-gnu/mips-mti-linux-gnu/lib -release `cat libtool-soversion`  -static-libstdc++ -static-libgcc  -o  archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo binary.lo ihex.lo srec.lo tekhex.lo verilog.lo `cat ofiles`  -ldl -L../zlib -lz -ldl
./libtool: line 5195: cd: ../zlib: No such file or directory
libtool: link: cannot determine absolute directory name of `../zlib'
make[3]: *** [] Error 1
make[3]: Leaving directory `/scratch/sellcey/repos/nightly/obj-mips-mti-linux-gnu/binutils-gdb/bfd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/scratch/sellcey/repos/nightly/obj-mips-mti-linux-gnu/binutils-gdb/bfd'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/scratch/sellcey/repos/nightly/obj-mips-mti-linux-gnu/binutils-gdb/bfd'
make: *** [all-bfd] Error 2
Error: Make command failed, stopping build.

I will take a look.

It seems GDB's is also missing a few bits to make sure it includes ../zlib/libz.a in the final link step, otherwise it tries to pick the system's zlib instead of the included zlib, which may fail if you have an older libz installed.


/usr/bin/ld: ../bfd/libbfd.a(compress.o): undefined reference to symbol 'compressBound@@ZLIB_1.2.0' //lib/x86_64-linux-gnu/ error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [gdb] Error 1


We need something like libiberty in gdb/, but conditionalized based on the configure switches to use the system's or the include zlib.


# Where is the "-liberty" library?  Typically in ../libiberty.
LIBIBERTY = ../libiberty/libiberty.a

... and then ...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]