]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
gdb: fix builds with internal readline and no static libraries
authorRoss Burton <ross.burton@intel.com>
Thu, 3 Mar 2016 21:01:13 +0000 (21:01 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 6 Mar 2016 23:52:57 +0000 (23:52 +0000)
If gdb was configured to use the internal readline but static libraries were
disabled, gdb wouldn't dutifully not build libreadline.a which was a problem
when it tried to link with that library.

Solve this by ensuring --enable-static is passed to the readline configure.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gdb/gdb.inc
meta/recipes-devtools/gdb/gdb/force-readline-static.patch [new file with mode: 0644]

index 1dd655180d64c47e3b39057bed59260affcd1108..507f274fd8ac8bfe901c46d0fa363b754d1497f8 100644 (file)
@@ -7,6 +7,7 @@ SRC_URI += "file://0002-Change-order-of-CFLAGS.patch \
             file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
             file://0001-include-sys-types.h-for-mode_t.patch \
             file://0001-use-asm-sgidefs.h.patch \
+            file://force-readline-static.patch \
            "
 #LDFLAGS_append = " -s"
 #export CFLAGS_append=" -L${STAGING_LIBDIR}"
diff --git a/meta/recipes-devtools/gdb/gdb/force-readline-static.patch b/meta/recipes-devtools/gdb/gdb/force-readline-static.patch
new file mode 100644 (file)
index 0000000..d34ee8c
--- /dev/null
@@ -0,0 +1,37 @@
+If gdb is configured with --disable-static then this is dutifully passed to
+readline which then disables libreadline.a, which causes a problem when gdb
+tries to link against that.
+
+To ensure that readline always builds static libraries, pass --enable-static to
+the sub-configure.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/Makefile.def b/Makefile.def
+index 4394188..05c661a 100644
+--- a/Makefile.def
++++ b/Makefile.def
+@@ -100,7 +100,8 @@ host_modules= { module= libiconv;
+               missing= install-html;
+               missing= install-info; };
+ host_modules= { module= m4; };
+-host_modules= { module= readline; };
++host_modules= { module= readline;
++                extra_configure_flags='--enable-static';};
+ host_modules= { module= sid; };
+ host_modules= { module= sim; };
+ host_modules= { module= texinfo; no_install= true; };
+diff --git a/Makefile.in b/Makefile.in
+index 61e0ab6..837f36e 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -24971,7 +24971,7 @@ configure-readline:
+         $$s/$$module_srcdir/configure \
+         --srcdir=$${topdir}/$$module_srcdir \
+         $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
+-        --target=${target_alias}  \
++        --target=${target_alias} --enable-static \
+         || exit 1
+ @endif readline