import gcc-toolset-12-annobin-11.08-2.el9

This commit is contained in:
CentOS Sources 2023-03-28 09:01:29 +00:00 committed by Stepan Oksanichenko
parent f18d57587c
commit 5f2318963f
4 changed files with 89 additions and 41 deletions

View File

@ -1 +1 @@
e1906be7abdd1b63d6d71fe2206c3507b27787ac SOURCES/annobin-10.76.tar.xz 6dfc4263307cf9d7c91de164184b090eaea100e7 SOURCES/annobin-11.08.tar.xz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/annobin-10.76.tar.xz SOURCES/annobin-11.08.tar.xz

View File

@ -1,20 +0,0 @@
--- annobin.orig/tests/libannocheck-test 2022-06-23 10:16:50.270910280 +0100
+++ annobin-10.76/tests/libannocheck-test 2022-06-23 10:17:42.873589350 +0100
@@ -32,7 +32,7 @@ then
exit 1
fi
-COMMAND="$GCC use-libannocheck.o -L $LIBANNOCHECKDIR -lannocheck -o use-libannocheck -lelf -ldw -liberty -Wl,-rpath=$LIBANNOCHECKDIR -Wl,-z,now"
+COMMAND="$GCC use-libannocheck.o -L $LIBANNOCHECKDIR -fno-lto -lannocheck -o use-libannocheck -lelf -ldw -liberty -Wl,-rpath=$LIBANNOCHECKDIR -Wl,-z,now"
$COMMAND
if [ $? != 0 ];
then
@@ -50,7 +50,7 @@ then
exit 1
fi
-COMMAND="$GCC use-libannocheck.o -L $LIBANNOCHECKDIR -lannocheck -o use-libannocheck -lelf -ldw -liberty -Wl,-rpath=$LIBANNOCHECKDIR -Wl,-z,lazy"
+COMMAND="$GCC use-libannocheck.o -L $LIBANNOCHECKDIR -fno-lto -lannocheck -o use-libannocheck -lelf -ldw -liberty -Wl,-rpath=$LIBANNOCHECKDIR -Wl,-z,lazy"
$COMMAND
if [ $? != 0 ];
then

View File

