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

Martin Jansa martin.jansa at gmail.com
Fri Mar 4 14:04:48 UTC 2016


On Fri, Mar 04, 2016 at 03:02:12PM +0100, Martin Jansa wrote:
> 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.
> 

Ups, sorry for noise

grub != gdb, I need more coffee.

> 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



-- 
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/0c77ee3a/attachment-0002.sig>


More information about the Openembedded-core mailing list