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 | |
| 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>
| -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" | 