@ -4,11 +4,12 @@
Name: %{?scl_prefix}annobin Name: %{?scl_prefix}annobin
Summary: Annotate and examine compiled binary files Summary: Annotate and examine compiled binary files
Version: 10.76 Version: 11.08
Release: 2%{?dist} Release: 2%{?dist}
License: GPLv3+ License: GPLv3+
URL: https://sourceware.org/annobin/ URL: https://sourceware.org/annobin/
# Maintainer: nickc@redhat.com # Maintainer: nickc@redhat.com
# Web Page: https://sourceware.org/annobin/
# Watermark Protocol: https://fedoraproject.org/wiki/Toolchain/Watermark # Watermark Protocol: https://fedoraproject.org/wiki/Toolchain/Watermark
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@ -56,7 +57,7 @@ URL: https://sourceware.org/annobin/
# uncommenting the lines below will result in annocheck not passing the rpminspect # uncommenting the lines below will result in annocheck not passing the rpminspect
# tests.... # tests....
# %%if %%{without plugin_rebuild} # %%if %%{without plugin_rebuild}
%undefine _annotated_build # %%undefine _annotated_build
# %%endif # %%endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@ -73,12 +74,6 @@ Source: %{annobin_sources}
# Patch01: annobin-foo.patch # Patch01: annobin-foo.patch
# NB - ADD %%patchNN line after the %%setup command down below.... # NB - ADD %%patchNN line after the %%setup command down below....
# TEMP patch until GTS-12 binutils is fixed.
# libannocheck test is failing because:
# lto1: fatal error: bytecode stream in file '/opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../lib64/libiberty.a' generated with LTO version 11.3 instead of the expected 12.0
# Need a binutils rebuild to fix...
Patch01: annobin-libannocheck-test.patch
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%{?scl:Requires:%scl_runtime} %{?scl:Requires:%scl_runtime}
@ -87,7 +82,7 @@ Patch01: annobin-libannocheck-test.patch
# We need the gcc-toolset-12 version of gcc to build annobin, as otherwise the versions will not match. # We need the gcc-toolset-12 version of gcc to build annobin, as otherwise the versions will not match.
%{?scl:Requires:%scl_require_package %{scl} gcc} %{?scl:Requires:%scl_require_package %{scl} gcc}
BuildRequires: %{?scl_prefix}gcc BuildRequires: %{?scl_prefix}gcc %{?scl_prefix}annobin-plugin-gcc
%define gcc_for_annobin %{?_scl_root}/usr/bin/gcc %define gcc_for_annobin %{?_scl_root}/usr/bin/gcc
# Make sure that the necessary sub-packages are built. # Make sure that the necessary sub-packages are built.
@ -146,9 +141,6 @@ annotated files and reports on any missing security options.
%package docs %package docs
Summary: Documentation and shell scripts for use with annobin Summary: Documentation and shell scripts for use with annobin
BuildArch: noarch BuildArch: noarch
# annobin renamed to annobin-doc in 9.66-1
Provides: %{?scl_prefix}%{name} = %{version}-%{release}
Obsoletes: %{?scl_prefix}%{name} < %{version}-%{release}
# The documentation uses pod2man... # The documentation uses pod2man...
BuildRequires: perl-interpreter perl-podlators gawk make sharutils BuildRequires: perl-interpreter perl-podlators gawk make sharutils
@ -322,7 +314,7 @@ echo "Requires: (%{?scl_prefix}gcc >= %{gcc_major} and %{?scl_prefix}gcc < %{gcc
# but then tries to change directory into <scl-prefix>-annobin-<version>. # but then tries to change directory into <scl-prefix>-annobin-<version>.
# %%autosetup -p1 # %%autosetup -p1
%setup -q -n annobin-%{version} %setup -q -n annobin-%{version}
%patch01 -p1 # %%patch01 -p1
# The plugin has to be configured with the same arcane configure # The plugin has to be configured with the same arcane configure
# scripts used by gcc. Hence we must not allow the Fedora build # scripts used by gcc. Hence we must not allow the Fedora build
@ -390,7 +382,7 @@ export LDFLAGS="$LDFLAGS %build_ldflags"
export CLANG_TARGET_OPTIONS="-fcf-protection" export CLANG_TARGET_OPTIONS="-fcf-protection"
%endif %endif
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} || cat config.log CC=%gcc_for_annobin CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} || cat config.log
%make_build %make_build
@ -405,7 +397,12 @@ make -C gcc-plugin clean
BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so" BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so"
# Disable the standard annobin plugin so that we do get conflicts. # 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')" 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 # 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. # .attach_to_group pseudo op (eg RHEL-7) then enable the next line.
@ -448,6 +445,14 @@ mv %{buildroot}/%{llvm_plugin_dir}/annobin-for-clang.so %{buildroot}/%{clang_plu
mkdir -p %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR} mkdir -p %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR}
cat `gcc --print-file-name=rpmver` > %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver} cat `gcc --print-file-name=rpmver` > %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver}
# Rename the plugin to the GTS version.
pushd %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR} > /dev/null
mv annobin.so.0.0.0 gts-annobin.so.0.0.0
rm -f annobin.so annobin.so.0
ln -s gts-annobin.so.0.0.0 gts-annobin.so
ln -s gts-annobin.so.0.0.0 gts-annobin.so.0
popd > /dev/null
# Also install a copy of the sources into the build tree. # Also install a copy of the sources into the build tree.
mkdir -p %{buildroot}%{annobin_source_dir} mkdir -p %{buildroot}%{annobin_source_dir}
cp %{_sourcedir}/%{annobin_sources} %{buildroot}%{annobin_source_dir}/latest-annobin.tar.xz cp %{_sourcedir}/%{annobin_sources} %{buildroot}%{annobin_source_dir}/latest-annobin.tar.xz
@ -463,7 +468,7 @@ rm -f %{buildroot}%{_infodir}/dir
# test suite logs in order to diagnose a test failure. # test suite logs in order to diagnose a test failure.
make check GCC=%gcc_for_annobin make check GCC=%gcc_for_annobin
if [ -f tests/test-suite.log ]; then if [ -f tests/test-suite.log ]; then
cat tests/test-suite.log cat tests/*.log
fi fi
%endif %endif
@ -483,19 +488,22 @@ fi
%if %{with llvmplugin} %if %{with llvmplugin}
%files plugin-llvm %files plugin-llvm
%dir %{llvm_plugin_dir}
%{llvm_plugin_dir}/annobin-for-llvm.so %{llvm_plugin_dir}/annobin-for-llvm.so
%endif %endif
%if %{with clangplugin} %if %{with clangplugin}
%files plugin-clang %files plugin-clang
%dir %{clang_plugin_dir}
%{clang_plugin_dir}/annobin-for-clang.so %{clang_plugin_dir}/annobin-for-clang.so
%endif %endif
%if %{with gccplugin} %if %{with gccplugin}
%files plugin-gcc %files plugin-gcc
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so %dir %{ANNOBIN_GCC_PLUGIN_DIR}
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0 %{ANNOBIN_GCC_PLUGIN_DIR}/gts-annobin.so
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0.0.0 %{ANNOBIN_GCC_PLUGIN_DIR}/gts-annobin.so.0
%{ANNOBIN_GCC_PLUGIN_DIR}/gts-annobin.so.0.0.0
%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver} %{ANNOBIN_GCC_PLUGIN_DIR}/%{aver}
%{annobin_source_dir}/latest-annobin.tar.xz %{annobin_source_dir}/latest-annobin.tar.xz
%endif %endif
@ -506,11 +514,71 @@ fi
%{_libdir}/libannocheck.* %{_libdir}/libannocheck.*
%{_bindir}/annocheck %{_bindir}/annocheck
%{_mandir}/man1/annocheck.1* %{_mandir}/man1/annocheck.1*
%{_libdir}/pkgconfig/libannocheck.pc
%endif %endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%changelog %changelog
* Fri Feb 02 2023 Nick Clifton <nickc@redhat.com> - 11.08-2
- Re-enable building with LTO. (#2166579)
* Tue Jan 31 2023 Nick Clifton <nickc@redhat.com> - 11.08-1
- Annocheck: Fix atexit test. Fix recording of version numbers. (#2165528)
* Fri Jan 13 2023 Nick Clifton <nickc@redhat.com> - 11.06-1
- Annocheck: Fix handling of file built by multiple versions of gcc. (#2160700)
- Spec file: Enable annotated building.
* Thu Jan 12 2023 Nick Clifton <nickc@redhat.com> - 11.05-1
- 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. (#2158386)
- Annocheck: Add more special glibc filenames. (#2158100)
* Thu Dec 22 2022 Nick Clifton <nickc@redhat.com> - 10.99-1
- Annocheck: Improve handling of tool versions.
* Mon Dec 19 2022 Nick Clifton <nickc@redhat.com> - 10.98-1
- 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: Use real filename rather than debuginfo filename. (#2152280)
* Mon Dec 05 2022 Nick Clifton <nickc@redhat.com> - 10.94-2
- Rename gcc plugin to gts-annobin. (#2111977)
* Wed Nov 30 2022 Florian Weimer <fweimer@redhat.com> - 10.94-1
- Rebase to 10.94, brining in support for LLVM 15. (#2118992)
- Annocheck: Better detection of binaries which do not contain code. (#2144533)
- Annocheck: Provide more information when a test is skipped because the file being tested was not compiled.
- Annocheck: Try harder not to run mutually exclusive tests.
- 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)
- Plugin: Fix top level configuration support for RiscV.
- Annocheck: Improvements to the size tool.
- Annocheck: Fixes for libannocheck.h.
- 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)
* Thu Jun 23 2022 Nick Clifton <nickc@redhat.com> - 10.76-2 * Thu Jun 23 2022 Nick Clifton <nickc@redhat.com> - 10.76-2
- Fix libannocheck test so that it does not use lto. - Fix libannocheck test so that it does not use lto.