Compare commits

...
Sign in to create a new pull request.

299 commits

Author SHA1 Message Date
Fedora Release Engineering
d29890bd41 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 03:41:03 +00:00
Nick Clifton
ba3345aaf8 Annocheck: Add .fc44 to list of known rpm file extensions. 2026-01-15 15:29:42 +00:00
Jakub Jelinek
2576bee059 13.04-3 2025-12-20 15:11:11 +01:00
Jakub Jelinek
20e0cb02b6 13.04-2 2025-12-20 13:43:13 +01:00
Nick Clifton
e11676d4ef Annocheck: Fix compile time warnings from GCC-15 re: strchr returning a const char *. 2025-12-18 08:48:36 +00:00
Nick Clifton
a84ff42993 Annocheck: Skip production test for gcc libraries. (RHEL-123175) 2025-11-05 10:32:54 +00:00
Nick Clifton
60e36afe5f Annocheck: Update heuristic to detect gcc libraries. (RHEL-124869) 2025-10-31 14:52:22 +00:00
Nick Clifton
844d102d83 Annocheck: Change FAIL for binaries built by a cross compiler to a MAYBE. (RHEL-123175) 2025-10-23 17:01:42 +01:00
Nick Clifton
8bc321d24a Annocheck: Improve detection of glibc static maths libraries. (RHEL-107470) 2025-08-06 10:36:49 +01:00
Fedora Release Engineering
6869ce708f Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 16:59:30 +00:00
Nick Clifton
9c45dd821c Improve configure and meson files for consistent builds. 2025-07-07 10:34:33 +01:00
Nick Clifton
4ed470d1fb 12.97: Annocheck: delete temporary debuginfo directory 2025-06-19 11:06:02 +01:00
Nick Clifton
874f029d05 Annocheck: Fix bugs in debug rpm location code. Add more glibc exceptions. (RHEL-95216) 2025-06-04 17:17:24 +01:00
Nick Clifton
e3fb5aa977 Annocheck: Improve performance with multiple debug info files and multiple files to scan. (#2366180) 2025-05-15 16:31:37 +01:00
Nick Clifton
55b74474e1 Annocheck: Update heuristic for detecting gcc files to cope with gcc 15. (#2365824) 2025-05-13 10:59:11 +01:00
Nicholas Clifton
4b2447ab99 Merge #36 Generate latest-annobin.tar.xz at %prep 2025-03-17 12:22:31 +00:00
Nick Clifton
5d1c0d8e7e 12.93: Fix GO revision test 2025-03-17 11:40:30 +00:00
Tulio Magno Quites Machado Filho
5c3d24ca6f Generate latest-annobin.tar.xz at %prep
Generate a source tarball for annobin during the prep phase, after all
the patches have been applied.  Use this new tarball when installing the
annobin source code for the GCC plugin.

On distros without downstream patches, this change should not produce
any changes.
2025-03-14 10:47:40 -03:00
Nick Clifton
be7ffb96bc Annocheck: Do not rely upon libelf's ability to detect links to separate debuginfo files. (RHEL-79264) 2025-02-14 10:54:12 +00:00
Nick Clifton
38595c3a34 Annocheck: Fix resource leak. (RHEL-79256) 2025-02-13 14:03:32 +00:00
Nick Clifton
c5469afe65 Annocheck: Fix double free(). Add special handling for COMBOOT modules 2025-02-12 10:18:34 +00:00
Nick Clifton
36aba6172f Annocheck: Improve diagnostics when a separate debug info file cannot be found. 2025-02-11 10:55:02 +00:00
Nick Clifton
274102f8bd Annocheck: Look for -fstack-clash-protection in DW_AT_producer string. (RHEL-77328) 2025-02-03 15:01:29 +00:00
Nick Clifton
5cc01bd7ed NVR bump 2025-01-28 12:06:14 +00:00
Nick Clifton
667f38a457 Annocheck: Fix locating string notes (again). Add exception for glibc benchmark tests. (RHEL-76456) 2025-01-28 12:03:03 +00:00
Nick Clifton
a64f9d3ef1 Annocheck: Add crtoffloadtableS.o to list of known gcc binaries. (RHEL-760404) 2025-01-28 09:39:10 +00:00
Nick Clifton
52003fae98 12.85: Annocheck: Fix the --debug-dir option 2025-01-27 12:38:04 +00:00
Nick Clifton
3ed5a5358c Annocheck: Fix corrupt warning message when unable to locate separate debug info files. 2025-01-23 16:49:52 +00:00
Nick Clifton
63d1c12cd1 12.83: Annocheck: Remove spurious debugging messages 2025-01-22 11:41:30 +00:00
Nick Clifton
2415dea790 Annocheck: Always look for annobin notes in separate debug info files. (RHEL-75778) 2025-01-22 09:49:29 +00:00
Nick Clifton
50892b98b6 Annocheck: Support multiple --debug-rpm options. (RHEL-73349) 2025-01-16 10:57:14 +00:00
Jakub Jelinek
b1ea65635a 12.80-2 2025-01-11 10:48:27 +01:00
Nick Clifton
ad8d2bb481 Annocheck: Add support for sys-root'ed glibc packages.
Resolves: RHEL-71296
2024-12-13 16:04:32 +00:00
Nick Clifton
8174c433db GCC Plugin: Tidy up use of gcc's diagnoatic headers. Testsuite: Use configured compiler when running tests.
Resolves: PR 32429
2024-12-10 11:03:32 +00:00
Nick Clifton
3366463083 GCC Plugin: Fix building with gcc 15. 2024-12-09 17:03:30 +00:00
Nick Clifton
66d77f6d27 Annocheck: Fix overly long debug messages. 2024-11-15 11:02:49 +00:00
Nick Clifton
bfeba1a32c Annocheck: Rename rwx-seg test to load-segments. Add more checks. Add check for gaps as a future fail.
Annocheck: Add --no-allow-excpetions to disable exceptions for known special binaries.
Annocheck: Add --enable-future to enable future fail components in normal tests.
Annocheck: Fix bug preventing the inclusion of the rpm name in reports.
2024-11-15 10:15:41 +00:00
Nick Clifton
20e56a3c65 Annocheck: Add more exceptions for gcc binaries. (RHEL-33365)
Annocheck: Add --skip-passes option.
2024-11-12 08:51:17 +00:00
Nick Clifton
a136ae0fec Annocheck: Add exceptions for gcc binaries. (RHEL-33365) 2024-11-06 09:00:24 +00:00
Nick Clifton
58d868552b Annocheck: Skip property note test for i386 binaries created by LLVM. (#2323797) 2024-11-05 14:18:23 +00:00
Nick Clifton
c59a7e6fcd Annocheck: Skip FORTIFY and GLIBC_ASSERTIONS tests for LLVM produced binaries with unparseable DW_AT_producer attributes in their DWARF debug info. (RHEL-65411) 2024-11-01 17:07:52 +00:00
Nick Clifton
d1cb3897cd GCC Plugin: Change type of the .annobin.notes section from SHT_STRTAB to SHT_PROGBITS. 2024-10-14 11:46:45 +01:00
Nick Clifton
f14a6141ce Clang & LLVM Plugins: Include install directory in binary. (RHEL-54069) 2024-08-14 08:31:05 +01:00
Nick Clifton
7583405a16 BuiltBy: Fix seg-fault when comparing language version strings. (RHEL-53497) 2024-08-12 14:27:20 +01:00
Nick Clifton
1af9abd0da Annocheck: Stop spurious assembler warnings. (RHEL-53213) - Annocheck: Stop warnings about known gaps. (RHEL-53218) 2024-08-07 16:11:25 +01:00
Nick Clifton
723cebcb85 Annocheck: Fix stack realign test. (#2302427) 2024-08-02 12:21:43 +01:00
Nick Clifton
971ba2a8a8 Annocheck: Fix recording arguments for later re-use. 2024-07-29 14:26:39 +01:00
Nick Clifton
0e3736f8d5 GCC Plugin: Fix building AArch64 component with GCC < 11.5 2024-07-26 11:36:40 +01:00
Nick Clifton
45d3b32bb5 Annocheck: Add improvements to the builtby utility. 2024-07-22 16:41:34 +01:00
Fedora Release Engineering
8b14651d73 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 17:00:25 +00:00
Nick Clifton
66acf79a65 Annocheck: Add support for ADA binaries.
Annocheck: Add support for binaries built from more than two high level source languages.
Annocheck: Add support for object files containing no executable code.
Annocheck: Do not FAIL LLVM compiled binaries that have not been built with sanitize-cfi and/or sanitize-safe-stack.
2024-07-08 16:18:17 +01:00
Nick Clifton
ef0b5b688f Annocheck: Add support for Fortran binaries. 2024-06-26 13:14:34 +01:00
Nick Clifton
e3ef33dbab Annocheck: Add heuristic for detecting parts of the CGO runtime library. 2024-06-11 11:09:31 +01:00
Nick Clifton
259c41299f Annocheck: Add improvements for handling Clang runtime binaries. 2024-06-10 20:21:55 +01:00
Nick Clifton
d6a496d36f Annocheck: Add tweaks for mixed Rust/C binaries. Annocheck: Add more glibc source file names.
Resolves: #2284605
2024-06-04 12:59:30 +01:00
Nick Clifton
ae512e7472 Annocheck: Skip GAPS test for GO binaries. (RHEL-36308) 2024-05-20 17:02:37 +01:00
Nick Clifton
bdb24185ac Spec File: Add annobin plugin document directory to the files section. (#2279779) 2024-05-20 11:01:20 +01:00
Nick Clifton
9258b8e345 Remove spurious tabs in spec file 2024-05-15 09:40:39 +01:00
Nick Clifton
2f7d934a1b Annocheck: Remove some false positives for Rust binaries. (#2280239) 2024-05-14 13:12:09 +01:00
Nick Clifton
ccc51555db Spec File: Add the annobin source directory to the files section. (#2279779) 2024-05-09 14:57:48 +01:00
Nick Clifton
c1911b4522 Annocheck: Defer passing the branch protection test until all notes have been checked.
GCC Plugin: Add extra code for detecting the branch protection setting.  (RHEL-35958)
2024-05-09 13:32:34 +01:00
Nick Clifton
36d58767e8 Annocheck: Add OpenSSL Engine test. (PTG-319) 2024-04-25 15:37:11 +01:00
Nick Clifton
347ab12f1b Fix typo in RiscV-64 test 2024-04-23 17:06:11 +01:00
Nick Clifton
bfcebe5b7a Annocheck: Test for gaps even when only one note is present. 2024-04-23 14:01:09 +01:00
Nick Clifton
3c6b5392cb Annocheck: Skip AArch64 branch protection test for GO binaries. 2024-04-22 10:10:53 +01:00
Nick Clifton
ea27843b39 GCC Plugin: Disable active check for -Wimplicit-int for non-C sources. (#2275884) 2024-04-18 14:57:25 +01:00
Nick Clifton
f781e05bf2 Annocheck: Update heuristics for detecting glibc code in executables. 2024-04-02 12:24:49 +01:00
Nick Clifton
896c08393d Clang & LLVM Plugins: Allow environment to override fortification level. (RHEL-30579) - Spec File: Override fortification level and set it to 3. 2024-03-27 15:34:11 +00:00
Nick Clifton
303819a5ab Improve AArch64 branch protection (again) 2024-03-25 17:14:25 +00:00
Nick Clifton
47385af4e7 GCC Plugin: Fix bug extracing the value of target specific command line options. 2024-03-21 13:55:31 +00:00
Nick Clifton
5f0f6e2130 Configure: Remove check for FrontendPluginRegistry.h header as it is stored in a non-standard location on Debian systems.
Debuginfod test: Allow for the libdwfl library silently contacting the debuginfod server.
2024-03-06 11:09:08 +00:00
Nick Clifton
69b1a48d80 LLVM Plugin: Use llvm-config to get the correct paths and options for building executables.
Clang Plugin: Likewise.
Enable silent rules for most building.
Annocheck: Correctly extract DWARF attributes from DT_REL files.
2024-03-05 19:15:50 +00:00
Nick Clifton
25eb793fc6 Annocheck: Improve heuristics for locating debug info files.
Resolves: #2267097
2024-03-01 13:23:24 +00:00
Nick Clifton
0effccb8be Clang Plugin: Fix building with Clang 18. GCC Plugin: Add support for MIPS specific target functions; use .dc.a for address expressions in 64-bit ELF format notes.
Resolves PR #31414
2024-02-27 14:12:46 +00:00
Nick Clifton
73b8007cea Spec File: Remove a workaround for ppc64le. 2024-02-21 10:40:46 +00:00
Nick Clifton
f8fff3b527 fix version number in changelog entry 2024-02-20 10:42:34 +00:00
Nick Clifton
53b741aee7 Annocheck: Improve heuristic for skipping LTO and FORTIFY tests. (#2264000) 2024-02-13 10:41:58 +00:00
Nick Clifton
b33d6eb99f Annocheck: Also skip property note test for i686 binaries. (#2258571) 2024-02-09 19:44:11 +00:00
Nick Clifton
060caaa613 Annocheck: Also skip the entry point test for i686 binaries.
Resolves: #2258571
2024-01-23 11:21:43 +00:00
Fedora Release Engineering
a27178473c Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 23:03:39 +00:00
Fedora Release Engineering
fd3c6e395f Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 12:57:19 +00:00
Nick Clifton
d284a8fcc1 GCC Plugin: Do not use section groups with string notes. 2024-01-17 14:24:49 +00:00
Nick Clifton
14a9d08e3b Spec File: NVR bump in order to allow building in side tag. 2024-01-16 12:09:50 +00:00
Nick Clifton
9285dfc44f Annocheck: Disable cf-protection test for i686 architecture.
Resolves: #2258571
2024-01-16 11:32:07 +00:00
Nick Clifton
bcf9899fd2 Spec File: NVR bump in order to allow building in side tag. 2024-01-15 10:53:17 +00:00
Nick Clifton
7e0b254b14 temporarily disable hard gcc version check 2024-01-15 10:05:28 +00:00
Nick Clifton
7c96faca28 NVR bump to allow rebuild in side tag 2024-01-15 09:21:52 +00:00
Nick Clifton
8f0126e8de Spec File: Do not install annocheck.1.gz when annocheck is disabled 2024-01-11 15:27:40 +00:00
Nick Clifton
74b0aa2a4f Annocheck: Improve detection of FIPS compliant GO binaries. 2024-01-04 15:00:28 +00:00
Nick Clifton
0fb7998b16 GCC Plugin: Fix recording of the -Wimplicit-int and -Wimplicit-function-declaration warnings. Add active checks for when they are deliberately disabled. 2023-12-15 13:31:47 +00:00
Nick Clifton
01a58912b3 Tests: Fix implicit-values test so that it will compile with gcc 14+. 2023-12-11 13:01:20 +00:00
Nick Clifton
5e535c171f GCC Plugin: Add support for -fhardended. 2023-11-24 11:10:53 +00:00
Nick Clifton
0a315f7267 Update glibc detection heuristics for PPC64. (RHEL-16453) 2023-11-15 15:56:06 +00:00
Nick Clifton
7bfea6e7ea Fix another atexit test failure. (#2247481) 2023-11-01 16:23:37 +00:00
Nick Clifton
e6c17188a8 Fix atexit test failure. Notes: Add support for string format notes. 2023-10-30 10:12:51 +00:00
Nick Clifton
518e422ce8 GCC Plugin: Record settings of -Wstrict-flex-arrays and -fstrict-flex-arrays
Annobin: Add future test of these options.
2023-10-06 13:30:21 +01:00
Nick Clifton
820e8490c1 12.27: Add detection and reporting of the absence of -Wimplicit-int and -Wimplicit-function-declaration 2023-09-26 14:59:48 +01:00
Nick Clifton
290b9207f3 Remove redundant patch 2023-09-26 11:18:36 +01:00
Nick Clifton
9aa8c4025e LLVM Plugin: Fix building with LLVM version 17. 2023-09-06 08:26:36 +01:00
Nick Clifton
d4a01699fc GCC Plugin: Enable string note format by default. 2023-08-30 08:32:43 +01:00
Nick Clifton
b8758c2ddd Annocheck: Change GO FIPS test to look for CGO_ENABLED markers. 2023-08-04 14:13:51 +01:00
Nick Clifton
1399107c1f Annocheck: Add test for FIPS compliant GO binaries. 2023-07-31 12:41:44 +01:00
Nick Clifton
bcd8d3a6c1 Annocheck: Fix double free. (#2226749) 2023-07-26 16:09:06 +01:00
Václav Kadlčík
e1ed0f967b Move downstream tests to a separate repository
The tests have been moved to
  https://src.fedoraproject.org/tests/annobin
The move will enable more flexible downstream usage, namely
in RHEL testing.
2023-07-26 13:09:38 +02:00
Fedora Release Engineering
420e5ffe64 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 13:17:45 +00:00
Nick Clifton
7d937f32ea Spec File: migrated to SPDX license. (#2222112) 2023-07-18 13:13:11 +01:00
Nick Clifton
5b54cac552 Spec File: Change License field to use SPDX notation. (#2222112) 2023-07-17 13:18:39 +01:00
Nick Clifton
2b17846e9b Annocheck: Ignore AArch64 $x and $d symbols. (#2221192) 2023-07-17 10:53:34 +01:00
Nick Clifton
1652c5101a GCC Plugin: Suppress active checks for fortran sources. Improve scanning of COLLECT_GCC_OPTIONS. 2023-07-05 14:30:54 +01:00
Nick Clifton
eca718919f Remove dependency upon libiberty 2023-07-03 15:52:09 +01:00
Tom Stellard
74ac5654d6 Fix Regression/testsuite test
Rawhide now has dnf5, so we need to install dnf5-plugins for the
builddep command to work.
2023-06-29 17:25:41 +00:00
Nick Clifton
de71a8d994 Annocheck: Add detection of known parts of libstdc++-nonshared.a that contain gaps. (#2217864) 2023-06-29 15:24:28 +01:00
Nick Clifton
351368aee5 Annocheck: Ignore weak/undef function symbols when checking to see if a binary contains code. (#2217840) 2023-06-27 13:10:32 +01:00
Nick Clifton
f84a88b3c7 Annocheck: Add --suppress-version-warnings option. 2023-06-26 16:32:51 +01:00
Nick Clifton
644bc59850 Annocheck: Do not ignore separate debuginfo files that do not contain any DWARF. 2023-06-22 16:46:30 +01:00
Nick Clifton
599631e996 12.13: More tweaks to glibc detection heuristics. (#2215968) 2023-06-20 14:36:52 +01:00
Nick Clifton
91e4265352 Check for string notes in debuginfo file, even if there are ELF notes in the main file 2023-06-02 14:54:24 +01:00
Nick Clifton
6e8c98dd8f Annocheck: Add support for el10 and rhel-10 profiles. 2023-05-26 12:09:29 +01:00
Petr Písař
b92fd219d6 Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19) 2023-05-22 17:37:50 +02:00
Nick Clifton
9e5f183b04 add missing patch file 2023-05-05 11:44:33 +01:00
Nick Clifton
18b154e072 Enable new string format notes 2023-05-05 11:44:05 +01:00
Nick Clifton
6a9bd4377f Improve detection and reporting of problems with Rust binaries. 2023-04-28 14:22:04 +01:00
Nick Clifton
8725f42767 Annocheck: Fix detection of missing plugin options.
Resolves: #2189492
2023-04-25 17:49:30 +01:00
Nick Clifton
6a05b5374b 12.08: Fix covscan errors and libannocheck initialisation 2023-04-25 13:10:28 +01:00
Nick Clifton
c7f9bb74d9 gcc-plugin: generate warnings about misspelt -D_FORTIFY_SOURCE and/or -D_GLIBCXX_ASSERTIONS options. 2023-04-21 13:42:16 +01:00
Nick Clifton
8e60c8613b gcc-plugin: use a bigger buffer for constructing notes. 2023-04-20 17:20:10 +01:00
Nick Clifton
666fd997c8 Fix detection of optimization level in llvm plugin. 2023-04-20 11:02:31 +01:00
Nick Clifton
45e0e60d56 annocheck: Fix seg-fault when checking for glibc components in string format notes. 2023-04-19 13:22:11 +01:00
Nick Clifton
47dc851a55 configure: Simplify. 2023-04-13 20:03:14 +01:00
Nick Clifton
126c39082f Fix Clang and LLVM plugins to work with LLVM v16.
Improve string notes.
Add environment variable for annobin plugin options.
2023-04-11 13:53:28 +01:00
Nick Clifton
6f67429132 gcc plugin: Keep ELF notes at protocol version 3. 2023-03-30 12:27:52 +01:00
Nick Clifton
52cd4f8979 Annocheck: Add a few more glibc exceptions.
Protocol: Update to version 4 - add string notes.
2023-03-29 09:52:27 +01:00
Yaakov Selkowitz
4cb3354e13 Fix RHEL build
RHEL 7+ have rpm versions which support the --undefine parameter.
2023-03-14 13:40:34 -04:00
Nick Clifton
07c77149e9 Fix NVR 2023-03-13 16:10:45 +00:00
Nick Clifton
71f22a9e68 Annocheck: Update message for LTO tests. (#2177140) 2023-03-13 16:10:02 +00:00
Nick Clifton
bbc496884e Add more exceptions for glibc functions 2023-03-08 10:07:57 +00:00
Nick Clifton
24835ca037 Another special case for glibc 2023-03-03 16:06:25 +00:00
Nick Clifton
8c78c3f165 GCC Plugin: Do not run if other plugins are active. (#2162746) 2023-02-28 10:52:07 +00:00
Václav Kadlčík
85d843af12 Remove an obsoleted option from the CI plan
TMT has obsoleted the "directory" option. We do not need to replace it
with anything, the discovery phase works still the same way.
2023-02-27 09:17:24 +01:00
Nick Clifton
1465b9cc20 Annocheck: Add code to handle glibc functions built without LTO. 2023-02-23 13:44:06 +00:00
Nick Clifton
f2ce511886 Libannocheck: Fix thinko in debugging code. - Annocheck: Fix LTO test. - Notes: Display notes held in separate dbeuginfo files. 2023-02-02 15:25:05 +00:00
Nick Clifton
b9a4683387 Annocheck: Fix atexit test. Fix recording of version numbers. (#2165528) 2023-01-31 08:22:35 +00:00
Nick Clifton
fff7a22799 LLVM & Clang Plugins: Build with branch protection on AArch64. (#2164364)
Fix gating tests.
2023-01-25 12:43:46 +00:00
Václav Kadlčík
f45bd71eb3 Adapt test scripts to newest annobin versions 2023-01-24 15:15:39 +01:00
Václav Kadlčík
bc0466b88d Make requirements in gating tests more explicit
Make requirements stricter (required packages instead of recommended
packages) and remove requirements that are no longer needed. The
previous requirements caused failures in manual testing and possibly
some gating failures as well.
2023-01-24 15:09:53 +01:00
Václav Kadlčík
250db92462 Adapt to TMT 1.19+
The Fedora testing farm was updated to TMT 1.19 in December.
"how: beakerlib" in our test metadata is no longer supported,
this commit fixes it.
2023-01-24 15:05:19 +01:00
Nick Clifton
0dd004a8d8 Libannocheck: Fix bug causing infinite looping when running tests. 2023-01-20 16:38:35 +00:00
Fedora Release Engineering
d5c3f3f99c Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 21:45:12 +00:00
Jakub Jelinek
4cdb52a0c2 Rebuilt against GCC 13. 2023-01-16 13:06:48 +01:00
Nick Clifton
886835160d Annocheck: Fix handling of file built by multiple versions of gcc. (#2160700) 2023-01-13 16:17:24 +00:00
Nick Clifton
357f81a176 Annocheck: Fix handling of empty files. (#2159292) 2023-01-09 15:03:04 +00:00
Nick Clifton
ba8d65fa5b Annocheck: Add crti.o and crtn.o to the list of known glibc special files. (#2158740) 2023-01-06 13:50:48 +00:00
Nick Clifton
4ff4a783cb Annocheck: Fix memory leaks 2023-01-06 09:51:48 +00:00
Nick Clifton
afa3de1ef8 nnocheck: Do not assume that object files contain no code simply because they do not have an executable segment. (#2158182) 2023-01-04 15:43:33 +00:00
Nick Clifton
2ec6c8b01c annocheck: Add more special glibc files 2023-01-04 11:56:35 +00:00
Nick Clifton
8749815a76 Improve handling of tool versions 2022-12-21 16:30:12 +00:00
Nick Clifton
2bb2ec5d78 NVR bump to allow rebuild 2022-12-20 13:11:50 +00:00
Nick Clifton
c1204cc8ac Spec File: Fix rebuilding plugins (better version). 2022-12-20 11:33:24 +00:00
Nick Clifton
5271f2bc79 Spec File: Fix building with plugin_rebuild enabled. 2022-12-20 11:00:37 +00:00
Nick Clifton
be2978da15 add new sources 2022-12-16 11:36:22 +00:00
Nick Clifton
072153ed0c GCC plugin: Fix building with gcc-13. 2022-12-16 11:29:52 +00:00
Nick Clifton
2f21168d4c Annocheck: Add test for binaries built by cross compilers 2022-12-16 08:48:26 +00:00
Nick Clifton
567f2c40ba Add new sources 2022-12-15 11:30:58 +00:00
Nick Clifton
c30926d750 Annocheck: Improve heuristic used to detect binaries without code. (#2144533) 2022-12-15 11:21:15 +00:00
Nick Clifton
79c88cf669 Avoid using debug filename when parsing notes in a debuginfo file. (#2152280) 2022-12-12 13:36:29 +00:00
Nick Clifton
a943824136 Annocheck: Better detection of binaries which do not contain code. (#2144533) 2022-11-30 10:02:01 +00:00
Nick Clifton
5ed44f97c8 Annocheck: Provide more information when a test is skipped because the file being tested was not compiled. 2022-11-23 14:07:59 +00:00
Nick Clifton
e1f5135ff6 Annocheck: Try harder not to run mutually exclusive tests. 2022-11-07 18:00:03 +00:00
Nick Clifton
48b4264002 Tests: Fix future-test so that it properly handles the situation where the compiler does not support the new options. 2022-10-21 12:41:20 +01:00
Nick Clifton
3ce07632bf Libannocheck: Actually set result fields after tests are run. 2022-10-19 16:11:48 +01:00
Nick Clifton
f85d35312b Libannocheck: Replace libannocheck_version variable with LIBANNOCHECK_VERSION define. 2022-10-17 14:45:49 +01:00
Nick Clifton
0062e138c9 Libannocheck: Remove 'Requires binutils-devel' from libannocheck.pc. 2022-10-11 12:24:53 +01:00
Nick Clifton
47ea330426 Libannocheck: Move into separate sub-package. 2022-10-05 11:37:21 +01:00
Nick Clifton
5967b15825 libannocheck: Add pkgconfig file 2022-10-04 14:05:30 +01:00
Nick Clifton
b374112889 Libannocheck: Add libannocheck_reinit(). 2022-09-30 15:35:19 +01:00
Nick Clifton
157ed58dce GCC Plugin: Record -ftrivial-auto-var-init and -fzero-call-used-regs.
Annocheck: Add future tests for  -ftrivial-auto-var-init and -fzero-call-used-regs.
2022-09-22 16:30:48 +01:00
Nick Clifton
867bb75b55 Clang Plugin: Fix for building with Clang-15. (#2125875) 2022-09-20 13:17:11 +01:00
Nick Clifton
0b1b4157b3 Annocheck: Add a test for the inconsistent use of -Ofast. (#1248744) 2022-09-09 14:51:52 +01:00
Nick Clifton
689378de52 Annocheck: Add a test for the inconsistent use of -Ofast. (#1248744) 2022-09-09 13:47:09 +01:00
Nick Clifton
c86583e001 NVR Bump in order to trigger a rebuild for ELN. (#2124562) 2022-09-06 16:01:29 +01:00
Nick Clifton
253c3f05a5 Plugin: Fix top level configuration support for RiscV. 2022-08-11 11:29:10 +01:00
Nick Clifton
8dc50c73e8 Annocheck: Improvements to the size tool. 2022-08-11 10:07:49 +01:00
Nick Clifton
a55206c420 Annocheck: Fixes for libannocheck.h. 2022-07-25 15:44:44 +01:00
Fedora Release Engineering
0190aaeb50 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 20:49:03 +00:00
Nick Clifton
794d4708ef Annocheck: Add automatic profile selection. 2022-07-05 09:16:59 +01:00
Nick Clifton
4cf5153ba7 Annocheck: Improve gap detection and reporting 2022-07-04 16:18:07 +01:00
Nick Clifton
2a644cdee4 Spec File: Use the %%dir directive in the %%files section to ensure that plugin directories are useable. (#2080454)
Spec File: Remove bogus Provides from annobin-docs subpackage.
2022-06-29 17:38:18 +01:00
Nick Clifton
278aadbc36 Annocheck: Check build-id of separate debuginfo files.
Annocheck: Add GAPS test replacing --ignore-gaps.
2022-06-14 10:18:00 +01:00
Nick Clifton
6af1867f17 Annocheck: Fix covscan detected race condition between stat() and open(). 2022-06-09 15:12:55 +01:00
Nick Clifton
d9744eac07 Annocheck: Handle binaries created by Rust 1.18. (#2094420)
Annocheck: Add optional function name to --skip arguments.  (PR 29229)
2022-06-07 16:56:59 +01:00
Nick Clifton
6aaecc9f93 Annocheck: Fix handling of command line options that take arguments. (#2086850) 2022-05-17 12:34:14 +01:00
Nick Clifton
f271cd9920 Annocheck: Do not complain about unenabled -mbranch-protection option in AArch64 binaries. (#2078909) 2022-05-16 15:53:08 +01:00
Nick Clifton
1f57bcbc2c gcc-plugin: Fix typo in configure.ac 2022-05-11 14:35:10 +01:00
David Abdurachmanov
6a039d67f0 Add support for RISC-V
Author: David Abdurachmanov <david.abdurachmanov@gmail.com>
Signed-off-by: Nianqing Yao <imbearchild@outlook.com> and David Abdurachmanov <david.abdurachmanov@gmail.com>
2022-05-11 20:51:05 +08:00
Jun Aruga
e305a8053a Add URL tag to see it by rpm -qi annobin-annocheck. 2022-05-10 15:42:24 +02:00
Nick Clifton
f0bfd1e41e Annocheck: Add another special case for glibc rpms. (#2083070) 2022-05-09 11:07:02 +01:00
Nick Clifton
67f8a8d11a Annocheck: Do not complain about unenabled -mbranch-protection option in AArch64 binaries if compiled using LTO. (#2082146) 2022-05-06 15:00:55 +01:00
Nick Clifton
75736750e6 Annocheck: Add more glibc exceptions + check PT_TLS segments. (#2081131) 2022-05-03 14:09:23 +01:00
Nick Clifton
b464395c19 Annocheck: Do not complain about missing -mbranch-protection option in AArch64 binaries if compiled by golang. 2022-04-22 08:22:06 +01:00
Nick Clifton
2e205722fd Annocheck: Do not complain about missing -mbranch-protection option in AArch64 binaries if compiled in LTO mode. 2022-04-13 09:35:37 +01:00
Nick Clifton
e0ddeb63a3 10.65: gcc-plugin: Add support for CLVC_INTEGER 2022-04-12 17:53:12 +01:00
Nick Clifton
098cf0d690 Annocheck: Even more special cases for AArch64 glibc on RHEL-8. (#2072082) 2022-04-06 12:58:19 +01:00
Nick Clifton
3de80672fa Annocheck: Add more special cases for AArch64 glibc on RHEL-8. (#2072082) 2022-04-06 12:19:52 +01:00
Nick Clifton
d4466f7406 Fix thinko in llvm plugin sources 2022-04-05 14:04:16 +01:00
Nick Clifton
eceb178173 remap OPT_Wall 2022-04-02 09:31:20 +01:00
Nick Clifton
c2186bc772 10.60: Add support for building using meson+ninja. 2022-03-31 13:41:14 +01:00
sergesanspaille
8b1a765248 Rebuilt against new LLVM release, with patch. 2022-03-30 21:33:03 +02:00
Nick Clifton
8ee18a899b Fix bug in annocheck's AArch64 property note test. 2022-03-30 11:49:43 +01:00
Nick Clifton
14685185f1 gcc-plugin: Do not issue warning messages for autoconf generated source files. (#2009958) 2022-03-14 11:53:08 +00:00
Jakub Jelinek
d5f69acf32 10.57-3 2022-03-09 19:31:39 +01:00
Jakub Jelinek
6cdacc7a72 10.57-2 2022-03-09 15:28:56 +01:00
Nick Clifton
c712a9f799 Annocheck: Update documentation and fix typo in annocheck. (#2061291) 2022-03-07 12:30:17 +00:00
Václav Kadlčík
1301bfec6a Adapt a gating test to annobin 10.56
Since 10.56, annocheck needs to be told how to handle symlinks. This
particular test was developed for the "follow symlinks" behaviour so
let's add --follow-links. However, while being here, checking on the
other code path wouldn't hurt so let's look at it, too.
2022-03-07 10:40:58 +01:00
Václav Kadlčík
ac454f15f0 Fix a typo in a gating test 2022-03-07 10:19:22 +01:00
Nick Clifton
c9b3e0dcfe Annocheck: Add option to enable/disable following symbolic links. 2022-03-04 17:29:15 +00:00
Nick Clifton
d6d59a73a8 Always identify Rust binaries, even if built on a host that does not know about Rust.
Resolves: #2057737
2022-02-28 11:53:01 +00:00
Jakub Jelinek
43a0cd19e4 10.54-4 2022-02-24 14:53:49 +01:00
Nick Clifton
1b6c8e58c5 Spec File: Use a different method to disable the annobin plugin (#2054571) 2022-02-16 12:49:47 +00:00
Jakub Jelinek
4f1eb1f73a 10.54-2 2022-02-14 10:10:40 +01:00
Nick Clifton
41efc42594 annocheck: skip PIE and PIC tests for GO binaries 2022-02-11 15:26:15 +00:00
Jakub Jelinek
5b4731b0ac 10.53-2 2022-02-06 17:45:26 +01:00
Nick Clifton
21338bea37 Borrow a patch from the GCC package to stop libtool from inserting needless runpaths into binaries. (#2030667) 2022-01-27 16:56:19 +00:00
Nick Clifton
9cdecda9e3 gcc-plugin: Use canonical_option field of save_decoded_options array. (#2047148) 2022-01-27 13:09:45 +00:00
Florian Weimer
8c2f473929 Rebuild for new gcc version 2022-01-27 10:29:49 +01:00
Nick Clifton
8e76478b1d Annocheck: Add an option to disable the use of debuginfod (if available).
Annocheck: Add more glibc special file names.
Annocheck: Skip some tests for BPF binaries.
2022-01-25 15:42:19 +00:00
Nick Clifton
a6710fda16 Annocheck: Add another glibc static library symbol. (#2043047) 2022-01-20 16:20:57 +00:00
Nick Clifton
4852d3d782 Annocheck: Skip property note test for GO binaries. (#204300) 2022-01-20 15:18:08 +00:00
Fedora Release Engineering
86fbdc98e6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 21:16:45 +00:00
Nick Clifton
dfa29772c3 Another NVR bump 2022-01-19 19:31:54 +00:00
Jakub Jelinek
7cf2a96973 10.48-4 2022-01-19 18:35:04 +01:00
Nick Clifton
f7e1805543 Another NVR bump 2022-01-19 14:25:39 +00:00
Nick Clifton
449fc20654 NVR bump 2022-01-19 13:56:59 +00:00
Nick Clifton
557b866dd0 GCC Plugin: Do not fail if a section cannot be attached to a group. 2022-01-17 14:38:17 +00:00
Nick Clifton
9816f99346 NVR bump to allow rebuild in a side tag. 2022-01-14 10:45:48 +00:00
Nick Clifton
a6ef977e8b GCC Plugin: Only default to link-once when using gcc-12 or later. (#2039297) 2022-01-14 09:48:30 +00:00
Nick Clifton
efff188861 Add fix for fortify test 2022-01-10 12:02:15 +00:00
Nick Clifton
244433eec3 GCC Plugin: Replace CLVC_BOOLEAN with CLVC_BIT_SET/CLVC_BIT_CLEAR. 2022-01-10 09:33:18 +00:00
Nick Clifton
c53c5783da NVR bump and disable annobin during build 2022-01-10 09:16:01 +00:00
Jakub Jelinek
b097ccc79b 10.44-4 2022-01-10 01:01:41 +01:00
Jakub Jelinek
a40c58d2d4 10.44-4 2022-01-10 01:00:55 +01:00
Jakub Jelinek
ffabcb06f2 10.44-3 2022-01-10 00:49:59 +01:00
Jakub Jelinek
550ef1b763 10.44-2 2022-01-10 00:25:58 +01:00
Jakub Jelinek
c34a9f5bc5 10.44-2 2022-01-09 20:08:02 +01:00
Nick Clifton
a14426ce95 Annocheck: Add even more glibc function names. (#2037333) 2022-01-07 15:09:37 +00:00
Nick Clifton
ee78766bff Annocheck: ARM: Do not fail tests that rely upon annobin notes. 2022-01-07 14:10:23 +00:00
Nick Clifton
0000a56eab Annocheck: Extend list of known glibc functions. (#2037333) 2022-01-05 15:38:48 +00:00
Nick Clifton
1e262d15b3 - Annocheck: Ignore gaps that contain the _start symbol (for AArch64). (#1995224)
- Annocheck: Ignore more glibc special binaries.  (#2037220)
2022-01-05 12:06:02 +00:00
Nick Clifton
b4ba4e0d3c Annocheck: Do not complaining about missing stack clash notes if the compilation used LTO. (#2034946) 2022-01-04 11:42:27 +00:00
Nick Clifton
ec8f2b145d - Annocheck: Add /usr/lib/ld-linux-aarch64.so.1 to the list of known glibc binaries. (#2033255)
- Doc: Note that ENDBR is only needed as the landing pad for indirect branches/calls.  (#28705)
- Spec File: Store full	gcc version release string in plugin info file.  (#2030671)
2021-12-17 15:46:16 +00:00
Nick Clifton
15b34fde9c Fix for RHEL-7 2021-12-14 17:55:37 +00:00
Nick Clifton
7c94cb66cc Annocheck: Do not complaining about missing -mstackrealign notes in LTO mode. (#2030298) 2021-12-14 10:04:35 +00:00
Nick Clifton
0c278a5d73 GCC Plugin: Do not record missing -mstackrealign in LTO mode. (#2030298) 2021-12-13 17:54:33 +00:00
Nick Clifton
0e6be40a3c Tests: Fix fortify and debuginfod tests to use newly built annobin plugin. 2021-12-13 13:41:04 +00:00
Nick Clifton
77a92a7119 Tests: Fix fortify and debuginfod tests to use newly built annobin plugin. 2021-12-13 12:55:43 +00:00
Nick Clifton
d83b796c87 Tests: Fix gaps and stat tests to use newly built annobin plugin. (#2028063) 2021-12-06 17:49:41 +00:00
Nick Clifton
ce231f4bd9 Tests: Fix gaps and stat tests to use newly built annobin plugin. (#2028063) 2021-12-06 14:43:50 +00:00
Nick Clifton
c7d76e06c2 Annocheck: Ignore gaps in binaries at least partial built by golang.
Resolves: #2028583
2021-12-06 12:19:06 +00:00
Nick Clifton
c99cca3ac4 Annocheck: Allow spaces in golang symbols. 2021-12-02 15:38:52 +00:00
Nick Clifton
3bf68f34bb Initial checkin of libannocheck 2021-12-01 15:53:49 +00:00
Nick Clifton
14b9ff320e gcc-plugin: Fix bug creating empty attachments.
Annocheck: Change MAYB result to SKIP for DT_RPATH.  (#2026300)
2021-11-24 14:03:50 +00:00
Nick Clifton
9fd7a9a7dc Annocheck: Skip missing fortify/warning notes for ARM32. 2021-11-19 12:25:11 +00:00
Nick Clifton
ddf58cca97 gcc-plugin: Try another fix for ppc64le section grouping. (#2023437) 2021-11-18 13:29:22 +00:00
Nick Clifton
cfbdb08f28 gcc-plugin: Revert 10.22 change. (#2023437) 2021-11-16 17:01:20 +00:00
Nick Clifton
5faade2ad7 Add support for more special glibc functions.
Fix building LLVM and Clang plugins for the ARM architecture.
2021-11-16 11:14:14 +00:00
Nick Clifton
92c34892f6 Annocheck: Add a test for unicode characters in identifiers. 2021-11-08 13:47:26 +00:00
Nick Clifton
18219884f1 gcc-plugin: Default to link-order grouping for PPC64LE. (#2016458) 2021-10-27 11:10:47 +01:00
Nick Clifton
ee53f9336e Annocheck: Do not fail if a --skip-<name> option does not match a known test.
ldconfig-test: Skip the LTO check.
2021-10-26 15:58:02 +01:00
Nick Clifton
7add09b73e Annocheck: Add more glibc function names. 2021-10-26 08:28:59 +01:00
Nick Clifton
7f58204567 gcc-plugin: Fix attaching the .text section to the .text.group section. 2021-10-21 13:48:54 +01:00
Nick Clifton
0bd26e8615 Complain about DT_RPATH for Fedora binaries. 2021-10-20 17:49:04 +01:00
Nick Clifton
3f7c00bf57 Better reporting of problems in object files.
Resolves: #2013708
2021-10-18 16:17:25 +01:00
Nick Clifton
7bc94a3f7c Add a requirement on llvm-libs for clang and llvm plugins.
Resolves: #2014573
2021-10-18 14:24:09 +01:00
Nick Clifton
0c5b1fec47 Fix configuring annocheck without gcc-plugin.
- Annocheck: Better reporting of debuginfod problems.
- Tests: Fix bugs in debuginfod test.
2021-10-14 20:04:48 +01:00
Nick Clifton
ab631794b6 Fix merge issues. 2021-10-13 11:56:58 +01:00
Nick Clifton
8477e1751d Annocheck: Add tests based upon recent bug fixes. 2021-10-13 11:55:02 +01:00
Tom Stellard
825be9a6a2 Rebuild for llvm-13.0.0 2021-10-12 16:29:18 +00:00
Nick Clifton
f1b2a85f11 Annocheck: Fix memory corruptions when using --debug-path and when a corrupt note is found.
Resolves: #2011438
2021-10-08 16:25:13 +01:00
Nick Clifton
f25c7c2336 Annocheck: Fix MAYB results for mixed GO/C files.
Annocheck: Move some messages from VERBOSE to VERBOSE2.
Annocheck: Scan zero-length tool notes.
2021-10-08 14:15:39 +01:00
Nick Clifton
efe8b5622b Annocheck: Fix covscan detected flaws.
plugins: Add more required build options.
2021-10-06 10:59:43 +01:00
Nick Clifton
c27947f871 Annocheck: Fix cf-prot test to fail if the CET notes are missing.
Annocheck: Skip gaps in the .plt section.
Plugins: Add -g option when building LLVM and Clang.
2021-10-05 14:28:09 +01:00
Nick Clifton
37b5de8c9b Annocheck: Add more cases of glibc startup functions. 2021-10-04 15:26:35 +01:00
Nick Clifton
5f79645f58 - Annocheck: Fix covscan detected problems.
- Annocheck: Add --profile=el8.
- gcc-plugin: Conditionalize generation of branch protection note.
2021-10-01 13:11:12 +01:00
Nick Clifton
da3ba09492 Annocheck: Ignore gaps containing NOP instructions. 2021-09-29 13:12:12 +01:00
Nick Clifton
c62bd663ec GCC Plugin: Fix detection of running inside the LTO compiler. (#2004917) 2021-09-16 15:06:57 +01:00
Nick Clifton
ee93527317 Annocheck: Do not insist on the DT_AARCH64_PAC_PLT flag being present in AArch64 binaries. 2021-09-15 15:00:18 +01:00
Nick Clifton
0aa5d1ce55 Annocheck: With gaps at the start/end of the .text section, check for special symbols before displaying a MAYB result. 2021-09-15 12:09:38 +01:00
Nick Clifton
a99d618d38 Annocheck: Do not set CFLAGS/LDFLAGS when building. Take from environment instead. 2021-09-15 10:43:42 +01:00
Nick Clifton
92cb681581 Annocheck: Fix exit code when tests PASS. 2021-09-10 11:08:17 +01:00
Nick Clifton
fe496281b3 - Documentation: Add node for each hardening test.
- Documentation: Install online.
- Annocheck: Annote FAIL and MAYB results with URL to documentation
- Annocheck: Add --no-urls and --provide-urls options
- Annocheck: Add --help-<tool> option.
2021-09-09 14:18:24 +01:00
Nick Clifton
9d82370d42 - Annocheck: Fix fuzzing detected failures.
- Annocheck: Added --profile option.
- Docs: Documented --profile option and rpminspect.yaml.
2021-09-03 17:55:06 +01:00
Nick Clifton
ba44d58e22 Annocheck: Skip GO/CET checks. Fix fuzzing detected failures. 2021-08-31 15:18:09 +01:00
Nick Clifton
29d70de971 LLVM Plugin: Automatically choose the correct tests to run, based upon the version of Clang installed. (#1997444)
spec file: Add the installation of the annobon sources into /usr/src/annobin.
2021-08-25 13:38:58 +01:00
Nick Clifton
1d5918a750 Annocheck: Fix memory corruption. (#1996963)
spec file: Add the creation of a gcc-plugin version info file in /usr/lib/rpm/redhat.
2021-08-24 17:16:30 +01:00
Martin Cermak
5e4c738a8f CI Gating: Test cover bz1991931 2021-08-20 15:25:33 +02:00
Martin Cermak
be3e1af704 CI Gating: Test cover bz1988715 2021-08-20 14:43:36 +02:00
Martin Cermak
ced3a24210 CI gating: Test cover bz1988714 2021-08-20 14:04:14 +02:00
Nick Clifton
7a0769e513 Annocheck: Add linker generated function for ppc64le exceptions. (#1981410)
LLVM Plugin: Allow checks to be selected from the command line.
Annocheck: Examine DW_AT_producer for -flto.
2021-08-18 11:28:24 +01:00
Nick Clifton
5d4d27dda9 Annocheck: Conditionalize detection of AArch64's PAC+BTI protection.
Annocheck: Add linker generated function for s390x exceptions.  (#1981410)
2021-08-17 15:03:42 +01:00
Nick Clifton
6d69597433 Annocheck: Generate MAYB results for gaps in notes covering the .text section. (#1991943)
Annocheck: Close DWARF file descriptors once the debug info is no longer needed.  (#1981410)
LLVM Plugin: Update to build with Clang v13.  (Thanks to: Tom Stellard <tstellar@redhat.com>)
2021-08-17 12:10:03 +01:00
23 changed files with 1023 additions and 620 deletions

View file

@ -1,27 +0,0 @@
From bda340f0754972944ec115a72f1a8547ffa21f1c Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Mon, 16 Aug 2021 18:04:53 +0000
Subject: [PATCH] llvm-plugin: Add -flegacy-pass-manager option to the test
case
The plugin does not work with the new pass manager yet.
---
llvm-plugin/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm-plugin/Makefile.in b/llvm-plugin/Makefile.in
index bdd8b19..92bcc9a 100644
--- a/llvm-plugin/Makefile.in
+++ b/llvm-plugin/Makefile.in
@@ -48,7 +48,7 @@ PLUGIN_TEST_OPTIONS = \
# -fcf-protection \
check: @srcdir@/hello.c
- @ $(CLANG) -Xclang -load -Xclang $(PLUGIN) $(PLUGIN_TEST_OPTIONS) -c @srcdir@/hello.c
+ @ $(CLANG) -flegacy-pass-manager -Xclang -load -Xclang $(PLUGIN) $(PLUGIN_TEST_OPTIONS) -c @srcdir@/hello.c
@ $(READELF) --wide --notes hello.o > llvm-plugin-test.out
@ grep --silent -e "annobin built by llvm version" llvm-plugin-test.out
@ grep --silent -e "running on LLVM version" llvm-plugin-test.out
--
2.26.2

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
url: https://src.fedoraproject.org/tests/annobin.git
execute:
how: beakerlib
how: tmt

View file

@ -1 +1 @@
SHA512 (annobin-9.87.tar.xz) = 04ce3881a149b1e609ecbfcd90b5eb37eddef923f2b6eb3b8e7cc15c6f2c645930ff4e01ff592d9eddd47767cd2b793e68a3dc4c5cc385519c8b6c041ac15a53
SHA512 (annobin-13.05.tar.xz) = 07bc023018e3f456fae470b271915bde2e1ff367ee8bb58adb74255023ae59e8c45ced8e4bd2130bf8a496966d986bca9866e054019f6ca4660d78c129b6532f

View file

@ -1,2 +0,0 @@
The test's Makefiles are not used in Fedora CI infrastructure. But are kept here
for backward compatibility with traditional beakerlib test harness in RHEL.

View file

@ -1,16 +0,0 @@
summary: Test for BZ#1958954 (annobin fails to skip endbr64 entry point check)
description: |
Bug summary: annobin fails to skip endbr64 entry point check for shared objects
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1958954
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin-annocheck
- gcc
duration: 48h
extra-summary: /tools/annobin/Regression/annobin-fails-to-skip-endbr64-entry-point-check
extra-task: /tools/annobin/Regression/annobin-fails-to-skip-endbr64-entry-point-check

View file

@ -1,54 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/annobin/Regression/annobin-fails-to-skip-endbr64-entry-point-check
# Description: Test for BZ#1958954 (annobin fails to skip endbr64 entry point check)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="annobin"
rlJournalStart
rlPhaseStartSetup
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlRun "rpm -q annobin-annocheck gcc"
rlPhaseEnd
rlPhaseStartTest
rlRun "echo 'void f1(void) {}' > f1.c"
rlRun "echo 'void f2(void) {}' > f2.c"
rlRun "gcc `rpm --eval %build_cflags` -fpic -c f1.c"
rlRun "gcc `rpm --eval %build_cflags` -fpic -c f2.c"
rlRun "gcc `rpm --eval %build_ldflags` -shared f1.o f2.o"
rlRun "annocheck -v a.out"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,21 +0,0 @@
summary: identify
description: ''
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
- devtoolset-10
- devtoolset-10-annocheck
- devtoolset-11
- devtoolset-11-annocheck
- gcc-toolset-10
- gcc-toolset-10-annocheck
- gcc-toolset-11
- gcc-toolset-11-annocheck
duration: 48h
extra-summary: /tools/annobin/Regression/identify
extra-task: /tools/annobin/Regression/identify

View file

@ -1,43 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/annobin/Regression/identify
# Description: identify
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="annobin"
rlJournalStart
rlPhaseStartTest
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
rlRun "tool_v=$(annocheck --version | awk '/^annocheck: Version/ {print $3}')"
rlRun "__RPM=$(rpm --queryformat='%{name}\n' -qf $(man -w annobin))"
rlRun "rpm_v=$(rpm -q --queryformat='%{version}\n' $__RPM)"
# Following fails for annobin-8.89-2.el8
rlRun "[[ "x${tool_v}" == "x${rpm_v}." ]]"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,16 +0,0 @@
summary: lto-preprocessor-options
description: ''
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- gcc
- annobin
- annobin-annocheck
- redhat-rpm-config
duration: 48h
extra-summary: /tools/annobin/Regression/lto-preprocessor-options
extra-task: /tools/annobin/Regression/lto-preprocessor-options

View file

@ -1,44 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/annobin/Regression/lto-preprocessor-options
# Description: lto-preprocessor-options
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="annobin"
rlJournalStart
rlPhaseStartTest
b=`mktemp`
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
rlRun "cflags=\"$(rpm --eval '%build_cflags')\""
rlRun "ldflags=\"$(rpm --eval '%build_ldflags')\""
rlRun "echo 'int main (void) { return 0; }' | gcc -xc -o $b $cflags $ldflags -flto - "
rlRun "annocheck -v $b"
rm $b
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,28 +0,0 @@
summary: testsuite
description: ''
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
- annobin-annocheck
- binutils-devel
- gcc
- gcc-c++
- elfutils
- elfutils-devel
- make
- rpm-build
- rpm-devel
- gcc-plugin-devel
- yum
- dnf
- yum-utils
- bzip2-devel
- rpm-build
duration: 48h
extra-summary: /tools/annobin/Regression/testsuite
extra-task: /tools/annobin/Regression/testsuite

View file

@ -1,85 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/annobin/Regression/testsuite
# Description: testsuite
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="${PACKAGE:-$(rpm -qf --queryformat=%{name} $(man -w annobin))}"
export PACKAGE
GCC="${GCC:-$(which gcc)}"
rlJournalStart
rlPhaseStartSetup
rlLogInfo "PACKAGES=$PACKAGES"
rlLogInfo "REQUIRES=$REQUIRES"
rlLogInfo "COLLECTIONS=$COLLECTIONS"
rlLogInfo "X_SCLS=$X_SCLS"
rlLogInfo "GCC=$GCC"
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
# In case more than one devtoolset- or gcc-toolset -build package is
# installed (they can co-exist from the packaging persp, but their
# coexistence causes unexpected results with rpm macros), then we have
# a mess of defined rpm macros coming e.g. from
# /etc/rpm/macros.gcc-toolset-10-config
# /etc/rpm/macros.gcc-toolset-9-config etc. To have just the needed
# macros (respective to given SCL under test) defined without
# uninstalling unneeded RPMs, we'll need an override mechanism. The
# following assumes just one SCL *enabled* (more than one installed),
# and doesn't care of a (useless) revert:
echo ${X_SCLS} | fgrep toolset && \
rlRun "cat /etc/rpm/*${X_SCLS%\ }* > ~/.rpmmacros"
rlAssertRpm $PACKAGE
rlRun "TMP=\$(mktemp -d)"
rlRun "pushd $TMP"
rlFetchSrcForInstalled $PACKAGE
rlRun "yum-builddep -y *src.rpm"
rlRun "rpm --define='_topdir $TMP' -Uvh *src.rpm"
rlRun "rpmbuild --define='_topdir $TMP' -bc SPECS/annobin.spec"
rlPhaseEnd
rlPhaseStartTest
rlRun "pushd BUILD/annobin-*"
set -o pipefail
rlRun "make check |& tee $TMP/check.log"
rlRun -l "grep '^PASS:' $TMP/check.log" 0
rlRun -l "grep '^FAIL:' $TMP/check.log" 1
PASSCOUNT=$(grep '^PASS:' $TMP/check.log | wc -l)
rlRun "[[ $PASSCOUNT -ge 7 ]]"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TMP"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,16 +0,0 @@
summary: Test for BZ#1973981 (annocheck silently ignores any file parameter)
description: |
Bug summary: annocheck silently ignores any file parameter beyond 256
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1973981
contact: Martin Cermak <mcermak@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
duration: 48h
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1973981
extra-summary: /tools/annobin/Sanity/annocheck-silently-ignores-any-file-parameter
extra-task: /tools/annobin/Sanity/annocheck-silently-ignores-any-file-parameter

View file

@ -1,54 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/annobin/Sanity/annocheck-silently-ignores-any-file-parameter
# Description: Test for BZ#1973981 (annocheck silently ignores any file parameter)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="annobin"
rlJournalStart
rlPhaseStartSetup
rlRun "TMP=$(mktemp -d)"
rlRun "pushd $TMP"
rlPhaseEnd
rlPhaseStartTest
for i in `seq 0 299`; do touch ${i}.sample; done
samplecnt=$(ls *.sample | wc -l)
testcnt=$(ls *.sample | \
xargs annocheck |& \
fgrep '.sample: is not an ELF format file' | wc -l)
rlRun "test $samplecnt -eq 300"
rlRun "test $testcnt -eq 300"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TMP"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,5 +0,0 @@
#include <stdio.h>
void hello() {
printf("Hello World\n");
}

View file

@ -1,5 +0,0 @@
#include <iostream>
void hello() {
std::cout << "Hello World\n";
}

View file

@ -1,6 +0,0 @@
void hello();
int main(int argc, char **argv) {
hello();
return 0;
}

View file

@ -1,6 +0,0 @@
void hello();
int main(int argc, char **argv) {
hello();
return 0;
}

View file

@ -1,17 +0,0 @@
summary: gcc-fedora-flags
description: ''
contact:
- Tom Stellard <tstellar@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- gcc
- gcc-c++
- annobin
- annobin-annocheck
- redhat-rpm-config
duration: 1h
extra-summary: /tools/annobin/Sanity/gcc-fedora-flags
extra-task: /tools/annobin/Sanity/gcc-fedora-flags

View file

@ -1,40 +0,0 @@
#!/bin/bash
. /usr/share/beakerlib/beakerlib.sh || exit 1
set -x
default_cflags=`rpm -E %{build_cflags}`
default_cxxflags=`rpm -E %{build_cxxflags}`
default_ldflags=`rpm -E %{build_ldflags}`
cflags=`rpm -D '%toolchain gcc' -E %{build_cflags}`
cxxflags=`rpm -D '%toolchain gcc' -E %{build_cxxflags}`
ldflags=`rpm -D '%toolchain gcc' -E %{build_ldflags}`
set +x
rlJournalStart
rlPhaseStartTest
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
rlRun "test \"$default_cflags\" = \"$cflags\""
rlRun "test \"$default_cxxflags\" = \"$cxxflags\""
rlRun "test \"$default_ldflags\" = \"$ldflags\""
rlRun "gcc $cflags -o hello.o -c hello.c"
rlRun "annocheck hello.o"
rlRun "gcc $cflags -o main.o -c main.c"
rlRun "gcc $ldflags -o hello main.o hello.o"
rlRun "annocheck hello"
rlRun "./hello | grep \"Hello World\""
rlRun "g++ $cxxflags -o hello-cpp.o -c hello.cpp"
rlRun "annocheck hello-cpp.o"
rlRun "g++ $cxxflags -o main-cpp.o -c main.cpp"
rlRun "g++ $ldflags -o hello-cpp main-cpp.o hello-cpp.o"
rlRun "annocheck hello-cpp"
rlRun "./hello-cpp | grep \"Hello World\""
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,16 +0,0 @@
summary: smoke test for annobin plugin
description: ''
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- man-db
- gcc
- annobin
- annobin-annocheck
duration: 48h
extra-summary: /tools/annobin/Sanity/smoke
extra-task: /tools/annobin/Sanity/smoke

View file

@ -1,45 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/annobin/Sanity/smoke
# Description: smoke test for annobin plugin
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="annobin"
rlJournalStart
rlPhaseStartSetup
rlRun "which gcc"
rlRun "man -w annobin"
rlRun "echo $X_SCLS"
rlPhaseEnd
rlPhaseStartTest
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
rlRun "echo 'int main() {return 0;}' | gcc -xc -fplugin=annobin -o /dev/null -"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd