pentoo / pentoo-overlay

Gentoo overlay for security tools as well as the heart of the Pentoo Livecd
323 stars 92 forks source link

sys-fs/sasquatch-20210325 calls g++ directly #1261

Open asarubbo opened 2 years ago

asarubbo commented 2 years ago

https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: sys-fs/sasquatch-20210325 calls g++ directly. Discovered on: amd64 (internal ref: pentoo_tinderbox)

NOTE: This machine uses lto with CFLAGS=-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing

Here is a bit of explanation:

-Werror=lto-type-mismatch: User to find possible runtime issues in packages. It likely means the package is unsafe to build & use with LTO. For projects using the same identifier but with different types across different files, they must be fixed to be consistent across the codebase.

-Werror=odr: Used to find possible runtime issues in packages. These bugs are a problem anyway but may be even worse when combined with LTO. C++ code must comply with the One Definition Rule (ODR) - see https://en.cppreference.com/w/cpp/language/definition#One_Definition_Rule.

-Werror=strict-aliasing: Used to find possible runtime issues in packages. These bugs are a problem anyway but may be even worse when combined with LTO.

Workarounds:

See also: https://marc.info/?l=gentoo-dev&m=165639574126280&w=2 As per QA policy, toolchain tools must not be called directly because they can cause issue in cross-compiling and because is not possible use a different C++ implementation (like clang++). To reproduce, please use sys-devel/gcc-config[-native-symlinks], sys-devel/binutils-config[-native-symlinks].

At the time of writing, github-cli does not support attachments. I'm using gists but they can be deleted at a certain point. If you want to save them, please create attachments on your own.

build log: https://gist.github.com/44e134ef0fccec594dcbdfe208599c44 Context of error(s): https://gist.github.com/f7aeb648750e6bfa832493a891c252fe

alsotoes commented 2 years ago

I'm working on this issue at the moment, the main issue is the patch provided, I have a new patch ready to push and pr to sasquatch project and working on the pr for sasquatch ebuild changes to entirely close this issue (LTO GCC flags and GCC direct calling).

I'll post the update ASAP.

alsotoes commented 2 years ago

pr https://github.com/devttys0/sasquatch/pull/50 waiting for validation and hopefully, to be merged