This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/8] Add --with-system-zlib in bfd
- From: "Bin.Cheng" <amker dot cheng at gmail dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Antoine Tremblay <antoine dot tremblay at ericsson dot com>, GDB <gdb-patches at sourceware dot org>
- Date: Thu, 2 Apr 2015 11:53:17 +0800
- Subject: Re: [PATCH 1/8] Add --with-system-zlib in bfd
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOp9RHgjnG3JpfSFXsyT4jwutoC7FWTWFzfoKEnT0GC48Q at mail dot gmail dot com> <1427730751 dot 30498 dot 4 dot camel at ubuntu-sellcey> <CAMe9rOqOPtZ5xD=cP_O-QajKdq8hhgnSFsjFvc+OEyAqrpwoHw at mail dot gmail dot com> <55197D8E dot 7070208 at codesourcery dot com> <CAMe9rOp_RvPPu4HuQDzcH5DwsRs5ViBW=5G5zOC0uvvmu-A25g at mail dot gmail dot com> <1427735607 dot 30498 dot 7 dot camel at ubuntu-sellcey> <CAMe9rOp7UDCMe0vP=uv8Tzh==Je9nyKV=bvHEJoPdvW8Y4Vksg at mail dot gmail dot com> <1427736975 dot 30498 dot 8 dot camel at ubuntu-sellcey> <5519A502 dot 8040001 at ericsson dot com> <5519A5F3 dot 3060505 at ericsson dot com> <551AD59A dot 9090507 at ericsson dot com> <CAMe9rOqGyoD-wgjGYsOvOme9zMgXRcgfKKZ_UpwB5KXVqz9yDg at mail dot gmail dot com> <551AD6EA dot 4070603 at ericsson dot com> <CAMe9rOrxqbjOEcfZybW0dPVw7gyazeA9L8eDyRE==OjOVGy9Jg at mail dot gmail dot com> <CAHFci29Jdz_JWcvMAn6dBdz46tKSnTJqS_=XK1kaKkZ3Wkz-Eg at mail dot gmail dot com>
On Thu, Apr 2, 2015 at 11:22 AM, Bin.Cheng <amker.cheng@gmail.com> wrote:
> On Wed, Apr 1, 2015 at 4:16 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Tue, Mar 31, 2015 at 10:18 AM, Antoine Tremblay
>> <antoine.tremblay@ericsson.com> wrote:
>>>
>>>
>>> On 03/31/2015 01:16 PM, H.J. Lu wrote:
>>>>
>>>> On Tue, Mar 31, 2015 at 10:12 AM, Antoine Tremblay
>>>> <antoine.tremblay@ericsson.com> wrote:
>>>>>>
>>>>>> Also doing ./configure in binutils/zlib I get :
>>>>>>
>>>>>> config.status: creating Makefile
>>>>>> config.status: executing default-1 commands
>>>>>> ./config.status: line 1190: ./../../config-ml.in: No such file or
>>>>>> directory
>>>>>>
>>>>>> So configure does not exit cleanly...ideas?
>>>>>>
>>>>>>
>>>>>
>>>>> I did a bit more research on this issue and I get this if I build gdb
>>>>> from
>>>>> it's source directory
>>>>>
>>>>> in binutils-gdb
>>>>> ./configure
>>>>> make
>>>>>
>>>>> make fails with : while in zlib directory
>>>>>
>>>>> configure: creating ./config.status
>>>>> config.status: creating Makefile
>>>>> config.status: executing default-1 commands
>>>>> ./config.status: line 1190: ./../../config-ml.in: No such file or
>>>>> directory
>>>>>
>>>>> However if I build out of tree in like binutils-gdb/build for example I
>>>>> do
>>>>> not get this issue.
>>>>>
>>>>> Could this be related to 92c695a14f6a5a24b177e89624c13d7dbcbf9e1f ?
>>>>>
>>>>> Subject: [PATCH 09/76] A zlib to tarball
>>>>>
>>>>> I see this snippet there
>>>>>
>>>>> - ./configure --target=i386-pc-linux-gnu
>>>>> + ./configure --target=i386-pc-linux-gnu \
>>>>> + --with-target-subdir=. \
>>>>> + --disable-multilib
>>>>>
>>>>> With these options I get around the configure problem only to fail in gas
>>>>> with :
>>>>> make[4]: Entering directory `/home/x/src/binutils-gdb/gas'
>>>>> /bin/bash ./libtool --tag=CC --mode=link gcc -W -Wall
>>>>> -Wstrict-prototypes
>>>>> -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2
>>>>> -static-libstdc++
>>>>> -static-libgcc -o as-new app.o as.o atof-generic.o compress-debug.o
>>>>> cond.o
>>>>> depend.o dwarf2dbg.o dw2gencfi.o ecoff.o ehopt.o expr.o flonum-copy.o
>>>>> flonum-konst.o flonum-mult.o frags.o hash.o input-file.o input-scrub.o
>>>>> listing.o literal.o macro.o messages.o output-file.o read.o remap.o sb.o
>>>>> stabs.o subsegs.o symbols.o write.o tc-i386.o obj-elf.o atof-ieee.o
>>>>> ../opcodes/libopcodes.la ../bfd/libbfd.la ../libiberty/libiberty.a -ldl
>>>>> libtool: link: gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes
>>>>> -Wshadow -Werror -I./../zlib -g -O2 -static-libstdc++ -static-libgcc -o
>>>>> as-new app.o as.o atof-generic.o compress-debug.o cond.o depend.o
>>>>> dwarf2dbg.o dw2gencfi.o ecoff.o ehopt.o expr.o flonum-copy.o
>>>>> flonum-konst.o
>>>>> flonum-mult.o frags.o hash.o input-file.o input-scrub.o listing.o
>>>>> literal.o
>>>>> macro.o messages.o output-file.o read.o remap.o sb.o stabs.o subsegs.o
>>>>> symbols.o write.o tc-i386.o obj-elf.o atof-ieee.o
>>>>> ../opcodes/.libs/libopcodes.a ../bfd/.libs/libbfd.a
>>>>> -L/home/x/src/binutils-gdb/zlib -lz ../libiberty/libiberty.a -ldl
>>>>> /usr/bin/ld: cannot find -lz
>>>>>
>>>>>
>>>>> This is with head as : 711a72d3d6f8cd3c3f408e718ff19aa4bfd2144e
>>>>>
>>>>> Did you try to compile directly in the src tree ?
>>>>>
>>>>
>>>> Yes, I did. You need to add --disable-multilib, and maybe
>>>> --with-target-subdir=.
>>>>
>>>
>>> As I said if I add --disable-multilib, -with-target-subdir=.
>>>
>>> I get into the gas missing zlib error above ?
>>>
>>> Also I don't think it's a good idea that gdb would require options to
>>> compile in it's source tree ?
>>>
>>> Is there a good reason for this ?
>>>
>>>
>>
>> It should be fixed now.
>>
> Is it possible that GDB cross build hasn't been fixed yet? If I cross
> build GDB for arm-none-linux-gnueabi(hf) or aarch64-none-linux-gnu
> with below configuration:
>
> ../binutils-gdb/configure --enable-64-bit-bfd
> --enable-targets=arm-none-eabi,arm-none-linux-gnueabihf,armeb-none-eabi,armeb-none-linux-gnueabihf
> --target=arm-none-linux-gnueabihf --disable-doc --disable-gdbtk
> --disable-nls --disable-tui --without-python --without-x ...
>
> Yes zlib is built in build directory, and -lz is added on link command
> line of as/gdb/sim, but option "-L/home/.../obj/binutils/zlib" is only
> added for binutils program, not GDB/SIM. It seems to me gdb/sim still
> use the system z library, rather than the built one. The readelf -dl
> gives below information:
> 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2]
> 0x0000000000000001 (NEEDED) Shared library: [libtinfo.so.5]
> 0x0000000000000001 (NEEDED) Shared library: [libz.so.1]
> 0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
> 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
>
>
> We also do cross build with "build != host == target". In this
> scenario, neither "-lz" and "-L..." option is't added in link command
> line for gdb/sim. And I got below error message:
>
> ../bfd/libbfd.a(compress.o): In function `decompress_contents':
> /home/binche01/work/systematic_testing/2015/workspace/build/bfd/../../binutils-gdb.old/bfd/compress.c:46:
> undefined reference to `inflateInit_'
> /home/binche01/work/systematic_testing/2015/workspace/build/bfd/../../binutils-gdb.old/bfd/compress.c:56:
> undefined reference to `inflateReset'
> /home/binche01/work/systematic_testing/2015/workspace/build/bfd/../../binutils-gdb.old/bfd/compress.c:53:
> undefined reference to `inflate'
> /home/binche01/work/systematic_testing/2015/workspace/build/bfd/../../binutils-gdb.old/bfd/compress.c:58:
> undefined reference to `inflateEnd'
> ../bfd/libbfd.a(compress.o): In function `bfd_compress_section_contents':
> /home/binche01/work/systematic_testing/2015/workspace/build/bfd/../../binutils-gdb.old/bfd/compress.c:79:
> undefined reference to `compressBound'
> /home/binche01/work/systematic_testing/2015/workspace/build/bfd/../../binutils-gdb.old/bfd/compress.c:85:
> undefined reference to `compress'
> collect2: error: ld returned 1 exit status
>
Sorry my bad. My snapshot is just two commits behind the fix. So yes
it is fixed.
Thanks,
bin
>
> Thanks,
> bin
>>
>> --
>> H.J.