Compare commits

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

14 commits

Author SHA1 Message Date
Nick Clifton
a1a26f78cd Annocheck: Add support for Fortran binaries. 2024-06-26 13:30:54 +01:00
Nick Clifton
57b946d142 Annocheck: Add tweaks for mixed Rust/C binaries. (#2284605) - Annocheck: Add more glibc source file names. 2024-06-04 13:12:24 +01:00
Nick Clifton
cab90fd2c3 Annocheck: Skip GAPS test for GO binaries. (RHEL-36308) 2024-05-20 17:28:59 +01:00
Nick Clifton
7393f9abbf Spec File: Add annobin plugin document directory to the files section. (#2279779) 2024-05-20 11:01:54 +01:00
Nick Clifton
a19fc37513 Annocheck: Remove some false positives for Rust binaries. (#2280239) 2024-05-14 13:25:08 +01:00
Nick Clifton
27988edef0 Spec File: Add the annobin source directory to the files section. (#2279779) 2024-05-09 14:59:17 +01:00
Nick Clifton
5491830fe2 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 14:15:11 +01:00
Nick Clifton
3efb8016d7 Fix typo in test for RiscV-64 architecture. 2024-04-23 17:07:00 +01:00
Nick Clifton
189faa0d94 Annocheck: Test for gaps even when only one note is present. 2024-04-23 14:16:49 +01:00
Nick Clifton
b4d0bca3b5 Annocheck: Skip AArch64 branch protection test for GO binaries. 2024-04-22 10:13:43 +01:00
Nick Clifton
df38c5938d GCC Plugin: Disable active check for -Wimplicit-int for non-C sources. (#2275884) 2024-04-18 15:16:34 +01:00
Nick Clifton
581106ec06 improved detection of -mbranch-protection 2024-03-25 18:27:12 +00:00
Nick Clifton
c1f9047e75 GCC Plugin: Fix bug extracing the value of target specific command line options. 2024-03-21 14:22:00 +00:00
Nick Clifton
050025b76b Annocheck: Improve heuristics for locating debug info files.
Resolves: #2267097
2024-03-01 13:52:40 +00:00
2 changed files with 84 additions and 21 deletions

View file

@ -1,7 +1,7 @@
Name: annobin
Summary: Annotate and examine compiled binary files
Version: 12.40
Version: 12.60
Release: 1%{?dist}
License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later
URL: https://sourceware.org/annobin/
@ -342,8 +342,8 @@ CONFIG_ARGS="$CONFIG_ARGS --with-debuginfod"
CONFIG_ARGS="$CONFIG_ARGS --without-debuginfod"
%endif
%if %{with clangplugin}
CONFIG_ARGS="$CONFIG_ARGS --with-clang"
%if %{without clangplugin}
CONFIG_ARGS="$CONFIG_ARGS --without-clang-plugin"
%endif
%if %{without gccplugin}
@ -352,8 +352,8 @@ CONFIG_ARGS="$CONFIG_ARGS --without-gcc-plugin"
CONFIG_ARGS="$CONFIG_ARGS --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR}"
%endif
%if %{with llvmplugin}
CONFIG_ARGS="$CONFIG_ARGS --with-llvm"
%if %{without llvmplugin}
CONFIG_ARGS="$CONFIG_ARGS --without-llvm-plugin"
%endif
%if %{without tests}
@ -363,34 +363,28 @@ CONFIG_ARGS="$CONFIG_ARGS --without-tests"
%if %{without annocheck}
CONFIG_ARGS="$CONFIG_ARGS --without-annocheck"
%else
# Fedora supports AArch64's -mbranch-protection=bti, RHEL does not.
%if 0%{?fedora} != 0
export CFLAGS="$CFLAGS -DAARCH64_BRANCH_PROTECTION_SUPPORTED=1"
%endif
%endif
%set_build_flags
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS %build_cflags"
export LDFLAGS="$LDFLAGS %build_ldflags"
# Set target-specific security options to be used when building the
# Clang and LLVM plugins. FIXME: There should be a better way to do
# this.
# Set target-specific options to be used when building the Clang and LLVM plugins.
# FIXME: There should be a better way to do this.
%ifarch %{ix86} x86_64
export CLANG_TARGET_OPTIONS="-fcf-protection"
%endif
%ifarch aarch64
%if 0%{?fedora} != 0
export CLANG_TARGET_OPTIONS="-mbranch-protection=standard"
%endif
%ifnarch riscv64
export CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS -flto"
%endif
%ifarch ppc ppc64 ppc64le
# FIXME: This is a workaround for a problem with the Clang C++ headers. It should not be needed.
export CLANG_TARGET_OPTIONS="-mabi=ibmlongdouble"
%endif
# Override the default fortification level used by the Clang and LLVM plugins.
export PLUGIN_FORTIFY_OPTION="-D_FORTIFY_SOURCE=3"
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} || cat config.log
@ -424,12 +418,14 @@ rm %{_tmppath}/tmp_annobin.so
%if %{with clangplugin}
cp clang-plugin/annobin-for-clang.so %{_tmppath}/tmp_annobin.so
make -C clang-plugin all CXXFLAGS="$OPTS $BUILD_FLAGS"
# To enable verbose more in the plugin append the following: ANNOBIN="verbose"
make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS"
%endif
%if %{with llvmplugin}
cp llvm-plugin/annobin-for-llvm.so %{_tmppath}/tmp_annobin.so
make -C llvm-plugin all CXXFLAGS="$OPTS $BUILD_FLAGS"
# To enable verbose more in the plugin append the following: ANNOBIN_VERBOSE="true"
make -C llvm-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS"
%endif
# endif for %%if {with_plugin_rebuild}
@ -488,6 +484,7 @@ make check
%files docs
%license COPYING3 LICENSE
%dir %{_datadir}/doc/annobin-plugin
%exclude %{_datadir}/doc/annobin-plugin/COPYING3
%exclude %{_datadir}/doc/annobin-plugin/LICENSE
%doc %{_datadir}/doc/annobin-plugin/annotation.proposal.txt
@ -517,6 +514,7 @@ make check
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0.0.0
%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver}
%dir %{annobin_source_dir}
%{annobin_source_dir}/latest-annobin.tar.xz
%endif
@ -534,7 +532,72 @@ make check
#---------------------------------------------------------------------------------
%changelog
* Tue Feb 13 2024 Nick Clifron <nickc@redhat.com> - 12.30-1
* Wed Jun 26 2024 Nick Clifton <nickc@redhat.com> - 12.60-1
- Annocheck: Add support for Fortran binaries.
- Annocheck: Add heuristic for detecting parts of the CGO runtime library.
- Annocheck: Add improvements for handling Clang runtime binaries.
* Tue Jun 04 2024 Nick Clifton <nickc@redhat.com> - 12.57-1
- Annocheck: Add tweaks for mixed Rust/C binaries. (#2284605)
- Annocheck: Add more glibc source file names.
* Mon May 20 2024 Nick Clifton <nickc@redhat.com> - 12.55-1
- Annocheck: Skip GAPS test for GO binaries. (RHEL-36308)
* Mon May 20 2024 Nick Clifton <nickc@redhat.com> - 12.54-2
- Spec File: Add annobin plugin document directory to the files section. (#2279779)
* Tue May 14 2024 Nick Clifton <nickc@redhat.com> - 12.54-1
- Annocheck: Remove some false positives for Rust binaries. (#2280239)
* Thu May 09 2024 Nick Clifton <nickc@redhat.com> - 12.53-2
- Spec File: Add the annobin source directory to the files section. (#2279779)
* Thu May 09 2024 Nick Clifton <nickc@redhat.com> - 12.53-1
- 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)
* Tue Apr 23 2024 Nick Clifton <nickc@redhat.com> - 12.51-1
- Annocheck: Test for gaps even when only one note is present.
* Mon Apr 22 2024 Nick Clifton <nickc@redhat.com> - 12.50-1
- Annocheck: Skip AArch64 branch protection test for GO binaries.
* Thu Apr 18 2024 Nick Clifton <nickc@redhat.com> - 12.49-1
- GCC Plugin: Disable active check for -Wimplicit-int for non-C sources. (#2275884)
- Annocheck: Ignore stack checks for AMD GPU binaries.
- Annocheck: Do not produce FAIL result for i686 binaries in the RHEL-10 profile.
- Annocheck: Test for __stack_chk_guard being writeable.
- Annocheck: Update heuristics for detecting glibc code in executables. (RHEL-30579)
- Clang & LLVM Plugins: Allow environment to override fortification level. (RHEL-30579)
- Spec File: Override fortification level and set it to 3.
* Mon Mar 25 2024 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 12.46-1
- Annocheck: Improve detection of -mbranch-protection option.
- Clang Plugin: Add global-file-syms option.
- LLVM Plugin: Add global-file-syms option.
- Plugins: Add support for ANNOBIN environment variable.
- Built By: Add more lang types.
* Thu Mar 21 2024 Nick Clifton <nickc@redhat.com> - 12.45-1
- GCC Plugin: Fix bug extracing the value of target specific command line options.
- 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.
- 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.
* Fri Mar 01 2024 Nick Clifton <nickc@redhat.com> - 12.42-1
- Annocheck: Improve heuristics for locating debug info files. (#2267097)
- Configure: Harmonize configure options.
* Tue Feb 27 2024 Nick Clifton <nickc@redhat.com> - 12.41-1
- Clang Plugin: Fix building with Clang 18. (#31414)
- GCC Plugin: Add support for MIPS specific target functions.
- GCC Plugin: Use .dc.a for address expressions in 64-bit ELF format notes.
* Tue Feb 13 2024 Nick Clifron <nickc@redhat.com> - 12.40-1
- Annocheck: Improve heuristic for skipping LTO and FORTIFY tests. (#2264000)
* Fri Feb 09 2024 Nick Clifron <nickc@redhat.com> - 12.39-1

View file

@ -1 +1 @@
SHA512 (annobin-12.40.tar.xz) = f6219711771d2b84fb5b7afbcbd34a4e1901119ba2dcedb8817ec6b039813dec9b7f1194bd4f71ba802a1c32502f8fd9b995cef20e4724bbcd42516927a7aa0c
SHA512 (annobin-12.60.tar.xz) = 811393c5278773ab6bea45271e0495a21c518c591cfa25baf29fc160b3d782d74889276772a6123795bb165d6b5e04764cda939585b243371d07d36b5650c81f