public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: "Bin.Cheng" <amker.cheng@gmail.com>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: Antoine Tremblay <antoine.tremblay@ericsson.com>,
	GDB <gdb-patches@sourceware.org>
Subject: Re: [PATCH 1/8] Add --with-system-zlib in bfd
Date: Thu, 02 Apr 2015 03:22:00 -0000	[thread overview]
Message-ID: <CAHFci29Jdz_JWcvMAn6dBdz46tKSnTJqS_=XK1kaKkZ3Wkz-Eg@mail.gmail.com> (raw)
In-Reply-To: <CAMe9rOrxqbjOEcfZybW0dPVw7gyazeA9L8eDyRE==OjOVGy9Jg@mail.gmail.com>

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


Thanks,
bin
>
> --
> H.J.

  parent reply	other threads:[~2015-04-02  3:22 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-26 15:57 H.J. Lu
2015-03-29 14:10 ` H.J. Lu
2015-03-30 15:52   ` Steve Ellcey
2015-03-30 16:32     ` H.J. Lu
2015-03-30 16:45       ` Luis Machado
2015-03-30 16:51         ` H.J. Lu
2015-03-30 17:13           ` Steve Ellcey
2015-03-30 17:21             ` H.J. Lu
2015-03-30 17:36               ` Steve Ellcey
2015-03-30 19:33                 ` Antoine Tremblay
2015-03-30 19:37                   ` Antoine Tremblay
2015-03-31 17:13                     ` Antoine Tremblay
2015-03-31 17:16                       ` H.J. Lu
2015-03-31 17:18                         ` Antoine Tremblay
2015-03-31 18:55                           ` H.J. Lu
2015-03-31 20:16                           ` H.J. Lu
2015-04-01 12:18                             ` Antoine Tremblay
2015-04-02  3:22                             ` Bin.Cheng [this message]
2015-04-02  3:53                               ` Bin.Cheng
2015-03-30 20:19                   ` H.J. Lu
2015-03-31 12:08                     ` Antoine Tremblay
2015-03-30 18:18           ` Luis Machado
2015-03-30 17:20       ` H.J. Lu
2015-03-31  6:13 ` Mike Frysinger
2015-03-31 10:10   ` H.J. Lu
2015-03-31 10:37     ` Pedro Alves
2015-03-31 10:46       ` H.J. Lu
2015-03-31 10:53         ` Pedro Alves
2015-03-31 11:33           ` H.J. Lu
2015-03-31 11:46             ` Pedro Alves
2015-03-31 12:01               ` H.J. Lu
2015-03-31 12:15                 ` Pedro Alves
2015-03-31 13:43                   ` H.J. Lu
2015-03-31 13:46                     ` Pedro Alves
2015-03-31 16:41     ` Mike Frysinger
2015-03-31 16:56       ` H.J. Lu
2015-03-31 17:01         ` Mike Frysinger
2015-03-31 17:04           ` H.J. Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHFci29Jdz_JWcvMAn6dBdz46tKSnTJqS_=XK1kaKkZ3Wkz-Eg@mail.gmail.com' \
    --to=amker.cheng@gmail.com \
    --cc=antoine.tremblay@ericsson.com \
    --cc=gdb-patches@sourceware.org \
    --cc=hjl.tools@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).