diff options
author | Geunsik Lim <leemgs@gmail.com> | 2012-12-25 15:02:18 +0900 |
---|---|---|
committer | Geunsik Lim <leemgs@gmail.com> | 2012-12-25 15:02:18 +0900 |
commit | 51df2e98d22e2c6f5d2a16860bc8fc3644179c1d (patch) | |
tree | 2e659524cc999dd795ba838ff86f4eb8cc01fcfb /gcc-4.7/libgomp/configure.ac | |
parent | 40c7254330088e605a544fe4ab0c25beb63fce20 (diff) | |
download | toolchain_gcc-51df2e98d22e2c6f5d2a16860bc8fc3644179c1d.tar.gz toolchain_gcc-51df2e98d22e2c6f5d2a16860bc8fc3644179c1d.tar.bz2 toolchain_gcc-51df2e98d22e2c6f5d2a16860bc8fc3644179c1d.zip |
Support OpenMP+Bionic on ICS/GCC-4.7.2 for task parallelism
The patch supports OpenMP library to parallelize the existing
C/C++ code (e.g: for task parallelism) rapidly/easily without
any modification of android platform on multicore embedded devices.
The original patch is made by Keith Obenschain (using GCC 4.4.3).
. Archive - https://android-review.googlesource.com/#/c/34491/
I just moved GCC version from 4.4.3 to 4.7.2 for ktoolchain
version 2.5. The patch is good to me when I evaluate a lot of
C/C++ source code with OpenMP's #parama. we move the version
of OpenMP from version 2.5 to version 3.1.
Please, refer to the "kandroid toolchain" menu in www.kandroid.org
to compile source code including bionic and openmp library on real
Android devices.
http://kandroid.org/board/board.php?board=toolchain&command=body&no=16
I tested Openmp library with the latest GCC 4.7.2 on Android/ARM
devices as following. Please refer to the below example.
geunsik@rhel6$> ./arm-linux-androideabi-gcc openmptest.c -L
/usr/local/ktoolchain-cortexa9-ver2.5-20120515-bionic/arm-linux-androideabi/lib
-lgomp -o openmptest [ENTER]
geunsik@rhel6$>
geunsik@rhel6$>
geunsik@rhel6$> file ./openmptest
./openmptest: ELF 32-bit LSB executable, ARM, version 1 (SYSV),
dynamically linked (uses shared libs), not stripped
Change-Id: I20cb3c1ac5c000445c043310158179723bd69fe2
Signed-off-by: Geunsik Lim <leemgs@gmail.com>
Acked-by: Geunsik Lim <geunsik.lim@gmail.com>
Diffstat (limited to 'gcc-4.7/libgomp/configure.ac')
-rw-r--r-- | gcc-4.7/libgomp/configure.ac | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc-4.7/libgomp/configure.ac b/gcc-4.7/libgomp/configure.ac index d87ed2932..292db2a13 100644 --- a/gcc-4.7/libgomp/configure.ac +++ b/gcc-4.7/libgomp/configure.ac @@ -184,6 +184,13 @@ AC_LINK_IFELSE( void *g(void *d) { return NULL; }], [pthread_t t; pthread_create(&t,NULL,g,NULL);])], [XPCFLAGS=" -Wc,-pthread"], + [CFLAGS="$save_CFLAGS" LIBS="$LIBS" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#include <pthread.h> + void *g(void *d) { return NULL; }], + [pthread_t t; pthread_create(&t,NULL,g,NULL);])], + [], [CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS" AC_LINK_IFELSE( [AC_LANG_PROGRAM( @@ -191,7 +198,7 @@ AC_LINK_IFELSE( void *g(void *d) { return NULL; }], [pthread_t t; pthread_create(&t,NULL,g,NULL);])], [], - [AC_MSG_ERROR([Pthreads are required to build libgomp])])]) + [AC_MSG_ERROR([Pthreads are required to build libgomp])])])]) # Check for functions needed. AC_CHECK_FUNCS(getloadavg clock_gettime strtoull) |