Compare commits

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

42 commits

Author SHA1 Message Date
yahmad
376f8f2ca0 - Annocheck: Suppress more tests for Rust binaries.
- Annocheck: Fix detection of missing plugin options.  (#2189492)
- Fix generation of auto-generated files.
- Fix covscan reported errors.
- gcc-plugin: generate warnings about misspelt -D_FORTIFY_SOURCE and/or -D_GLIBCXX_ASSERTIONS options.
- gcc-plugin: use a bigger buffer for constructing notes.
- llvm-plugin: Fix detection of optimization level.  Improve test.
- clang-plugin: Improve test.
- configure: More improvements.
- annocheck: Fix seg-fault when checking for glibc components in string format notes.
- configure: Simplify.
2023-05-02 17:42:48 +02:00
yahmad
c162d220d3 - gcc plugin: Add filenames to string notes. Allow use of ANNOBIN environment variable.
- llvm plugin: Add workaround for building with LLVM-16.
- clang plugin: Fix for building with Clang-16.
2023-04-12 15:53:04 +02:00
yahmad
97902230ab - gcc plugin: Keep ELF notes at protocol version 3. 2023-03-30 14:21:03 +02:00
yahmad
77873aa63b - Protocol Version 4: String format notes. 2023-03-29 18:16:29 +02:00
yahmad
109e007176 - Annocheck: Update message for LTO tests. (#2177140)
- Annocheck: Add even more code to handle another glibc function built without LTO.
- Annocheck: Add code to handle another glibc function built without LTO.
2023-03-21 09:19:20 +01:00
yahmad
13e8d3902f Fix a typo in the sources file 2023-02-28 18:56:45 +01:00
yahmad
467795c7c3 - GCC Plugin: Do not run if other plugins are active. (#2162746)
- Annocheck: Add code to handle glibc functions built without LTO.
- Libannocheck: Fix thinko in debugging code.
- Annocheck: Fix LTO test.
- Notes: Display notes held in separate dbeuginfo files.
- Annocheck: Fix atexit test.  Fix recording of version numbers.  (#2165528)
- LLVM & Clang Plugins: Build with branch protection on AArch64.  (#2164364)
- Fix gating tests.
- Libannocheck: Fix bug causing infinite looping when running tests.
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
2023-02-28 18:25:22 +01:00
Václav Kadlčík
bf45c5eede 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 10:16:47 +01:00
Václav Kadlčík
726b5bc7ed Adapt test scripts to newest annobin versions 2023-02-27 10:14:46 +01:00
Václav Kadlčík
ec1798ad31 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-02-27 10:14:42 +01:00
Václav Kadlčík
62943fd725 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-02-27 10:14:36 +01:00
yahmad
62e012dff5 - Rebuilt against GCC 13.
- Annocheck: Fix handling of file built by multiple versions of gcc.  (#2160700)
- Annocheck: Fix handling of empty files.  (#2159292)
- Annocheck: Add crti.o and crtn.o to the list of known glibc special files.  (#2158740)
- Annocheck: Fix memory leaks.
2023-01-18 19:12:14 +01:00
Nick Clifton
ea9a8ea773 Annocheck: Do not assume that object files contain no code simply because they do not have an executable segment. (#2158182) 2023-01-05 09:00:56 +00:00
Nick Clifton
fd46cd07e8 Annocheck: Improve handling of tool versions 2022-12-21 16:32:15 +00:00
Nick Clifton
5bbd93d41e Annocheck: Add test for binaries built by cross compilers. 2022-12-16 08:58:44 +00:00
Nick Clifton
f649a2f25b Avoid using debug filename when parsing notes in a debuginfo file. (#2152280) 2022-12-12 14:23:42 +00:00
yahmad
216bb12ce9 - Annocheck: Provide more information when a test is skipped because the file being tested was not compiled. 2022-11-23 20:18:11 +01:00
yahmad
32ae6b5f66 - Annocheck: Try harder not to run mutually exclusive tests. 2022-11-09 17:31:01 +01:00
yahmad
b5dd6a1bc7 - Rebase to annobin-10.91
- Tests: Fix future-test so that it properly handles the situation where the compiler does not support the new options.
  - Libannocheck: Actually set result fields after tests are run.
  - Libannocheck: Replace libannocheck_version variable with LIBANNOCHECK_VERSION define.
  - Libannocheck: Remove 'Requires binutils-devel' from libannocheck.pc.
  - Libannocheck: Move into separate sub-package.
  - Libannocheck: Add libannocheck.pc pkgconfig file.
  - Libannocheck: Add libannocheck_reinit().
  - 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.
  - Clang Plugin: Fix for building with Clang-15.  (#2125875)
  - Annocheck: Add a test for the inconsistent use of -Ofast.  (#1248744)
  - NVR Bump in order to trigger a rebuild for ELN.  (#2124562)
2022-10-21 17:27:27 +02:00
yahmad
a68c215931 - Plugin: Fix top level configuration support for RiscV.
- Annocheck: Improvements to the size tool.
2022-08-11 16:16:15 +02:00
yahmad
f73b708759 - Annocheck: Fixes for libannocheck.h.
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
2022-07-26 00:45:16 +02:00
yahmad
0d9dccc5b3 - Annocheck: Add automatic profile selection.
- Annocheck: Improve gap detection and reporting.
- 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-07-11 15:51:47 +02:00
Nick Clifton
0a9eba61e7 Annocheck: Check build-id of separate debuginfo files.
Annocheck: Add GAPS test replacing --ignore-gaps.
Annocheck: Fix covscan detected race condition between stat() and open().
Annocheck: Handle binaries created by Rust 1.18.  (#2094420)
Annocheck: Add optional function name to --skip arguments.  (PR 29229)
2022-06-14 11:29:41 +01:00
Nick Clifton
a48f4d5bd1 Annocheck: Fix handling of command line options that take arguments. (#2086850) 2022-05-19 10:24:26 +01:00
yahmad
19e653a784 - Annocheck: Do not complain about unenabled -mbranch-protection option in AArch64 binaries. (#2078909) 2022-05-17 11:26:58 +02:00
yahmad
d615e0566e - gcc-plugin: Fix typo in configure.ac. 2022-05-11 18:59:33 +02:00
yahmad
6a558a9bc0 - gcc-plugin: Fix typo in configure.ac. 2022-05-11 18:37:15 +02:00
Nick Clifton
89c1f9e0b2 remove unused patches 2022-05-09 11:26:07 +01:00
Nick Clifton
338de00e35 Annocheck: Add another special case for glibc rpms. (#2083070) 2022-05-09 11:16:31 +01:00
Jakub Jelinek
8a6c459d16 10.69-2 2022-05-09 10:47:20 +02:00
Nick Clifton
a97b6b4513 Annocheck: Do not complain about unenabled -mbranch-protection option in AArch64 binaries if compiled using LTO. (#2082146) 2022-05-06 15:44:07 +01:00
Nick Clifton
b42bf2bbe8 Annocheck: Add more glibc exceptions + check PT_TLS segments. (#2081131) 2022-05-03 14:22:08 +01:00
Yara Ahmad
123d377122 - Annocheck: Do not complain about missing -mbranch-protection option in AArch64 binaries if compiled by golang. 2022-04-22 16:58:48 +02:00
Jakub Jelinek
af25bf63a7 10.66-2 2022-04-15 11:17:01 +02:00
Nick Clifton
f5bb4cb667 Annocheck: Do not complain about missing -mbranch-protection option in AArch64 binaries if compiled in LTO mode. 2022-04-13 09:44:06 +01:00
Nick Clifton
56bcfc25f5 gcc-plugin: Add support for CLVC_INTEGER options. 2022-04-13 08:11:41 +01:00
Jakub Jelinek
92656ff8bc 10.62-2 2022-04-11 19:52:36 +02:00
Nick Clifton
b1fb9c227a Fix thinko in llvm plugin sources 2022-04-05 14:03:31 +01:00
Nick Clifton
f5eb3d86c6 rebase to 10.61 2022-04-05 13:21:07 +01:00
sergesanspaille
f7fe7cf9e4 Rebuilt against new LLVM release, with patch. 2022-04-01 19:45:34 +00:00
Nick Clifton
aed92705f6 Annocheck: Fix test for AArch64 property notes. (#2068657) 2022-03-30 12:02:05 +01:00
Nick Clifton
c17397472c gcc-plugin: Do not issue warning messages for autoconf generated source files. (#2009958) 2022-03-24 17:26:18 +00:00
17 changed files with 235 additions and 136 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
/annobin-*.tar.xz
/annobin-9.51-1.fc34.src.rpm
/annobin-11.11-1.fc36.src.rpm

View file

@ -1,85 +0,0 @@
--- annobin.orig/tests/fortify-test 2022-01-10 09:50:07.005146672 +0000
+++ annobin-10.45/tests/fortify-test 2022-01-10 10:23:56.827404265 +0000
@@ -37,30 +37,37 @@ fi
# Now add in our newly built plugin.
OPTS+=" -fplugin=$PLUGIN"
+# For debugging purposes, generate a linker map as well.
+OPTS+=" -Wl,-Map,fortify-test.map"
+
start_test
-$GCC $OPTS -Wp,-U_FORTIFY_SOURCE -fno-lto $srcdir/main.c -o main.exe
+# Use atexit.c rather than main.c as it is bigger.
+COMMAND="$GCC $OPTS -Wp,-U_FORTIFY_SOURCE -fno-lto $srcdir/atexit.c -o fortify-test.exe"
+$COMMAND
if [ $? != 0 ];
then
echo " $TEST_NAME: FAIL: unable to compile test file"
- echo " $TEST_NAME: compile command: $GCC $OPTS -Wp,-U_FORTIFY_SOURCE -fno-lto $srcdir/main.c -o main.exe"
+ echo " $TEST_NAME: command: $COMMAND"
end_test
exit 1
fi
# Run annocheck
-SKIPS="--skip-cf-protection --skip-property-note --skip-stack-realign --skip-entry --skip-dynamic-tags --skip-lto --skip-warnings --skip-dynamic-tags --skip-not-dynamic-tags --skip-branch-protection --skip-not-branch-protection"
-$ANNOCHECK main.exe $SKIPS > main.out
-grep -e "Overall: FAIL" main.out
+SKIPS="--skip-all --test-fortify"
+A_COMMAND="$ANNOCHECK fortify-test.exe $SKIPS"
+$A_COMMAND > fortify-test.out
+grep -e "Overall: FAIL" fortify-test.out
if [ $? != 0 ];
then
echo " $TEST_NAME: FAIL: compiling with -D_FORTIFY_SOURCE=2 still produces an executable that passes annocheck"
- echo " $TEST_NAME: compile command: $GCC $OPTS -Wp,-U_FORTIFY_SOURCE -fno-lto $srcdir/main.c -o main.exe"
- echo " $TEST_NAME: annocheck command: $ANNOCHECK main.exe $SKIPS"
+ echo " $TEST_NAME: compile command: $COMMAND"
+ echo " $TEST_NAME: annocheck command: $A_COMMAND"
echo " $TEST_NAME: annocheck output (with verbose enabled):"
- $ANNOCHECK main.exe $SKIPS --verbose
- uuencode main.exe main.exe
+ $A_COMMAND --verbose
+ uuencode fortify-test.exe fortify-test.exe
+ uuencode fortify-test.map fortify-test.map
end_test
exit 1
fi
--- annobin.orig/gcc-plugin/annobin.cc 2022-01-10 09:50:06.991146761 +0000
+++ annobin-10.45/gcc-plugin/annobin.cc 2022-01-10 11:31:49.507826587 +0000
@@ -1,5 +1,5 @@
/* annobin - a gcc plugin for annotating binary files.
- Copyright (c) 2017 - 2021 Red Hat.
+ Copyright (c) 2017 - 2022 Red Hat.
Created by Nick Clifton.
This is free software; you can redistribute it and/or modify it
@@ -2485,6 +2485,7 @@ annobin_emit_end_symbol (const char * su
fprintf (asm_out_file, "\t.size %s%s, 0\n", annobin_current_endname, suffix);
annobin_inform (INFORM_VERBOSE, "Create symbol %s%s", annobin_current_endname, suffix);
+#if 0
/* If there is a bias to the start symbol, we can end up with the case where
the start symbol is after the end symbol. (If the section is empty).
Catch that and adjust the start symbol. This also pacifies eu-elflint
@@ -2509,7 +2510,8 @@ annobin_emit_end_symbol (const char * su
annobin_current_endname, suffix);
fprintf (asm_out_file, "\t.endif\n");
}
-
+#endif
+
fprintf (asm_out_file, "\t.popsection\n");
}
@@ -2774,7 +2776,7 @@ plugin_init (struct plugin_name_args *
solution is needed. */
annobin_attach_type = group;
#if GCCPLUGIN_VERSION_MAJOR >= 11
- if (target_start_sym_bias == 0)
+ /* if (target_start_sym_bias == 0)*/
annobin_attach_type = link_order;
#endif
}

View file

@ -1,9 +1,10 @@
Name: annobin
Summary: Annotate and examine compiled binary files
Version: 10.57
Release: 3%{?dist}
Version: 12.10
Release: 1%{?dist}
License: GPLv3+
URL: https://sourceware.org/annobin/
# Maintainer: nickc@redhat.com
# Web Page: https://sourceware.org/annobin/
# Watermark Protocol: https://fedoraproject.org/wiki/Toolchain/Watermark
@ -37,7 +38,7 @@ License: GPLv3+
# checking logic or when building on RHEL-7 or earlier.
%global with_hard_gcc_version_requirement 1
%bcond_with plugin_rebuild
%bcond_without plugin_rebuild
# Allow the building of annobin without using annobin itself.
# This is because if we are bootstrapping a new build environment we can have
# a new version of gcc installed, but without a new of annobin installed.
@ -174,6 +175,23 @@ Installs the annocheck program which uses the notes generated by annobin to
check that the specified files were compiled with the correct security
hardening options.
%package libannocheck
Summary: A library for checking the security hardening status of binaries
BuildRequires: gcc elfutils elfutils-devel elfutils-libelf-devel rpm-devel binutils-devel make
%if %{with debuginfod}
BuildRequires: elfutils-debuginfod-client-devel
%endif
Requires: %{name}-docs = %{version}-%{release}
Requires: binutils-devel
%description libannocheck
Installs the libannocheck library which uses the notes generated by the
annobin plugins to check that the specified files were compiled with the
correct security hardening options.
%endif
#----------------------------------------------------------------------------
@ -340,7 +358,7 @@ CONFIG_ARGS="$CONFIG_ARGS --with-llvm"
%endif
%if %{without tests}
CONFIG_ARGS="$CONFIG_ARGS --without-test"
CONFIG_ARGS="$CONFIG_ARGS --without-tests"
%endif
%if %{without annocheck}
@ -377,7 +395,12 @@ make -C gcc-plugin clean
BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so"
# Disable the standard annobin plugin so that we do get conflicts.
# Note - Fedora's rpm uses a different way of evaluating macros.
%if 0%{?fedora} == 0
OPTS="$(rpm --eval '%undefine _annotated_build %build_cflags %build_ldflags')"
%else
OPTS="$(rpm --undefine=_annotated_build --eval '%build_cflags %build_ldflags')"
%endif
# If building on systems with an assembler that does not support the
# .attach_to_group pseudo op (eg RHEL-7) then enable the next line.
@ -455,16 +478,19 @@ fi
%if %{with llvmplugin}
%files plugin-llvm
%dir %{llvm_plugin_dir}
%{llvm_plugin_dir}/annobin-for-llvm.so
%endif
%if %{with clangplugin}
%files plugin-clang
%dir %{clang_plugin_dir}
%{clang_plugin_dir}/annobin-for-clang.so
%endif
%if %{with gccplugin}
%files plugin-gcc
%dir %{ANNOBIN_GCC_PLUGIN_DIR}
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0.0.0
@ -474,15 +500,181 @@ fi
%if %{with annocheck}
%files annocheck
%{_includedir}/libannocheck.h
%{_libdir}/libannocheck.*
%{_bindir}/annocheck
%{_mandir}/man1/annocheck.1*
%files libannocheck
%{_includedir}/libannocheck.h
%{_libdir}/libannocheck.*
%{_libdir}/pkgconfig/libannocheck.pc
%endif
#---------------------------------------------------------------------------------
%changelog
* Tue May 02 2023 Yara Ahmad <yahmad@redhat.com> - 12.10-1
- Annocheck: Suppress more tests for Rust binaries.
- Annocheck: Fix detection of missing plugin options. (#2189492)
- Fix generation of auto-generated files.
- Fix covscan reported errors.
- gcc-plugin: generate warnings about misspelt -D_FORTIFY_SOURCE and/or -D_GLIBCXX_ASSERTIONS options.
- gcc-plugin: use a bigger buffer for constructing notes.
- llvm-plugin: Fix detection of optimization level. Improve test.
- clang-plugin: Improve test.
- configure: More improvements.
- annocheck: Fix seg-fault when checking for glibc components in string format notes.
- configure: Simplify.
* Wed Apr 12 2023 Yara Ahmad <yahmad@redhat.com> - 12.02-1
- gcc plugin: Add filenames to string notes. Allow use of ANNOBIN environment variable.
- llvm plugin: Add workaround for building with LLVM-16.
- clang plugin: Fix for building with Clang-16.
* Thu Mar 30 2023 Yara Ahmad <yahmad@redhat.com> - 12.01-1
- gcc plugin: Keep ELF notes at protocol version 3.
* Wed Mar 29 2023 Yara Ahmad <yahmad@redhat.com> - 12.00-1
- Protocol Version 4: String format notes.
* Tue Mar 21 2023 Yara Ahmad <yahmad@redhat.com> - 11.14-1
- Annocheck: Update message for LTO tests. (#2177140)
- Annocheck: Add even more code to handle another glibc function built without LTO.
- Annocheck: Add code to handle another glibc function built without LTO.
* Tue Feb 28 2023 Yara Ahmad <yahmad@redhat.com> - 11.11-1
- GCC Plugin: Do not run if other plugins are active. (#2162746)
- Annocheck: Add code to handle glibc functions built without LTO.
- Libannocheck: Fix thinko in debugging code.
- Annocheck: Fix LTO test.
- Notes: Display notes held in separate dbeuginfo files.
- Annocheck: Fix atexit test. Fix recording of version numbers. (#2165528)
- LLVM & Clang Plugins: Build with branch protection on AArch64. (#2164364)
- Fix gating tests.
- Libannocheck: Fix bug causing infinite looping when running tests.
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 18 2023 Yara Ahmad <yahmad@redhat.com> - 11.06-2
- Rebuilt against GCC 13.
- Annocheck: Fix handling of file built by multiple versions of gcc. (#2160700)
- Annocheck: Fix handling of empty files. (#2159292)
- Annocheck: Add crti.o and crtn.o to the list of known glibc special files. (#2158740)
- Annocheck: Fix memory leaks.
* Thu Jan 05 2023 Nick Clifton <nickc@redhat.com> - 11.02-1
- Annocheck: Do not assume that object files contain no code simply because they do not have an executable segment. (#2158182)
- Annocheck: Add more special glibc filenames. (#2158100)
* Wed Dec 21 2022 Nick Clifton <nickc@redhat.com> - 10.99-1
- Annocheck: Improve handling of tool versions.
- Spec File: Fix building with plugin_rebuild enabled.
- GCC plugin: Fix building with gcc-13.
* Fri Dec 16 2022 Nick Clifton <nickc@redhat.com> - 10.97-1
- Annocheck: Add test for binaries built by cross compilers.
- Annocheck: Improve heuristic used to detect binaries without code. (#2144533)
* Mon Dec 12 2022 Nick Clifton <nickc@redhat.com> - 10.95-1
- Annocheck: Avoid using debug filename when parsing notes in a debuginfo file. (#2152280)
* Wed Nov 23 2022 Yara Ahmad <yahmad@redhat.com> - 10.93-1
- Annocheck: Provide more information when a test is skipped because the file being tested was not compiled.
* Wed Nov 09 2022 Yara Ahmad <yahmad@redhat.com> - 10.92-1
- Annocheck: Try harder not to run mutually exclusive tests.
* Fri Oct 21 2022 Yara Ahmad <yahmad@redhat.com> - 10.91-1
- Rebase to annobin-10.91
- Tests: Fix future-test so that it properly handles the situation where the compiler does not support the new options.
- Libannocheck: Actually set result fields after tests are run.
- Libannocheck: Replace libannocheck_version variable with LIBANNOCHECK_VERSION define.
- Libannocheck: Remove 'Requires binutils-devel' from libannocheck.pc.
- Libannocheck: Move into separate sub-package.
- Libannocheck: Add libannocheck.pc pkgconfig file.
- Libannocheck: Add libannocheck_reinit().
- 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.
- Clang Plugin: Fix for building with Clang-15. (#2125875)
- Annocheck: Add a test for the inconsistent use of -Ofast. (#1248744)
- NVR Bump in order to trigger a rebuild for ELN. (#2124562)
* Thu Aug 11 2022 Yara Ahmad <yahmad@redhat.com> - 10.81-1
- Plugin: Fix top level configuration support for RiscV.
- Annocheck: Improvements to the size tool.
* Tue Jul 26 2022 Yara Ahmad <yahmad@redhat.com> - 10.79-1
- Annocheck: Fixes for libannocheck.h.
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jul 11 2022 Yara Ahmad <yahmad@redhat.com> - 10.78-1
- Annocheck: Add automatic profile selection.
- Annocheck: Improve gap detection and reporting.
- 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.
* Tue Jun 14 2022 Nick Clifton <nickc@redhat.com> - 10.76-1
- Annocheck: Check build-id of separate debuginfo files.
- Annocheck: Add GAPS test replacing --ignore-gaps.
- Annocheck: Fix covscan detected race condition between stat() and open().
- Annocheck: Handle binaries created by Rust 1.18. (#2094420)
- Annocheck: Add optional function name to --skip arguments. (PR 29229)
* Thu May 19 2022 Nick Clifton <nickc@redhat.com> - 10.73-1
- Annocheck: Fix handling of command line options that take arguments. (#2086850)
* Tue May 17 2022 Yara Ahmad <yahmad@redhat.com> - 10.72-1
- Annocheck: Do not complain about unenabled -mbranch-protection option in AArch64 binaries. (#2078909)
* Wed May 11 2022 Yara Ahmad <yahmad@redhat.com> - 10.71-1
- gcc-plugin: Fix typo in configure.ac.
- gcc-plugin: Add support for RISC-V.
* Mon May 09 2022 Nick Clifton <nickc@redhat.com> - 10.70-1
- Annocheck: Add another special case for glibc rpms. (#2083070)
* Mon May 09 2022 Jakub Jelinek <jakub@redhat.com> - 10.69-2
- NVR bump to allow rebuild for new GCC.
* Fri May 06 2022 Nick Clifton <nickc@redhat.com> - 10.69-1
- Annocheck: Do not complain about unenabled -mbranch-protection option in AArch64 binaries if compiled using LTO. (#2082146)
* Tue May 03 2022 Nick Clifton <nickc@redhat.com> - 10.68-1
- Annocheck: Add more glibc exceptions + check PT_TLS segments. (#2081131)
* Fri Apr 22 2022 Nick Clifton <nickc@redhat.com> - 10.67-1
- Annocheck: Do not complain about missing -mbranch-protection option in AArch64 binaries if compiled by golang.
* Wed Apr 13 2022 Nick Clifton <nickc@redhat.com> - 10.66-1
- Annocheck: Do not complain about missing -mbranch-protection option in AArch64 binaries if compiled in LTO mode.
* Tue Apr 12 2022 Nick Clifton <nickc@redhat.com> - 10.65-1
- gcc-plugin: Add support for CLVC_INTEGER options.
* Wed Apr 06 2022 Nick Clifton <nickc@redhat.com> - 10.64-1
- Annocheck: Even more special cases for AArch64 glibc on RHEL-8. (#2072082)
* Wed Apr 06 2022 Nick Clifton <nickc@redhat.com> - 10.63-1
- Annocheck: Add more special cases for AArch64 glibc on RHEL-8. (#2072082)
* Tue Apr 05 2022 Nick Clifton <nickc@redhat.com> - 10.62-1
- llvm-plugin: Fix a thinko in the sources.
* Sat Apr 02 2022 Nick Clifton <nickc@redhat.com> - 10.61-1
- gcc-plugin: Add remap of OPT_Wall.
- configure: Fix typo in top level configure.ac.
* Thu Mar 31 2022 Timm Bäder <mail@baedert.org>redhat.com> - 10.60-1
- Add support for building using meson+ninja.
* Wed Mar 30 2022 Serge Guelton <sguelton@redhat.com> - 10.59-2
- Rebuilt against new LLVM release, with patch.
* Wed Mar 30 2022 Nick Clifton <nickc@redhat.com> - 10.59-1
- Annocheck: Fix test for AArch64 property notes. (#2068657)
* Mon Mar 14 2022 Nick Clifton <nickc@redhat.com> - 10.58-1
- gcc-plugin: Do not issue warning messages for autoconf generated source files. (#2009958)
* Wed Mar 09 2022 Jakub Jelinek <jakub@redhat.com> - 10.57-3
- NVR bump to allow rebuild for new GCC.

View file

@ -1,6 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
execute:
how: beakerlib
how: tmt

View file

@ -1 +1 @@
SHA512 (annobin-10.57.tar.xz) = c4fb30cbb5dff15bd1dd38797785bd4f1a9de1e047436d598368847e3f250cd7e467b3fc4ea2c013ab22764e06aab899d0a1bea3c465b0b29e363b73de20e86f
SHA512 (annobin-12.10.tar.xz) = 140c74f88ff309e24c003d533545bd7f7705d240faf3781569f7c91e0c41ef2640dfb2ebe2f0cb1fbafddcf3588d9df9b75424764b79091e64a4091b7be3c0f0

View file

@ -8,9 +8,11 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
require:
- annobin-annocheck
- annobin-plugin-gcc
- gcc
- redhat-rpm-config
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

@ -28,13 +28,10 @@
# 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
@ -43,7 +40,7 @@ rlJournalStart
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"
rlRun "annocheck -v --skip-lto a.out"
rlPhaseEnd
rlPhaseStartCleanup

View file

@ -7,15 +7,8 @@ component:
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
- annobin-plugin-gcc
- annobin-annocheck
duration: 48h
extra-summary: /tools/annobin/Regression/identify
extra-task: /tools/annobin/Regression/identify

View file

@ -6,11 +6,12 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- gcc
- annobin
require:
- annobin-plugin-gcc
- annobin-annocheck
- redhat-rpm-config
- gcc
- redhat-rpm-config
duration: 48h
extra-summary: /tools/annobin/Regression/lto-preprocessor-options
extra-task: /tools/annobin/Regression/lto-preprocessor-options

View file

@ -7,8 +7,8 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
require:
- annobin-annocheck
duration: 48h
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1991931

View file

@ -7,8 +7,8 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
require:
- annobin-annocheck
duration: 48h
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1988714

View file

@ -7,8 +7,9 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
require:
- annobin-plugin-gcc
- annobin-annocheck
- libstdc++
duration: 48h
link:

View file

@ -6,23 +6,19 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
require:
- annobin-plugin-gcc
- annobin-annocheck
- binutils-devel
- gcc
- gcc-c++
- bzip2-devel
- dnf
- elfutils
- elfutils-devel
- gcc-c++
- gcc-plugin-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

@ -62,7 +62,7 @@ rlJournalStart
rlRun "pushd $TMP"
rlFetchSrcForInstalled $PACKAGE
rlRun "yum-builddep -y *src.rpm"
rlRun "dnf builddep -y *src.rpm"
rlRun "rpm --define='_topdir $TMP' -Uvh *src.rpm"
rlRun "rpmbuild --define='_topdir $TMP' -bc SPECS/annobin.spec"
rlPhaseEnd

View file

@ -7,8 +7,9 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
- annobin
require:
- annobin-plugin-gcc
- annobin-annocheck
duration: 48h
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1973981

View file

@ -28,8 +28,6 @@
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="annobin"
rlJournalStart
rlPhaseStartSetup
rlRun "TMP=$(mktemp -d)"
@ -41,7 +39,10 @@ rlJournalStart
samplecnt=$(ls *.sample | wc -l)
testcnt=$(ls *.sample | \
xargs annocheck |& \
fgrep '.sample: is not an ELF format file' | wc -l)
grep -F \
-e '.sample: unable to read magic number' \
-e '.sample: is not an ELF format file' \
| wc -l)
rlRun "test $samplecnt -eq 300"
rlRun "test $testcnt -eq 300"
rlPhaseEnd

View file

@ -6,11 +6,11 @@ component:
- annobin
test: ./runtest.sh
framework: beakerlib
recommend:
require:
- annobin-plugin-gcc
- annobin-annocheck
- man-db
- gcc
- annobin
- annobin-annocheck
duration: 48h
extra-summary: /tools/annobin/Sanity/smoke
extra-task: /tools/annobin/Sanity/smoke