summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-03-03 21:01:13 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-06 23:52:57 +0000
commit1490caa07d72af81c7e515e4ff7b4905da840d7d (patch)
tree235fda5743478ea951b9584a802101ec667eb2b4
parentaac3919f538a5608ffcc3af5bd8f121e3c2c3469 (diff)
downloadopenembedded-core-1490caa07d72af81c7e515e4ff7b4905da840d7d.tar.gz
openembedded-core-1490caa07d72af81c7e515e4ff7b4905da840d7d.tar.bz2
openembedded-core-1490caa07d72af81c7e515e4ff7b4905da840d7d.zip
gdb: fix builds with internal readline and no static libraries
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>
-rw-r--r--meta/recipes-devtools/gdb/gdb.inc1
-rw-r--r--meta/recipes-devtools/gdb/gdb/force-readline-static.patch37
2 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index 1dd655180d..507f274fd8 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -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
index 0000000000..d34ee8cee9
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/force-readline-static.patch
@@ -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
+