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:45 +0000 |
commit | 013887419662072104c9b4f1f5ac276cd5ba9d65 (patch) | |
tree | 1ee366365af8a4ad09431673a4ec4ac347954831 | |
parent | 70153b478291a9c725f7cd9d04b87ef4e78565d1 (diff) | |
download | poky-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.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" | |||
103 | EXTRA_OECONF_BASE = "\ | 103 | EXTRA_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 = "\ | |||
118 | EXTRA_OECONF_INITIAL = "\ | 119 | EXTRA_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 | ||
11 | EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" | 11 | EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" |
12 | 12 | ||
13 | RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic \ | 13 | RUNTIMELIBITM = "libitm" |
14 | RUNTIMELIBITM_mips = "" | ||
15 | RUNTIMELIBITM_mips64 = "" | ||
16 | |||
17 | RUNTIMETARGET = "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" | |||
121 | LICENSE_libatomic = "GPL-3.0-with-GCC-exception" | 130 | LICENSE_libatomic = "GPL-3.0-with-GCC-exception" |
122 | LICENSE_libatomic-dev = "GPL-3.0-with-GCC-exception" | 131 | LICENSE_libatomic-dev = "GPL-3.0-with-GCC-exception" |
123 | LICENSE_libatomic-staticdev = "GPL-3.0-with-GCC-exception" | 132 | LICENSE_libatomic-staticdev = "GPL-3.0-with-GCC-exception" |
133 | LICENSE_libitm = "GPL-3.0-with-GCC-exception" | ||
134 | LICENSE_libitm-dev = "GPL-3.0-with-GCC-exception" | ||
135 | LICENSE_libitm-staticdev = "GPL-3.0-with-GCC-exception" | ||
124 | 136 | ||
125 | LICENSE_libgomp = "GPLv3" | 137 | LICENSE_libgomp = "GPLv3" |
126 | LICENSE_libgomp-dev = "GPLv3" | 138 | LICENSE_libgomp-dev = "GPLv3" |
@@ -196,6 +208,14 @@ FILES_libatomic-dev = "\ | |||
196 | " | 208 | " |
197 | FILES_libatomic-staticdev = "${libdir}/libatomic.a" | 209 | FILES_libatomic-staticdev = "${libdir}/libatomic.a" |
198 | 210 | ||
211 | FILES_libitm = "${libdir}/libitm.so.*" | ||
212 | FILES_libitm-dev = "\ | ||
213 | ${libdir}/libitm.so \ | ||
214 | ${libdir}/libitm.la \ | ||
215 | ${libdir}/libitm.spec \ | ||
216 | " | ||
217 | FILES_libitm-staticdev = "${libdir}/libitm.a" | ||
218 | |||
199 | do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" | 219 | do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" |
200 | do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" | 220 | do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" |
201 | do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" | 221 | do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" |