parallel-runtimes / lomp

Little OpenMP Library
Apache License 2.0
153 stars 17 forks source link

LOMP does not Build on 32-bit Arm #33

Closed mjklemm closed 3 years ago

mjklemm commented 3 years ago

Describe the bug There is a compilation issue in the 32-bit Arm code:

In file included from /net/home/micha/projects/lomp/sources/src/stats-timing.cc:20: /net/home/micha/projects/lomp/sources/./src/target.h:140:2: warning: "The FlushAddress() function is a no-op on this architecture" [-W#warnings]

warning "The FlushAddress() function is a no-op on this architecture"

^ /net/home/micha/projects/lomp/sources/src/stats-timing.cc:145:21: error: use of undeclared identifier 'getArmID' uint32_t el1Reg = getArmID(); ^ 1 warning and 1 error generated. ninja: build stopped: subcommand failed.

To Reproduce Please provide steps to reproduce the behavior:

  1. Checkout main branch
  2. Compile on Arm 32-bit

Expected behavior No compiler error.

Screenshots See error message above.

Desktop (please complete the following information):

mjklemm commented 3 years ago

The same happens on my RISC-V:

[1/36] Building CXX object src/CMakeFiles/omp.dir/stats-timing.cc.o
FAILED: src/CMakeFiles/omp.dir/stats-timing.cc.o
/usr/bin/clang++ -DDEBUG=10 -DLOMP_BUILD_RTL=1 -DLOMP_HAVE_LIBATOMIC=1 -DLOMP_HAVE_LIBNUMA=1 -DLOMP_WARN_API_STUBS=1 -DLOMP_WARN_ARCH_FEATURES=1 -Domp_EXPORTS -I/net/home/micha/projects/lomp/sources/./include -I/net/home/micha/projects/lomp/sources/./src -Isrc -fPIC -std=c++17 -MD -MT src/CMakeFiles/omp.dir/stats-timing.cc.o -MF src/CMakeFiles/omp.dir/stats-timing.cc.o.d -o src/CMakeFiles/omp.dir/stats-timing.cc.o -c /net/home/micha/projects/lomp/sources/src/stats-timing.cc
In file included from /net/home/micha/projects/lomp/sources/src/stats-timing.cc:20:
/net/home/micha/projects/lomp/sources/./src/target.h:140:2: warning: "The FlushAddress() function is a no-op on this architecture" [-W#warnings]
#warning "The FlushAddress() function is a no-op on this architecture"
 ^
/net/home/micha/projects/lomp/sources/src/stats-timing.cc:145:21: error: use of undeclared identifier 'getArmID'
  uint32_t el1Reg = getArmID();
                    ^
1 warning and 1 error generated.
ninja: build stopped: subcommand failed.
JimCownie commented 3 years ago

Try the gcc branch. I believe I fixed this there.

-- Jim +44 780 637 7146

On Sat, 14 Aug 2021, 15:35 Michael Klemm, @.***> wrote:

The same happens on my RISC-V:

[1/36] Building CXX object src/CMakeFiles/omp.dir/stats-timing.cc.o FAILED: src/CMakeFiles/omp.dir/stats-timing.cc.o /usr/bin/clang++ -DDEBUG=10 -DLOMP_BUILD_RTL=1 -DLOMP_HAVE_LIBATOMIC=1 -DLOMP_HAVE_LIBNUMA=1 -DLOMP_WARN_API_STUBS=1 -DLOMP_WARN_ARCH_FEATURES=1 -Domp_EXPORTS -I/net/home/micha/projects/lomp/sources/./include -I/net/home/micha/projects/lomp/sources/./src -Isrc -fPIC -std=c++17 -MD -MT src/CMakeFiles/omp.dir/stats-timing.cc.o -MF src/CMakeFiles/omp.dir/stats-timing.cc.o.d -o src/CMakeFiles/omp.dir/stats-timing.cc.o -c /net/home/micha/projects/lomp/sources/src/stats-timing.cc In file included from /net/home/micha/projects/lomp/sources/src/stats-timing.cc:20: /net/home/micha/projects/lomp/sources/./src/target.h:140:2: warning: "The FlushAddress() function is a no-op on this architecture" [-W#warnings]

warning "The FlushAddress() function is a no-op on this architecture"

^ /net/home/micha/projects/lomp/sources/src/stats-timing.cc:145:21: error: use of undeclared identifier 'getArmID' uint32_t el1Reg = getArmID(); ^ 1 warning and 1 error generated. ninja: build stopped: subcommand failed.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/parallel-runtimes/lomp/issues/33#issuecomment-898902101, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALY7TVFHMNJMNYZ5PWQQUETT4Z5K5ANCNFSM5BYJCCXQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

mjklemm commented 3 years ago

I have cherrypicked commit b8d2bc23d408d10de86002be840eaac76f798058 and it seems to fix the compilation issue.

JimCownie commented 3 years ago

Great, thanks!

-- Jim +44 780 637 7146

On Sat, 14 Aug 2021, 16:51 Michael Klemm, @.***> wrote:

I have cherrypicked commit b8d2bc2 https://github.com/parallel-runtimes/lomp/commit/b8d2bc23d408d10de86002be840eaac76f798058 and it seems to fix the compilation issue.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/parallel-runtimes/lomp/issues/33#issuecomment-898910792, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALY7TVFMOXC4PRU6PX7UFZ3T42GIRANCNFSM5BYJCCXQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

mjklemm commented 3 years ago

This one has been fixed.