diff options
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-support/fftw')
-rw-r--r-- | import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb | 2 | ||||
-rw-r--r-- | import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch | 80 | ||||
-rw-r--r-- | import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb) | 13 |
3 files changed, 91 insertions, 4 deletions
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb index 3e06a5a4b..49cc270fe 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb @@ -18,4 +18,4 @@ do_compile_prepend() { SRC_URI[md5sum] = "9356e5e9dcb3f1481977009720a2ccf8" SRC_URI[sha256sum] = "1b4a5b5e48ad5e61a21586b7b59d5c0a88691a981e73e2c6dc5868197461791b" -PNBLACKLIST[benchfft] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them" +PNBLACKLIST[benchfft] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch new file mode 100644 index 000000000..6340f42f4 --- /dev/null +++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch @@ -0,0 +1,80 @@ +From 97af5a2efbe30726ce4d7c921efed6afc32a314f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Sun, 25 Dec 2016 13:41:19 +0100 +Subject: [PATCH] NEON autodetection segfaults: assume neon present +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If TUNE_FEATURES contain 'neon' we can assume our machine supports it + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + simd-support/neon.c | 46 +--------------------------------------------- + 1 file changed, 1 insertion(+), 45 deletions(-) + +diff --git a/simd-support/neon.c b/simd-support/neon.c +index 86b2cb6..8d6537e 100644 +--- a/simd-support/neon.c ++++ b/simd-support/neon.c +@@ -23,54 +23,10 @@ + + #if HAVE_NEON + +-/* check for an environment where signals are known to work */ +-#if defined(unix) || defined(linux) +- # include <signal.h> +- # include <setjmp.h> +- +- static jmp_buf jb; +- +- static void sighandler(int x) +- { +- UNUSED(x); +- longjmp(jb, 1); +- } +- +- static int really_have_neon(void) +- { +- void (*oldsig)(int); +- oldsig = signal(SIGILL, sighandler); +- if (setjmp(jb)) { +- signal(SIGILL, oldsig); +- return 0; +- } else { +- /* paranoia: encode the instruction in binary because the +- assembler may not recognize it without -mfpu=neon */ +- /*asm volatile ("vand q0, q0, q0");*/ +- asm volatile (".long 0xf2000150"); +- signal(SIGILL, oldsig); +- return 1; +- } +- } +- +- int X(have_simd_neon)(void) +- { +- static int init = 0, res; +- +- if (!init) { +- res = really_have_neon(); +- init = 1; +- } +- return res; +- } +- +- +-#else +-/* don't know how to autodetect NEON; assume it is present */ ++/* autodetect NEON broken; assume it is present */ + int X(have_simd_neon)(void) + { + return 1; + } +-#endif + + #endif +-- +2.5.5 + diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb index e75374303..ed14e1658 100644 --- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb +++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb @@ -3,9 +3,14 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" -SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" -SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" +SRC_URI = " \ + http://www.fftw.org/fftw-${PV}-pl1.tar.gz \ + file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \ +" +SRC_URI[md5sum] = "682a0e78d6966ca37c7446d4ab4cc2a1" +SRC_URI[sha256sum] = "1ef4aa8427d9785839bc767f3eb6a84fcb5e9a37c31ed77a04e7e047519a183d" + +S = "${WORKDIR}/fftw-${PV}-pl1" inherit autotools pkgconfig @@ -14,6 +19,8 @@ PROVIDES = "fftwl fftwf" EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" +CFLAGS += "-D_GNU_SOURCE" + FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}" FFTW_NEON_class-native = "" |