summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2009-12-19 14:18:49 -0800
committerKhem Raj <raj.khem@gmail.com>2009-12-20 22:54:45 -0800
commit2b06bd7a61a7c284183b5fb10af80e9df4b27b61 (patch)
treee47e50bee33ee64ad05262c3580ac3f2e1d31aeb
parent237917b03120fbd49a5bcb9967dce8ae815cdf5d (diff)
gcc: Enable mips plt extentions if DISTRO_FEATURE has mplt.
* Newer gcc (4.4+) has implemented -mplt option to enable PLT and copy relocation extentions of MIPS ABI which makes shared code run a lot faster. This feature is however controlled by DISTRO_FEATURES which should add 'mplt' to DISTRO_FEATURES to enable it. Signed-off-by: Khem Raj <raj.khem@gmail.com> Acked-by: Holger Hans Peter Freyther <zecke@selfish.org>
-rw-r--r--recipes/gcc/gcc-3.3.4.inc2
-rw-r--r--recipes/gcc/gcc-3.4.3.inc2
-rw-r--r--recipes/gcc/gcc-3.4.4.inc2
-rw-r--r--recipes/gcc/gcc-4.1.0.inc2
-rw-r--r--recipes/gcc/gcc-4.1.1.inc2
-rw-r--r--recipes/gcc/gcc-4.1.2.inc2
-rw-r--r--recipes/gcc/gcc-4.2.2.inc2
-rw-r--r--recipes/gcc/gcc-4.2.3.inc2
-rw-r--r--recipes/gcc/gcc-4.2.4.inc2
-rw-r--r--recipes/gcc/gcc-4.3.1.inc2
-rw-r--r--recipes/gcc/gcc-4.3.2.inc2
-rw-r--r--recipes/gcc/gcc-4.3.3.inc2
-rw-r--r--recipes/gcc/gcc-4.3.4.inc2
-rw-r--r--recipes/gcc/gcc-4.4.1.inc2
-rw-r--r--recipes/gcc/gcc-4.4.2.inc2
-rw-r--r--recipes/gcc/gcc-common.inc5
-rw-r--r--recipes/gcc/gcc-configure-common.inc5
-rw-r--r--recipes/gcc/gcc-cross-initial.inc3
-rw-r--r--recipes/gcc/gcc-cross-intermediate.inc3
19 files changed, 28 insertions, 18 deletions
diff --git a/recipes/gcc/gcc-3.3.4.inc b/recipes/gcc/gcc-3.3.4.inc
index 635e617a78..a3fbdded8f 100644
--- a/recipes/gcc/gcc-3.3.4.inc
+++ b/recipes/gcc/gcc-3.3.4.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-INC_PR = "r10"
+INC_PR = "r11"
SRC_URI = "${GNU_MIRROR}/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://arm-gotoff.dpatch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-3.4.3.inc b/recipes/gcc/gcc-3.4.3.inc
index 72f9042212..febe0fc67e 100644
--- a/recipes/gcc/gcc-3.4.3.inc
+++ b/recipes/gcc/gcc-3.4.3.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-INC_PR = "r18"
+INC_PR = "r19"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://gcc34-reverse-compare.patch;patch=1 \
diff --git a/recipes/gcc/gcc-3.4.4.inc b/recipes/gcc/gcc-3.4.4.inc
index 9a02c5d20b..b87e1e396b 100644
--- a/recipes/gcc/gcc-3.4.4.inc
+++ b/recipes/gcc/gcc-3.4.4.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-INC_PR = "r14"
+INC_PR = "r15"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://gcc34-reverse-compare.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.1.0.inc b/recipes/gcc/gcc-4.1.0.inc
index 7bb1a34f76..df0ae3f251 100644
--- a/recipes/gcc/gcc-4.1.0.inc
+++ b/recipes/gcc/gcc-4.1.0.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-INC_PR = "r9"
+INC_PR = "r10"
DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/gcc/gcc-4.1.1.inc b/recipes/gcc/gcc-4.1.1.inc
index 68323ac747..a960b415f2 100644
--- a/recipes/gcc/gcc-4.1.1.inc
+++ b/recipes/gcc/gcc-4.1.1.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-INC_PR = "r0"
+INC_PR = "r1"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.1.2.inc b/recipes/gcc/gcc-4.1.2.inc
index 911d2d964e..21bf4869c2 100644
--- a/recipes/gcc/gcc-4.1.2.inc
+++ b/recipes/gcc/gcc-4.1.2.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-INC_PR = "r21"
+INC_PR = "r22"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.2.inc b/recipes/gcc/gcc-4.2.2.inc
index 0eb1223727..931de9a650 100644
--- a/recipes/gcc/gcc-4.2.2.inc
+++ b/recipes/gcc/gcc-4.2.2.inc
@@ -3,7 +3,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r15"
+INC_PR = "r16"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.3.inc b/recipes/gcc/gcc-4.2.3.inc
index 1501c7e618..b2fb0292bb 100644
--- a/recipes/gcc/gcc-4.2.3.inc
+++ b/recipes/gcc/gcc-4.2.3.inc
@@ -3,7 +3,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r12"
+INC_PR = "r17"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.4.inc b/recipes/gcc/gcc-4.2.4.inc
index 3249c095b5..e96122a2b2 100644
--- a/recipes/gcc/gcc-4.2.4.inc
+++ b/recipes/gcc/gcc-4.2.4.inc
@@ -3,7 +3,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r9"
+INC_PR = "r10"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.3.1.inc b/recipes/gcc/gcc-4.3.1.inc
index 0b05f0a88c..3eaff45599 100644
--- a/recipes/gcc/gcc-4.3.1.inc
+++ b/recipes/gcc/gcc-4.3.1.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r19"
+INC_PR = "r20"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-4.3.2.inc b/recipes/gcc/gcc-4.3.2.inc
index 5483b8fd66..8d40d72795 100644
--- a/recipes/gcc/gcc-4.3.2.inc
+++ b/recipes/gcc/gcc-4.3.2.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r9"
+INC_PR = "r10"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
index 46d5e358b9..47bfbc6a24 100644
--- a/recipes/gcc/gcc-4.3.3.inc
+++ b/recipes/gcc/gcc-4.3.3.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r10"
+INC_PR = "r11"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-4.3.4.inc b/recipes/gcc/gcc-4.3.4.inc
index 2b1054c0f5..ff02ac5e47 100644
--- a/recipes/gcc/gcc-4.3.4.inc
+++ b/recipes/gcc/gcc-4.3.4.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r7"
+INC_PR = "r8"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-4.4.1.inc b/recipes/gcc/gcc-4.4.1.inc
index 9daff95224..cbf28ddc62 100644
--- a/recipes/gcc/gcc-4.4.1.inc
+++ b/recipes/gcc/gcc-4.4.1.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r7"
+INC_PR = "r8"
FILESPATHPKG .= ":gcc-$PV"
diff --git a/recipes/gcc/gcc-4.4.2.inc b/recipes/gcc/gcc-4.4.2.inc
index 514cc9f0c6..1ef1359a53 100644
--- a/recipes/gcc/gcc-4.4.2.inc
+++ b/recipes/gcc/gcc-4.4.2.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
-INC_PR = "r0"
+INC_PR = "r1"
FILESPATHPKG .= ":gcc-$PV"
diff --git a/recipes/gcc/gcc-common.inc b/recipes/gcc/gcc-common.inc
index 6e777e6be2..97b140cb0f 100644
--- a/recipes/gcc/gcc-common.inc
+++ b/recipes/gcc/gcc-common.inc
@@ -15,6 +15,11 @@ def get_gcc_fpu_setting(bb, d):
return "--with-float=soft"
return ""
+def get_gcc_mips_plt_setting(bb, d):
+ if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'mips', 'mipsel' ] and 'mplt' in bb.data.getVar('DISTRO_FEATURES',d,1).split() :
+ return "--with-mips-plt"
+ return ""
+
# We really need HOST_SYS here for some packages and TARGET_SYS for others.
# For now, libgcc is most important so we fix for that - RP.
SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
diff --git a/recipes/gcc/gcc-configure-common.inc b/recipes/gcc/gcc-configure-common.inc
index 8a96326b7d..ee6c0e782e 100644
--- a/recipes/gcc/gcc-configure-common.inc
+++ b/recipes/gcc/gcc-configure-common.inc
@@ -13,6 +13,8 @@ OBJC_linux-uclibceabi ?= ""
OBJC_linux-uclibc ?= ""
OBJC_avr ?= ""
OBJC_nylon ?= ""
+OBJC_mips ?= ""
+OBJC_mipsel ?= ""
OBJC ?= ",objc"
# gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran'
@@ -36,7 +38,8 @@ EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d,
--program-prefix=${TARGET_PREFIX} \
${EXTRA_OECONF_BASE} \
${EXTRA_OECONF_FPU} \
- ${EXTRA_OECONF_PATHS}"
+ ${EXTRA_OECONF_PATHS} \
+ ${@get_gcc_mips_plt_setting(bb, d)}"
# Build uclibc compilers without cxa_atexit support
EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
diff --git a/recipes/gcc/gcc-cross-initial.inc b/recipes/gcc/gcc-cross-initial.inc
index a2c4445578..2ab1d7f990 100644
--- a/recipes/gcc/gcc-cross-initial.inc
+++ b/recipes/gcc/gcc-cross-initial.inc
@@ -16,7 +16,8 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
--program-prefix=${TARGET_PREFIX} \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
- ${@get_gcc_fpu_setting(bb, d)}"
+ ${@get_gcc_fpu_setting(bb, d)} \
+ ${@get_gcc_mips_plt_setting(bb, d)}"
do_install () {
:
diff --git a/recipes/gcc/gcc-cross-intermediate.inc b/recipes/gcc/gcc-cross-intermediate.inc
index ccfa2b44b8..50792b697c 100644
--- a/recipes/gcc/gcc-cross-intermediate.inc
+++ b/recipes/gcc/gcc-cross-intermediate.inc
@@ -14,7 +14,8 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
--program-prefix=${TARGET_PREFIX} \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
- ${@get_gcc_fpu_setting(bb, d)}"
+ ${@get_gcc_fpu_setting(bb, d)} \
+ ${@get_gcc_mips_plt_setting(bb, d)}"
do_stage_append () {
# get rid of dummy libc.so