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

H.J. Lu hjl.tools@gmail.com
Mon Mar 30 16:51:00 GMT 2015


On Mon, Mar 30, 2015 at 9:45 AM, Luis Machado <lgustavo@codesourcery.com> wrote:
> On 03/30/2015 01:31 PM, H.J. Lu wrote:
>>
>> On Mon, Mar 30, 2015 at 8:52 AM, Steve Ellcey <sellcey@imgtec.com> 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 <hjl.tools@gmail.com> 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
>>> libbfd.la  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]: *** [libbfd.la] 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 Makefile.in 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/libz.so.1: 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/Makefile.in, but conditionalized
> based on the configure switches to use the system's or the include zlib.
>

Please check out users/hjl/zlib branch.


-- 
H.J.



More information about the Gdb-patches mailing list