Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Nov 2011 17:06:18 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: inadvertent OpenMP 3.0 dependencies

magnum -

I think it is desirable for our code to also build with compilers that
support only OpenMP 2.5, but not OpenMP 3.0+.  One of these is gcc
versions 4.2.x and 4.3.x.  (OpenMP 3.0 is available starting with gcc
4.4, as far as I understand.)  Another is EKOPath 4:

http://www.pathscale.com/ekopath4-open-source-announcement

0024-j7-sapB-sapG-added-OMP-and-proper-hash-functions.patch
inadvertently introduced a dependency on OpenMP 3.0 here:

+       unsigned int i;
+
+#ifdef _OPENMP
+#pragma omp parallel for
+#endif
+       for (i = 0; i < count; i++) {

In OpenMP 2.5, the loop variable should be signed.

I think you could want to run:

fgrep -A2 'pragma omp' *.c

over the tree and see if there are any other inadvertent uses of
parallel loop variables other than plain (signed) int.  Then change
those to int.

Thanks,

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.