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: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Antoine Tremblay <antoine dot tremblay at ericsson dot com>, Binutils <binutils at sourceware dot org>
- Cc: GDB <gdb-patches at sourceware dot org>
- Date: Tue, 31 Mar 2015 11:55:10 -0700
- 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>
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 ?
>
config/multi.m4 doesn't support building a library for host.
These 3 patches fix it. I am testing config/multi.m4 in GCC.
If it passes GCC multilib build, I will check them into
binutils-gdb and submit them to GCC.
--
H.J.
From 536b7827f475462828a6c7d33944f2e1d1fb2336 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 31 Mar 2015 11:34:01 -0700
Subject: [PATCH 1/3] Add multilib support code only for target
* multi.m4 (AC_OUTPUT_COMMANDS): Don't add multilib support code
if ${multi_basedir}/config-ml.in doesn't exist.
---
config/multi.m4 | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/config/multi.m4 b/config/multi.m4
index 5b62ecc..53993c3 100644
--- a/config/multi.m4
+++ b/config/multi.m4
@@ -46,12 +46,15 @@ fi
AC_OUTPUT_COMMANDS([
# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" ]m4_default([$1],Makefile)[ "*)
- ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in
- ;;
-esac],
+# Makefile. If ${multi_basedir}/config-ml.in doesn't exist, we aren't
+# building for target and we don't add multilib support code.
+if test -f ${multi_basedir}/config-ml.in; then
+ case " $CONFIG_FILES " in
+ *" ]m4_default([$1],Makefile)[ "*)
+ ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in
+ ;;
+ esac
+fi],
[
srcdir="$srcdir"
host="$host"
--
1.9.3
From 758ccd879f8d8680be26c3e654f54319f3f6a6c3 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 31 Mar 2015 11:35:30 -0700
Subject: [PATCH 2/3] Regerate configure in zlib
* configure: Regenerated.
---
zlib/configure | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/zlib/configure b/zlib/configure
index 1a9d854..e739ddd 100755
--- a/zlib/configure
+++ b/zlib/configure
@@ -12644,12 +12644,15 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
"default-1":C)
# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" Makefile "*)
- ac_file=Makefile . ${multi_basedir}/config-ml.in
- ;;
-esac ;;
+# Makefile. If ${multi_basedir}/config-ml.in doesn't exist, we aren't
+# building for target, we don't add multilib support code.
+if test -f ${multi_basedir}/config-ml.in; then
+ case " $CONFIG_FILES " in
+ *" Makefile "*)
+ ac_file=Makefile . ${multi_basedir}/config-ml.in
+ ;;
+ esac
+fi ;;
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
# Autoconf 2.62 quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
--
1.9.3
From 988209efe245075f3f492e00193a9c2622f0b16e Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 31 Mar 2015 11:36:17 -0700
Subject: [PATCH 3/3] Remove --with-target-subdir=. --disable-multilib
zlib/configure is updated to properly handle in-tree build for host.
* src-release.sh: Don't configure with --with-target-subdir=.
--disable-multilib.
---
src-release.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src-release.sh b/src-release.sh
index 8229e15..9b985f0 100755
--- a/src-release.sh
+++ b/src-release.sh
@@ -83,9 +83,7 @@ do_proto_toplev()
<Makefile.in >tmp
mv -f tmp Makefile.in
#
- ./configure --target=i386-pc-linux-gnu \
- --with-target-subdir=. \
- --disable-multilib
+ ./configure --target=i386-pc-linux-gnu
$MAKE configure-host configure-target \
ALL_GCC="" ALL_GCC_C="" ALL_GCC_CXX="" \
CC_FOR_TARGET="$CC" CXX_FOR_TARGET="$CXX"
--
1.9.3