[OE-core] [PATCH 1/1] gcc: Add support for atomic opertions (libitm) where available

Khem Raj raj.khem at gmail.com
Tue Mar 1 06:04:16 UTC 2016


On Mon, Feb 29, 2016 at 8:18 PM, Mark Hatle <mark.hatle at windriver.com> wrote:
> GCC 4.7 and newer have supported various automic operation directives,
> however these have not been previously enabled.
>

this is ok


> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ---
>  meta/recipes-devtools/gcc/gcc-5.3.inc     |  2 ++
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 22 +++++++++++++++++++++-
>  2 files changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc
> index 0667299..0bf9f55 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 844149f..707db37 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"
> --
> 2.5.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list