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.

(From OE-Core rev: 8cb4ac49677b1eae4047fc1abbd728f093a24b72)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle
2016-02-29 22:18:41 -06:00
committed by Richard Purdie
parent 70153b4782
commit 0138874196
2 changed files with 23 additions and 1 deletions

View File

@@ -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 \

View File

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