]> git.openpandora.org Git - openembedded.git/commitdiff
gcc: Enable mips plt extentions if DISTRO_FEATURE has mplt.
authorKhem Raj <raj.khem@gmail.com>
Sat, 19 Dec 2009 22:18:49 +0000 (14:18 -0800)
committerKhem Raj <raj.khem@gmail.com>
Mon, 21 Dec 2009 06:54:45 +0000 (22:54 -0800)
* 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>
19 files changed:
recipes/gcc/gcc-3.3.4.inc
recipes/gcc/gcc-3.4.3.inc
recipes/gcc/gcc-3.4.4.inc
recipes/gcc/gcc-4.1.0.inc
recipes/gcc/gcc-4.1.1.inc
recipes/gcc/gcc-4.1.2.inc
recipes/gcc/gcc-4.2.2.inc
recipes/gcc/gcc-4.2.3.inc
recipes/gcc/gcc-4.2.4.inc
recipes/gcc/gcc-4.3.1.inc
recipes/gcc/gcc-4.3.2.inc
recipes/gcc/gcc-4.3.3.inc
recipes/gcc/gcc-4.3.4.inc
recipes/gcc/gcc-4.4.1.inc
recipes/gcc/gcc-4.4.2.inc
recipes/gcc/gcc-common.inc
recipes/gcc/gcc-configure-common.inc
recipes/gcc/gcc-cross-initial.inc
recipes/gcc/gcc-cross-intermediate.inc

index 635e617a788ae01471ba513a10907db747b9797b..a3fbdded8f594063fb8e5996223dec3a7d3a5084 100644 (file)
@@ -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 \
index 72f904221298c835a26db74087b45fa87a5dfbb9..febe0fc67e6b0e338aafa496004a9b7e95874f2b 100644 (file)
@@ -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 \
index 9a02c5d20bd6d545268511b2cf3a925e0e6f399f..b87e1e396bfc0c0ed3548cbf72cbd85a73fb14c1 100644 (file)
@@ -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 \
index 7bb1a34f7694b3303a916c681382676341faf02d..df0ae3f2518ec0314dda61885ba13e9f038aa6d2 100644 (file)
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-INC_PR = "r9"
+INC_PR = "r10"
 
 DEFAULT_PREFERENCE = "-1"
 
index 68323ac7479b0505c0df02f73d5a234a8b0cde32..a960b415f2f9d0410567106d4a5303acc7b31fea 100644 (file)
@@ -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 \
index 911d2d964e0bb80877bc6cfbe15b34eae383cad5..21bf4869c2ddd6dd90ca0ea666476e641a185c4e 100644 (file)
@@ -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 \
index 0eb122372770a96a3f38f622ca42adff9220d62e..931de9a65051ec931f03bf5daec19635c2cafe19 100644 (file)
@@ -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 \
index 1501c7e61884a0b8b5847544d7be6ba398cbc61f..b2fb0292bb844bfb5257cb9b60860d85ee13f4b2 100644 (file)
@@ -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 \
index 3249c095b55cc7b57ee451ba0997ad7308c20c74..e96122a2b227716501c04f36ae07d79ad4564171 100644 (file)
@@ -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 \
index 0b05f0a88cd19058edec9115df0c25e6fd9f3d69..3eaff455998d3770e6b6c7247470c71a843fd0c6 100644 (file)
@@ -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 \
index 5483b8fd66c19886bab5e93ea9be91ccfb17df80..8d40d72795035a6c36a32ecf3114d3743350e4b5 100644 (file)
@@ -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 \
index 46d5e358b913dc6e7206eef2fbd37774e947b378..47bfbc6a24464e297671ad12ece34f2f355cc480 100644 (file)
@@ -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 \
index 2b1054c0f56d164e39b5d1e00f9bd10a6f63302a..ff02ac5e47c4f330a37a0159c811788bcaa59310 100644 (file)
@@ -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 \
index 9daff952248ec28daf91ede1666dfae569171fd4..cbf28ddc623b85b91d43a65eeb46c6933d8fb46c 100644 (file)
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
 
 DEPENDS = "mpfr gmp"
 
-INC_PR = "r7"
+INC_PR = "r8"
 
 FILESPATHPKG .= ":gcc-$PV"
 
index 514cc9f0c667d916679c8bb42e5ae4feac6f6a21..1ef1359a5329289ec6f031e02b93a49299cd9675 100644 (file)
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
 
 DEPENDS = "mpfr gmp"
 
-INC_PR = "r0"
+INC_PR = "r1"
 
 FILESPATHPKG .= ":gcc-$PV"
 
index 6e777e6be2dcc7887525f61deccc1e227f67c64c..97b140cb0fbc28b44974b46ebcbd8da67f8de9ed 100644 (file)
@@ -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"
index 8a96326b7db5f293eed2d2523b3b0a81a4fd6b5f..ee6c0e782e67237d72fb8105514e3d791fd9dcb4 100644 (file)
@@ -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"
index a2c444557874eadc9175519622c11303e4576df3..2ab1d7f9906bb2997cd48b81f5ef7e369dba4cb3 100644 (file)
@@ -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 () {
        :
index ccfa2b44b8c22dfdbe034cf4cbe546ead0d4be06..50792b697c226f6382a3ddf3de13ae8a3aa23025 100644 (file)
@@ -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