[Buildroot] [PATCH] wvstreams: Build bundled argp library with -fPIC

Markos Chandras markos.chandras at gmail.com
Thu Jun 20 09:05:19 UTC 2013


On 20 June 2013 09:00, Peter Korsgaard <jacmet at uclibc.org> wrote:
>>>>>> "Markos" == Markos Chandras <markos.chandras at gmail.com> writes:
>
>  Markos> From: Markos Chandras <markos.chandras at imgtec.com>
>  Markos> Fixes linking problems on MIPS.
>
>  Markos> Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
>  Markos> ---
>  Markos>  package/wvstreams/wvstreams-0006-argp-fpic.patch | 28 ++++++++++++++++++++++++
>  Markos>  1 file changed, 28 insertions(+)
>  Markos>  create mode 100644 package/wvstreams/wvstreams-0006-argp-fpic.patch
>
>  Markos> diff --git a/package/wvstreams/wvstreams-0006-argp-fpic.patch b/package/wvstreams/wvstreams-0006-argp-fpic.patch
>  Markos> new file mode 100644
>  Markos> index 0000000..b4cf1d2
>  Markos> --- /dev/null
>  Markos> +++ b/package/wvstreams/wvstreams-0006-argp-fpic.patch
>  Markos> @@ -0,0 +1,28 @@
>  Markos> +Build argp object files with -fPIC.
>  Markos> +
>  Markos> +The argp bundled dependency is linked to the libwvutils.so shared library.
>  Markos> +MIPS will refuce to link a non-PIC library with a shared one.
>  Markos> +
>  Markos> +We fix this problem by building the argp source files using -fPIC since
>  Markos> +the libargp static library will only be used to link to libwvutils.so
>  Markos> +as instructed by the following rule in the root Makefile:
>  Markos> +
>  Markos> +ifeq ($(USE_WVSTREAMS_ARGP),1)
>  Markos> +  utils/wvargs.o-CPPFLAGS += -Iargp
>  Markos> +  libwvutils.so-LIBS += -Largp -largp
>  Markos> +
>  Markos> +Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
>  Markos> +
>  Markos> +Index: wvstreams-4.6.1/argp/Makefile.in
>  Markos> +===================================================================
>  Markos> +--- wvstreams-4.6.1.orig/argp/Makefile.in
>  Markos> ++++ wvstreams-4.6.1/argp/Makefile.in
>  Markos> +@@ -137,7 +137,7 @@ AUTOMAKE = @AUTOMAKE@
>  Markos> + AWK = @AWK@
>  Markos> + CC = @CC@
>  Markos> + CCDEPMODE = @CCDEPMODE@
>  Markos> +-CFLAGS = @CFLAGS@
>  Markos> ++CFLAGS = @CFLAGS@ -fPIC
>
> How about when wvstreams is built as a static library
> (BR2_PREFER_STATIC_LIB)?
>
> Makefile.in is a generated file, so you should rather fix Makefile.am
> and set WVSTREAMS_AUTORECONF = YES, but wouldn't it just be simpler to
> just add CFLAGS="$(TARGET_CFLAGS) -fPIC" to WVSTREAMS_CONF_ENV when
> building in the !BR2_PREFER_STATIC_LIB case?
>
> --
> Bye, Peter Korsgaard

Hi Peter,

Yes modifying the CFLAGS is simpler. I will do that.

--
Regards,
Markos Chandras


More information about the buildroot mailing list