summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2016-02-29 22:18:41 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-02 22:39:45 +0000
commit013887419662072104c9b4f1f5ac276cd5ba9d65 (patch)
tree1ee366365af8a4ad09431673a4ec4ac347954831
parent70153b478291a9c725f7cd9d04b87ef4e78565d1 (diff)
downloadpoky-013887419662072104c9b4f1f5ac276cd5ba9d65.tar.gz
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>
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.3.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc22
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"
103EXTRA_OECONF_BASE = "\ 103EXTRA_OECONF_BASE = "\
104 ${LTO} \ 104 ${LTO} \
105 --enable-libssp \ 105 --enable-libssp \
106 --enable-libitm \
106 --disable-bootstrap \ 107 --disable-bootstrap \
107 --disable-libmudflap \ 108 --disable-libmudflap \
108 --with-system-zlib \ 109 --with-system-zlib \
@@ -118,6 +119,7 @@ EXTRA_OECONF_BASE = "\
118EXTRA_OECONF_INITIAL = "\ 119EXTRA_OECONF_INITIAL = "\
119 --disable-libmudflap \ 120 --disable-libmudflap \
120 --disable-libgomp \ 121 --disable-libgomp \
122 --disable-libitm \
121 --disable-libquadmath \ 123 --disable-libquadmath \
122 --with-system-zlib \ 124 --with-system-zlib \
123 --disable-lto \ 125 --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 = "\
10 10
11EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" 11EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
12 12
13RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic \ 13RUNTIMELIBITM = "libitm"
14RUNTIMELIBITM_mips = ""
15RUNTIMELIBITM_mips64 = ""
16
17RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
14 ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \ 18 ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
15" 19"
20
16# ? 21# ?
17# libiberty 22# libiberty
18# libmudflap 23# libmudflap
@@ -49,6 +54,7 @@ do_install () {
49 oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/$target/$d/ install 54 oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/$target/$d/ install
50 done 55 done
51 rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir 56 rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir
57 rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir
52 rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir 58 rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir
53 if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then 59 if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then
54 rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude 60 rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude
@@ -94,6 +100,9 @@ PACKAGES = "\
94 libatomic \ 100 libatomic \
95 libatomic-dev \ 101 libatomic-dev \
96 libatomic-staticdev \ 102 libatomic-staticdev \
103 libitm \
104 libitm-dev \
105 libitm-staticdev \
97" 106"
98 107
99# Most libraries are licensed with the exception, but 108# Most libraries are licensed with the exception, but
@@ -121,6 +130,9 @@ LICENSE_libquadmath-staticdev = "GPL-3.0-with-GCC-exception"
121LICENSE_libatomic = "GPL-3.0-with-GCC-exception" 130LICENSE_libatomic = "GPL-3.0-with-GCC-exception"
122LICENSE_libatomic-dev = "GPL-3.0-with-GCC-exception" 131LICENSE_libatomic-dev = "GPL-3.0-with-GCC-exception"
123LICENSE_libatomic-staticdev = "GPL-3.0-with-GCC-exception" 132LICENSE_libatomic-staticdev = "GPL-3.0-with-GCC-exception"
133LICENSE_libitm = "GPL-3.0-with-GCC-exception"
134LICENSE_libitm-dev = "GPL-3.0-with-GCC-exception"
135LICENSE_libitm-staticdev = "GPL-3.0-with-GCC-exception"
124 136
125LICENSE_libgomp = "GPLv3" 137LICENSE_libgomp = "GPLv3"
126LICENSE_libgomp-dev = "GPLv3" 138LICENSE_libgomp-dev = "GPLv3"
@@ -196,6 +208,14 @@ FILES_libatomic-dev = "\
196" 208"
197FILES_libatomic-staticdev = "${libdir}/libatomic.a" 209FILES_libatomic-staticdev = "${libdir}/libatomic.a"
198 210
211FILES_libitm = "${libdir}/libitm.so.*"
212FILES_libitm-dev = "\
213 ${libdir}/libitm.so \
214 ${libdir}/libitm.la \
215 ${libdir}/libitm.spec \
216"
217FILES_libitm-staticdev = "${libdir}/libitm.a"
218
199do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" 219do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
200do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" 220do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
201do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" 221do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata"