mpimd-csc / flexiblas

FlexiBLAS - A BLAS and LAPACK wrapper library with runtime exchangeable backends. This is only a mirror of https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release
https://www.mpi-magdeburg.mpg.de/projects/flexiblas
GNU Lesser General Public License v3.0
36 stars 7 forks source link

Strange annocheck reports #31

Closed Enchufa2 closed 2 years ago

Enchufa2 commented 2 years ago

These reports keep bugging me, i.e. things like

Hardened: /usr/lib/flexiblas/libflexiblas_fallback_lapack.so: FAIL: glibcxx-assertions test because compiled without -D_GLIBCXX_ASSERTIONS (function: sgbbrd_) 
Hardened: /usr/lib/flexiblas/libflexiblas_fallback_lapack.so: info: For more information visit: https://sourceware.org/annobin/annobin.html/Test-glibcxx-assertions.html

Could this be a false positive due to the magic you do to reroute the calls? Because the flag is present and passed to every single compilation unit, as you can see in the logs. So I don't know why annocheck thinks these symbols were compiled without it.

grisuthedragon commented 2 years ago

The documentation of the glibcxx-assertations test says:

  Problem:  Compiled C++ code might contain bugs that could have been detected and fixed
  Fix By:   Compile with -D_GLIBCXX_ASSERTIONS
  Waive If: Not compiling C++
  Waive If: Not using functions from libstdc++

So I think it is a false positive since at no point in FlexiBLAS base package a C++ compiler is used. Only the Octave interface has to use it.

Enchufa2 commented 2 years ago

[facepalm] Right, thanks for taking a look.