[oe] [PATCH] libcap: Append `-fPIC` to `CFLAGS` to fix compilation on newer binutils/ld.
Paul Menzel
paulepanter at users.sourceforge.net
Tue Jan 19 09:55:35 UTC 2010
Am Samstag, den 16.01.2010, 14:59 +0100 schrieb Paul Menzel:
[…]
> From c119072b0f13b674d705d3bc50150a252bf7c5d2 Mon Sep 17 00:00:00 2001
> From: Paul Menzel <paulepanter at users.sourceforge.net>
> Date: Sat, 16 Jan 2010 14:41:03 +0100
> Subject: [PATCH] libcap: Append `-fPIC` to `CFLAGS` to fix compilation on newer binutils/ld.
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> Doing `bitbake libcap` with
>
> PREFERRED_VERSION_binutils = "2.20"
> PREFERRED_VERSION_binutils-cross = "2.20"
> PREFERRED_VERSION_binutils-cross-sdk = "2.20"
>
> PREFERRED_VERSION_gcc = "4.4.2"
> PREFERRED_VERSION_gcc-cross = "4.4.2"
> PREFERRED_VERSION_gcc-cross-sdk = "4.4.2"
> PREFERRED_VERSION_gcc-cross-initial = "4.4.2"
> PREFERRED_VERSION_gcc-cross-intermediate = "4.4.2"
>
> in `local.conf` made `do_compile` error out with the following message [1].
>
> arm-angstrom-linux-gnueabi-ld -soname libcap.so.1 -x -shared -o libcap.so.1.10 cap_alloc.o cap_proc.o cap_extint.o cap_flag.o cap_text.o cap_sys.o
> arm-angstrom-linux-gnueabi-ld: cap_text.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
>
> Khem Raj explained it the following way [2].
>
> Am Mittwoch, den 13.01.2010, 02:27 -0800 schrieb Khem Raj:
> > > I also get the same error which I did not get before with GCC 4.1.1.
> >
> > Older versions of binutils/ld can not detect MOVT/MOVW relocations which
> > are absolute and cant be used in PIC code.
> > hence even if the error was there it remained latent.
>
> Therefore just append `-fPIC` to the CFLAGS and bump the PR variable.
>
> The strange thing is still, that other distributions seem to have patched libcap to build with `-fPIC` long ago [3–5].
>
> [1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-January/016142.html
> [2] http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-January/016211.html
> [3] http://www.linuxfromscratch.org/patches/downloads/libcap/libcap-1.10-fedora_fixes-1.patch
> [4] http://frugalware.org/pipermail/frugalware-darcs/2005-May/000824.html
> [5] http://cvs.fedoraproject.org/viewvc/rpms/libcap/F-7/libcap-1.10-fPIC.patch?revision=1.1&view=markup
>
> Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
> ---
> recipes/libcap/libcap_1.10.bb | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/recipes/libcap/libcap_1.10.bb b/recipes/libcap/libcap_1.10.bb
> index 172acac..241529e 100644
> --- a/recipes/libcap/libcap_1.10.bb
> +++ b/recipes/libcap/libcap_1.10.bb
> @@ -3,9 +3,9 @@ PRIORITY = "optional"
> SECTION = "libs"
> LICENSE = "GPL"
> DEPENDS = "bison-native flex-native"
> -PR = "r1"
> +PR = "r2"
>
> -CFLAGS_append = " -I${S}/libcap/include"
> +CFLAGS_append = " -I${S}/libcap/include -fPIC"
>
> SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/security/linux-privs/kernel-2.4/${PN}-${PV}.tar.bz2 \
> file://makenames.patch;patch=1 \
Could this patch please be applied.
Thanks,
Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100119/d854a930/attachment-0002.sig>
More information about the Openembedded-devel
mailing list