[OE-core] [PATCHv3 3/6] gcc: Statically link in support libraries e.g. libmpfr libgmp etc.
Khem Raj
raj.khem at gmail.com
Tue Mar 8 06:38:55 UTC 2011
ping any opinion on this patch ?
On Wed, Mar 2, 2011 at 10:52 PM, Khem Raj <raj.khem at gmail.com> wrote:
> * This is helpful to get consistent behaviour with gcc on different
> hosts and linking the libraries in for cross gcc recipes should not
> be increasing the binary size alarmingly
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> meta/recipes-devtools/gcc/gcc-configure-common.inc | 7 +++++++
> meta/recipes-devtools/gcc/gcc-configure-cross.inc | 10 ++++++++++
> meta/recipes-devtools/gcc/gcc-configure-sdk.inc | 8 ++++++++
> .../gcc/gcc-cross-canadian_4.3.3.bb | 2 +-
> .../gcc/gcc-cross-canadian_4.5.1.bb | 2 +-
> .../gcc/gcc-cross-initial_4.3.3.bb | 2 +-
> .../gcc/gcc-cross-initial_4.5.1.bb | 2 +-
> .../gcc/gcc-cross-intermediate_4.3.3.bb | 2 +-
> .../gcc/gcc-cross-intermediate_4.5.1.bb | 2 +-
> .../gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb | 2 +-
> meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb | 2 +-
> meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb | 2 +-
> .../gcc/gcc-cross_csl-arm-2008q1.bb | 2 +-
> .../gcc/gcc-crosssdk-initial_4.3.3.bb | 2 +-
> .../gcc/gcc-crosssdk-initial_4.5.1.bb | 2 +-
> .../gcc/gcc-crosssdk-intermediate_4.3.3.bb | 2 +-
> .../gcc/gcc-crosssdk-intermediate_4.5.1.bb | 2 +-
> meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb | 2 +-
> meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb | 2 +-
> meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb | 2 +-
> meta/recipes-devtools/gcc/gcc_4.3.3.bb | 2 +-
> meta/recipes-devtools/gcc/gcc_4.5.1.bb | 2 +-
> meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb | 2 +-
> meta/recipes-devtools/gcc/libgcc_4.5.1.bb | 2 +-
> 24 files changed, 46 insertions(+), 21 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> index 4393777..cdb69fb 100644
> --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
> +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> @@ -85,6 +85,11 @@ do_configure () {
> export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
> export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
> export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
> +
> + # Make sure LDFLAGS are honored.
> + sed -i 's/^LDFLAGS = $/LDFLAGS = @LDFLAGS@/' ${S}/Makefile.in
> + sed -i 's/^LDFLAGS = $/LDFLAGS = @LDFLAGS@/' ${S}/Makefile.tpl
> +
> (cd ${S} && gnu-configize) || die "failure running gnu-configize"
>
> # teach gcc to find correct target includedir when checking libc ssp support
> @@ -108,5 +113,7 @@ do_configure () {
> echo "#endif /* ! GCC_DEFAULTS_H */" >> ${S}/gcc/defaults.h.new
> mv ${S}/gcc/defaults.h.new ${S}/gcc/defaults.h
> oe_runconf
> + # make sure that no @LDFLAG@ is left in the generated Makefile
> + sed -i "s/@LDFLAGS@//g" ${B}/Makefile
> }
>
> diff --git a/meta/recipes-devtools/gcc/gcc-configure-cross.inc b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
> index 346d164..200cbe2 100644
> --- a/meta/recipes-devtools/gcc/gcc-configure-cross.inc
> +++ b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
> @@ -16,6 +16,16 @@ do_compile_prepend () {
> export LD_FOR_TARGET="${TARGET_SYS}-ld"
> export NM_FOR_TARGET="${TARGET_SYS}-nm"
> export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
> + export OBJDUMP_FOR_TARGET="${TARGET_SYS}-objdump"
> + export OBJCOPY_FOR_TARGET="${TARGET_SYS}-objcopy"
> + export STRIP_FOR_TARGET="${TARGET_SYS}-strip"
> + # Make sure we use GMP/MPFR statically
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> }
>
> LIBGCCS_VAR = "-lgcc_s"
> diff --git a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
> index 756e74e..3eb8992 100644
> --- a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
> +++ b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
> @@ -39,6 +39,14 @@ do_configure () {
> export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
> export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
> export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
> + export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
> + # Make sure we use GMP/MPFR statically
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> (cd ${S} && gnu-configize) || die "failure running gnu-configize"
> oe_runconf
> }
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb
> index d420f80..8bf07d7 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.3.3.bb
> @@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
> require gcc-configure-sdk.inc
> require gcc-package-sdk.inc
>
> -PR = "r20"
> +PR = "r21"
>
> DEPENDS += "gmp-nativesdk mpfr-nativesdk"
> RDEPENDS_${PN} += "mpfr-nativesdk"
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
> index 3eea4bc..92708d4 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
> @@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
> require gcc-configure-sdk.inc
> require gcc-package-sdk.inc
>
> -PR = "r3"
> +PR = "r4"
>
> DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
> RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
> index 28ac1ab..ef52845 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
> @@ -1,5 +1,5 @@
> require gcc-cross_${PV}.bb
> require gcc-cross-initial.inc
>
> -PR = "r5"
> +PR = "r6"
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
> index b2c257d..38e0964 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
> @@ -1,5 +1,5 @@
> require gcc-cross_${PV}.bb
> require gcc-cross-initial.inc
>
> -PR = "r2"
> +PR = "r3"
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
> index a8473b0..deeee37 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
> @@ -1,4 +1,4 @@
> require gcc-cross_${PV}.bb
> require gcc-cross-intermediate.inc
> -PR = "r5"
> +PR = "r6"
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
> index e65d5df..9a30cb5 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
> @@ -1,4 +1,4 @@
> require gcc-cross_${PV}.bb
> require gcc-cross-intermediate.inc
> -PR = "r3"
> +PR = "r4"
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb b/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb
> index 88e3842..462104f 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross-kernel-3.4.4_csl-arm-2005q3.bb
> @@ -9,7 +9,7 @@ require gcc-cross-kernel.inc
>
> DEFAULT_PREFERENCE = "-1"
>
> -PR = "r4"
> +PR = "r5"
>
> SRC_URI += "file://gcc-3.4.4-makefile-fix.patch;patch=1"
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb
> index 5eaac5f..1a982f5 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross_4.3.3.bb
> @@ -1,4 +1,4 @@
> -PR = "r17"
> +PR = "r18"
>
> require gcc-${PV}.inc
> require gcc-cross4.inc
> diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
> index 399cdf9..78bb05a 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
> @@ -1,4 +1,4 @@
> -PR = "r2"
> +PR = "r3"
>
> require gcc-${PV}.inc
> require gcc-cross4.inc
> diff --git a/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
> index 89534f1..0e7a1ee 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
> @@ -1,4 +1,4 @@
> -PR = "r5"
> +PR = "r6"
>
> require gcc-csl-arm-2008q1.inc
> require gcc-cross4.inc
> diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
> index b42de47..d3ddcb1 100644
> --- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
> @@ -1,3 +1,3 @@
> require gcc-cross-initial_${PV}.bb
> require gcc-crosssdk-initial.inc
> -PR = "r6"
> +PR = "r7"
> diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
> index 240caf5..fec53b9 100644
> --- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
> @@ -1,4 +1,4 @@
> require gcc-cross-initial_${PV}.bb
> require gcc-crosssdk-initial.inc
>
> -PR = "r2"
> +PR = "r3"
> diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb
> index cd1f966..2be05f1 100644
> --- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.3.3.bb
> @@ -1,3 +1,3 @@
> require gcc-cross-intermediate_${PV}.bb
> require gcc-crosssdk-intermediate.inc
> -PR = "r8"
> +PR = "r9"
> diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
> index a6653dd..161d870 100644
> --- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
> @@ -1,4 +1,4 @@
> require gcc-cross-intermediate_${PV}.bb
> require gcc-crosssdk-intermediate.inc
>
> -PR = "r2"
> +PR = "r3"
> diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
> index 129e8d3..7069088 100644
> --- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
> @@ -1,4 +1,4 @@
> require gcc-cross_${PV}.bb
> require gcc-crosssdk.inc
>
> -PR = "r2"
> +PR = "r3"
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
> index 99f927a..2f5cfb5 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
> @@ -1,4 +1,4 @@
> -PR = "r18"
> +PR = "r19"
>
> require gcc-${PV}.inc
> require gcc-configure-runtime.inc
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
> index 093f9bf..c1e680d 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
> @@ -1,4 +1,4 @@
> -PR = "r2"
> +PR = "r3"
>
> require gcc-${PV}.inc
> require gcc-configure-runtime.inc
> diff --git a/meta/recipes-devtools/gcc/gcc_4.3.3.bb b/meta/recipes-devtools/gcc/gcc_4.3.3.bb
> index f0471d4..ba6e7b2 100644
> --- a/meta/recipes-devtools/gcc/gcc_4.3.3.bb
> +++ b/meta/recipes-devtools/gcc/gcc_4.3.3.bb
> @@ -1,4 +1,4 @@
> -PR = "r11"
> +PR = "r12"
>
> require gcc-${PV}.inc
> require gcc-configure-target.inc
> diff --git a/meta/recipes-devtools/gcc/gcc_4.5.1.bb b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
> index 919d4b0..25e455c 100644
> --- a/meta/recipes-devtools/gcc/gcc_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
> @@ -1,4 +1,4 @@
> -PR = "r2"
> +PR = "r3"
> require gcc-${PV}.inc
> require gcc-configure-target.inc
> require gcc-package-target.inc
> diff --git a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
> index cc7540a..2df12ef 100644
> --- a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
> +++ b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
> @@ -1,4 +1,4 @@
> -PR = "r3"
> +PR = "r4"
>
> require gcc-${PV}.inc
> require gcc-configure-target.inc
> diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
> index b6cf268..3f7ce0a 100644
> --- a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
> +++ b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
> @@ -1,6 +1,6 @@
> require gcc-${PV}.inc
>
> -PR = "r0"
> +PR = "r1"
>
> INHIBIT_DEFAULT_DEPS = "1"
> DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
> --
> 1.7.4.1
>
>
More information about the Openembedded-core
mailing list