Summary: | sys-apps/portage: 10ignored-flags misfires on non-native ELF files as "Files built without respecting CFLAGS have been detected" (was: dev-scheme/guile-2.2.4 ignores CFLAGS) | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Arfrever Frehtes Taifersar Arahesis <arfrever.fta> |
Component: | Core - Ebuild Support | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | ago, sam, scheme, slyfox |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=724076 https://bugs.gentoo.org/show_bug.cgi?id=724074 https://bugs.gentoo.org/show_bug.cgi?id=724072 https://bugs.gentoo.org/show_bug.cgi?id=724070 https://bugs.gentoo.org/show_bug.cgi?id=724068 https://bugs.gentoo.org/show_bug.cgi?id=722078 https://bugs.gentoo.org/show_bug.cgi?id=59506 https://github.com/gentoo/gentoo/pull/28349 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | statprof.go |
Description
Arfrever Frehtes Taifersar Arahesis
2019-02-10 03:06:56 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #0) > * QA Notice: Files built without respecting CFLAGS have been detected > * Please include the following list of files in your report: > * /usr/lib64/guile/2.2/ccache/sxml/ssax/input-parse.go > * /usr/lib64/guile/2.2/ccache/sxml/xpath.go I think it's a portage bug to complain about non-native ELF files. Guile's ELFs don't contain machine code at all. there is no place to use CFLAGS. $ file /usr/lib64/guile/2.2/ccache/sxml/ssax/input-parse.go /usr/lib64/guile/2.2/ccache/sxml/ssax/input-parse.go: ELF 64-bit LSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped Note "no machine" in input. Created attachment 569394 [details]
statprof.go
Example file to test portage's QA check.
*** Bug 720412 has been marked as a duplicate of this bug. *** My first thought is to use QA_FLAGS_IGNORED for these files. Is there a reason not to? If there's some way to sanely distinguish when CFLAGS should not be applied to a given ELF file, then yeah, I guess we should adjust the QA check to account for that. (In reply to Zac Medico from comment #4) > My first thought is to use QA_FLAGS_IGNORED for these files. Is there a > reason not to? If it would be a one file in one ebuild I'd agree. But it is already added into a few eclasses. (In reply to Zac Medico from comment #5) > If there's some way to sanely distinguish when CFLAGS should not be applied > to a given ELF file, then yeah, I guess we should adjust the QA check to > account for that. Sounds complicated. But maybe doable if we base gcc detection on some heuristics. For example gcc adds '.comment' section with a compiler version free-form string that start with 'GCC'. Clansg adds '.comment' section with 'clang'. (In reply to Sergei Trofimovich from comment #6) > For example gcc adds '.comment' section with a compiler version free-form > string that start with 'GCC'. Clansg adds '.comment' section with 'clang'. There is no such section when using -fno-ident option (supported by both GCC and Clang). The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cebaeb21b849b62633ae160bde8fb58be73767e commit 6cebaeb21b849b62633ae160bde8fb58be73767e Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-05-22 18:18:45 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-05-22 18:18:45 +0000 dev-scheme/guile-sqlite3: add QA CFLAGS workaround, bug #724074 guile does not use CFLAGS, it's a portage's false positive (see bug #677600). Reported-by: Agostino Sarubbo Closes: https://bugs.gentoo.org/724074 Bug: https://bugs.gentoo.org/677600 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> dev-scheme/guile-sqlite3/guile-sqlite3-0.1.0.ebuild | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d02c9f942ec243350c902e6ac4286360c178029 commit 5d02c9f942ec243350c902e6ac4286360c178029 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-05-22 18:17:12 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-05-22 18:17:12 +0000 dev-scheme/guile-git: add QA CFLAGS workaround, bug #724072 guile does not use CFLAGS, it's a portage's false positive (see bug #677600). Reported-by: Agostino Sarubbo Closes: https://bugs.gentoo.org/724072 Bug: https://bugs.gentoo.org/677600 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> dev-scheme/guile-git/guile-git-0.3.0.ebuild | 4 ++++ 1 file changed, 4 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ebe40715db22f1494ee1b5d950e49b5240a4a62 commit 4ebe40715db22f1494ee1b5d950e49b5240a4a62 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-05-22 18:15:23 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-05-22 18:15:23 +0000 dev-scheme/guile-gcrypt: add QA CFLAGS workaround, bug #724070 guile does not use CFLAGS, it's a portage's false positive (see bug #677600). Reported-by: Agostino Sarubbo Closes: https://bugs.gentoo.org/724070 Bug: https://bugs.gentoo.org/677600 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> dev-scheme/guile-gcrypt/guile-gcrypt-0.2.1.ebuild | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddf55b31f72159a7066300e2bc54cdef1493aa0c commit ddf55b31f72159a7066300e2bc54cdef1493aa0c Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-05-22 18:13:10 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-05-22 18:13:32 +0000 dev-scheme/bytestructures: add QA CFLAGS workaround, bug #724068 guile does not use CFLAGS, it's a portage's false positive (see bug #677600). Reported-by: Agostino Sarubbo Closes: https://bugs.gentoo.org/724068 Bug: https://bugs.gentoo.org/677600 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> dev-scheme/bytestructures/bytestructures-1.0.1.ebuild | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > (In reply to Sergei Trofimovich from comment #6) > > For example gcc adds '.comment' section with a compiler version free-form > > string that start with 'GCC'. Clansg adds '.comment' section with 'clang'. > > There is no such section when using -fno-ident option (supported by both GCC > and Clang). I'm fine with losing QA warnings for such cases. Maybe good automated way would be to skip this QA check for files with machine type = EM_NONE: (dev-scheme/guile-sqlite3) $ scanelf -F "%F: %a" /usr/lib64/guile/2.2/site-ccache/sqlite3.go FILE ARCH /usr/lib64/guile/2.2/site-ccache/sqlite3.go: EM_NONE (dev-db/sqlite) $ scanelf -F "%F: %a" /usr/bin/sqlite3 FILE ARCH /usr/bin/sqlite3: EM_X86_64 (In reply to Arfrever Frehtes Taifersar Arahesis from comment #10) > Maybe good automated way would be to skip this QA check for files with > machine type = EM_NONE: > > (dev-scheme/guile-sqlite3) > $ scanelf -F "%F: %a" /usr/lib64/guile/2.2/site-ccache/sqlite3.go > FILE ARCH > /usr/lib64/guile/2.2/site-ccache/sqlite3.go: EM_NONE > > (dev-db/sqlite) > $ scanelf -F "%F: %a" /usr/bin/sqlite3 > FILE ARCH > /usr/bin/sqlite3: EM_X86_64 We have false positives from native codegens as well, like bug #722820. (In reply to Sergei Trofimovich from comment #11) Is it standard behavior for all Haskell ELF files or anomaly for few of them? Do Haskell ELF files have some property allowing to distinguish them from non-Haskell ELF files? (In reply to Arfrever Frehtes Taifersar Arahesis from comment #12) > (In reply to Sergei Trofimovich from comment #11) > > Is it standard behavior for all Haskell ELF files or anomaly for few of them? > Do Haskell ELF files have some property allowing to distinguish them from > non-Haskell ELF files? ghc generates assembly directly and uses 'gcc -S' to build final binaries/libraries. It's a default behaviour for most haskell packages. Don't think there is an easily defined properly unless we want to detect specific symbols from runtime library (symbols are not guaranteed to be stable). (In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > (In reply to Sergei Trofimovich from comment #6) > > For example gcc adds '.comment' section with a compiler version free-form > > string that start with 'GCC'. Clansg adds '.comment' section with 'clang'. > > There is no such section when using -fno-ident option (supported by both GCC > and Clang). Can we disable this QA check entirely if the -fno-ident option is present? The '.comment' section seems seems like a very convenient way to solve this problem. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe563cbaa21fd257b28ae773987b81db87af00d4 commit fe563cbaa21fd257b28ae773987b81db87af00d4 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-05-24 17:44:50 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-05-24 17:46:31 +0000 ghc-package.eclass: disable CFLAGS QA check, bug #722078 GHC uses it's own native code generator. Portage's QA check generates false positive because it assumes presence of GCC-specific sections. Workaround false positiove by disabling the check completely. bug #722078, bug #677600 Reported-by: Agostino Sarubbo Closes: https://bugs.gentoo.org/722078 Bug: https://bugs.gentoo.org/677600 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> eclass/ghc-package.eclass | 8 ++++++++ 1 file changed, 8 insertions(+) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=caf207dd9d6bdc71885f9f459625856665972df1 commit caf207dd9d6bdc71885f9f459625856665972df1 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-05-25 10:55:52 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-05-25 10:55:52 +0000 sci-biology/abyss: disable CFLAGS QA check on samtobreak GHC uses it's own native code generator. Portage's QA check generates false positive because it assumes presence of GCC-specific sections. Workaround false positiove by disabling the check, bug #677600. Bug: https://bugs.gentoo.org/677600 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sci-biology/abyss/abyss-2.0.3-r1.ebuild | 8 ++++++++ 1 file changed, 8 insertions(+) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dedab8c3269f978f11583d3ced6b7fa5fab5d1ee commit dedab8c3269f978f11583d3ced6b7fa5fab5d1ee Author: Marco Scardovi <mscardovi@icloud.com> AuthorDate: 2022-11-20 13:15:36 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-12-06 11:57:09 +0000 app-office/gnucash: bump to 4.12 Closes: https://bugs.gentoo.org/734044 Closes: https://bugs.gentoo.org/762661 Closes: https://bugs.gentoo.org/814134 Closes: https://bugs.gentoo.org/882147 Bug: https://bugs.gentoo.org/677600 Drop old versions 4.4 and 4.5 Signed-off-by: Marco Scardovi <mscardovi@icloud.com> Signed-off-by: Sam James <sam@gentoo.org> app-office/gnucash/Manifest | 1 + app-office/gnucash/gnucash-4.12.ebuild | 232 +++++++++++++++++++++++++++++++++ 2 files changed, 233 insertions(+) |