Rebase to 12.65.

Resolves: RHEL-50818
This commit is contained in:
Nick Clifton 2024-07-31 09:00:53 +01:00
parent d3b808d734
commit 554718a014
3 changed files with 40 additions and 13 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
/annobin-12.20.tar.xz
/annobin-12.32.tar.xz
/annobin-12.52.tar.xz
/annobin-12.65.tar.xz

View File

@ -8,7 +8,7 @@ BuildRequires: scl-utils-build
Name: %{?scl_prefix}annobin
Summary: Annotate and examine compiled binary files
Version: 12.52
Version: 12.65
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/
@ -57,7 +57,7 @@ URL: https://sourceware.org/annobin/
#
# The default is to use plugin during rebuilds (cf BZ 1630550) but this can
# be changed because of the need to be able to rebuild annobin when a change
# to gcc breaks the version installed into the buildroot. Mote however that
# to gcc breaks the version installed into the buildroot. Note however that
# uncommenting the lines below will result in annocheck not passing the rpminspect
# tests....
%if %{without plugin_rebuild}
@ -83,8 +83,9 @@ Patch02: annobin-tmp-skip-libannocheck-test.patch
# We need the gcc-toolset-13 version of gcc to build annobin, as otherwise the versions will not match.
%{?scl:Requires:%scl_require_package %{scl} gcc}
BuildRequires: %{?scl_prefix}gcc
BuildRequires: %{?scl_prefix}gcc %{?scl_prefix}gcc-c++
BuildRequires: %{?scl_prefix}annobin-plugin-gcc
%define gcc_for_annobin %{?_scl_root}/usr/bin/gcc
%define gxx_for_annobin %{?_scl_root}/usr/bin/g++
@ -361,8 +362,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}
@ -371,8 +372,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}
@ -406,9 +407,8 @@ export CLANG_TARGET_OPTIONS="-mbranch-protection=standard"
%endif
%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"
%ifnarch riscv64
export CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS -flto"
%endif
CC=%gcc_for_annobin CXX=%gxx_for_annobin CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} || cat config.log
@ -443,12 +443,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}
@ -481,6 +483,11 @@ cp %{_sourcedir}/%{annobin_sources} %{buildroot}%{annobin_source_dir}/latest-ann
rm -f %{buildroot}%{_infodir}/dir
# When annocheck is disabled, annocheck.1.gz will still be generated, remove it.
%if %{without annocheck}
rm -f %{_mandir}/man1/annocheck.1.gz
%endif
#---------------------------------------------------------------------------------
%if %{with tests}
@ -557,6 +564,25 @@ make check GCC=%gcc_for_annobin
#---------------------------------------------------------------------------------
%changelog
* Tue Jul 30 2024 Nick Clifton <nickc@redhat.com> - 12.65-1
- Rebase to 12.65. (RHEL-51018)
- Annocheck: Fix recording arguments for later re-use. (RHEL-50802)
- GCC Plugin: Fix building AArch64 components with gcc earlier than 11.3.
- Annocheck: Add improvements to the builtby utility.
- 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.
- 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.
- Annocheck: Add tweaks for mixed Rust/C binaries. (#2284605)
- Annocheck: Add more glibc source file names.
- Annocheck: Skip GAPS test for GO binaries. (RHEL-36308)
- Annocheck: Remove some false positives for Rust binaries. (#2280239)
- 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)
* Mon Jul 22 2024 Nick Clifton <nickc@redhat.com> - 12.52-1
- Rebuild with LLVM 18. (RHEL-49954)
- Rebase to 12.52 in order to bring in fixes for LLVM 18.

View File

@ -1 +1 @@
SHA512 (annobin-12.52.tar.xz) = d5ef0bf20fb9db1fb3c86000fbd2f130f30fabc45e6ea183438f272f57119f0c34267ce47fe7ba6a9c227657c4aeecb9c71b4390cc808e8d1ddd9fd85ce02c8a
SHA512 (annobin-12.65.tar.xz) = ebe4736b4691e4d4846dfd0f0b1d417069a2fb7d6f1d176efb8bacd5f685b534e0045fb956fa656d3f41dda425f5140c81974b07ec22c9ccb1ae493122e42b2b