diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2016-02-29 22:18:41 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-02 22:39:07 +0000 |
commit | 8cb4ac49677b1eae4047fc1abbd728f093a24b72 (patch) | |
tree | 8ac868bdad3260e260e014de74f7a43c36fdca72 /meta/recipes-devtools | |
parent | cb8f064e48c24dcb1a15a32cef3399f35e549bdc (diff) | |
download | openembedded-core-8cb4ac49677b1eae4047fc1abbd728f093a24b72.tar.gz openembedded-core-8cb4ac49677b1eae4047fc1abbd728f093a24b72.tar.bz2 openembedded-core-8cb4ac49677b1eae4047fc1abbd728f093a24b72.zip |
gcc: Add support for atomic opertions (libitm) where available
GCC 4.7 and newer have supported various automic operation directives,
however these have not been previously enabled.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-5.3.inc | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime.inc | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc index 06672995cd..0bf9f5552d 100644 --- a/meta/recipes-devtools/gcc/gcc-5.3.inc +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc @@ -103,6 +103,7 @@ LTO = "--enable-lto" EXTRA_OECONF_BASE = "\ ${LTO} \ --enable-libssp \ + --enable-libitm \ --disable-bootstrap \ --disable-libmudflap \ --with-system-zlib \ @@ -118,6 +119,7 @@ EXTRA_OECONF_BASE = "\ EXTRA_OECONF_INITIAL = "\ --disable-libmudflap \ --disable-libgomp \ + --disable-libitm \ --disable-libquadmath \ --with-system-zlib \ --disable-lto \ diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index 844149fed1..707db37cb3 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -10,9 +10,14 @@ EXTRA_OECONF_PATHS = "\ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" -RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic \ +RUNTIMELIBITM = "libitm" +RUNTIMELIBITM_mips = "" +RUNTIMELIBITM_mips64 = "" + +RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \ ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \ " + # ? # libiberty # libmudflap @@ -49,6 +54,7 @@ do_install () { oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/$target/$d/ install done rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir + rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude @@ -94,6 +100,9 @@ PACKAGES = "\ libatomic \ libatomic-dev \ libatomic-staticdev \ + libitm \ + libitm-dev \ + libitm-staticdev \ " # Most libraries are licensed with the exception, but @@ -121,6 +130,9 @@ LICENSE_libquadmath-staticdev = "GPL-3.0-with-GCC-exception" LICENSE_libatomic = "GPL-3.0-with-GCC-exception" LICENSE_libatomic-dev = "GPL-3.0-with-GCC-exception" LICENSE_libatomic-staticdev = "GPL-3.0-with-GCC-exception" +LICENSE_libitm = "GPL-3.0-with-GCC-exception" +LICENSE_libitm-dev = "GPL-3.0-with-GCC-exception" +LICENSE_libitm-staticdev = "GPL-3.0-with-GCC-exception" LICENSE_libgomp = "GPLv3" LICENSE_libgomp-dev = "GPLv3" @@ -196,6 +208,14 @@ FILES_libatomic-dev = "\ " FILES_libatomic-staticdev = "${libdir}/libatomic.a" +FILES_libitm = "${libdir}/libitm.so.*" +FILES_libitm-dev = "\ + ${libdir}/libitm.so \ + ${libdir}/libitm.la \ + ${libdir}/libitm.spec \ +" +FILES_libitm-staticdev = "${libdir}/libitm.a" + do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" |