[OE-core] [PATCH] gdb: fix builds with internal readline and no static libraries

Martin Jansa martin.jansa at gmail.com
Fri Mar 4 14:02:12 UTC 2016


On Thu, Mar 03, 2016 at 09:01:13PM +0000, Ross Burton wrote:
> 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.

Somehow this caused hardfloat builds to fail

| checking for options to get soft-float... no
| configure: error: could not force soft-float
| NOTE: The following config.log files may provide further information.
| WARNING: exit code 1 from a shell command.

from config.log:

configure:25055: arm-oe-linux-gnueabi-gcc -march=armv7ve -mthumb
-mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -mtune=cortex-a7
-rdynamic
--sysroot=<sysroot>
-c  -Os -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts
-Wcomment -Wdeprecated-declarations -Wdisabled-optimization
-Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security
-Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int
-Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar
-Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare
-Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function
-Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable
-Wwrite-strings -Wnested-externs -Wstrict-prototypes -g
-Wredundant-decls -Wmissing-prototypes -Wmissing-declarations
-Wcast-align  -Wextra -Wattributes -Wendif-labels -Winit-self
-Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers
-Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing
-Wvariadic-macros -Wvolatile-register-var -Wpointer-sign
-Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations
-Wformat=2 -freg-struct-return -msoft-float -Werror  -Wall -W
-DGRUB_MACHINE_UBOOT=1 -DGRUB_MACHINE=ARM_UBOOT conftest.c >&5
arm-oe-linux-gnueabi-gcc: error: -mfloat-abi=soft and
-mfloat-abi=hard may not be used together
configure:25055: $? = 1

> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/recipes-devtools/gdb/gdb.inc                  |  1 +
>  .../gdb/gdb/force-readline-static.patch            | 37 ++++++++++++++++++++++
>  2 files changed, 38 insertions(+)
>  create mode 100644 meta/recipes-devtools/gdb/gdb/force-readline-static.patch
> 
> diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
> index 1dd6551..507f274 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 0000000..d34ee8c
> --- /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 at 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
> + 
> -- 
> 2.7.0
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160304/46062286/attachment-0002.sig>


More information about the Openembedded-core mailing list