|
|
|
@ -4,11 +4,12 @@
|
|
|
|
|
|
|
|
|
|
Name: %{?scl_prefix}annobin
|
|
|
|
|
Summary: Annotate and examine compiled binary files
|
|
|
|
|
Version: 10.76
|
|
|
|
|
Release: 4%{?dist}
|
|
|
|
|
Version: 11.08
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------------
|
|
|
|
@ -56,7 +57,7 @@ URL: https://sourceware.org/annobin/
|
|
|
|
|
# uncommenting the lines below will result in annocheck not passing the rpminspect
|
|
|
|
|
# tests....
|
|
|
|
|
# %%if %%{without plugin_rebuild}
|
|
|
|
|
%undefine _annotated_build
|
|
|
|
|
# %%undefine _annotated_build
|
|
|
|
|
# %%endif
|
|
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------------
|
|
|
|
@ -399,7 +400,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.
|
|
|
|
@ -442,6 +448,14 @@ mv %{buildroot}/%{llvm_plugin_dir}/annobin-for-clang.so %{buildroot}/%{clang_plu
|
|
|
|
|
mkdir -p %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR}
|
|
|
|
|
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.
|
|
|
|
|
mkdir -p %{buildroot}%{annobin_source_dir}
|
|
|
|
|
cp %{_sourcedir}/%{annobin_sources} %{buildroot}%{annobin_source_dir}/latest-annobin.tar.xz
|
|
|
|
@ -453,9 +467,15 @@ rm -f %{buildroot}%{_infodir}/dir
|
|
|
|
|
|
|
|
|
|
%if %{with tests}
|
|
|
|
|
%check
|
|
|
|
|
|
|
|
|
|
# Make sure that we run the tests in the same environment as the build.
|
|
|
|
|
# In particular they must use the same version of gcc and the binutis.
|
|
|
|
|
# The sed command converts scl-gcc-toolset-12- into scl-gcc-toolset-12
|
|
|
|
|
source scl_source enable `echo %{?scl_prefix} | sed -e 's/-$//'`
|
|
|
|
|
|
|
|
|
|
# Change the following line to "make check || :" on RHEL7 or if you need to see the
|
|
|
|
|
# test suite logs in order to diagnose a test failure.
|
|
|
|
|
make check GCC=%gcc_for_annobin || :
|
|
|
|
|
make check
|
|
|
|
|
if [ -f tests/test-suite.log ]; then
|
|
|
|
|
cat tests/test-suite.log
|
|
|
|
|
fi
|
|
|
|
@ -477,19 +497,22 @@ 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
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0.0.0
|
|
|
|
|
%dir %{ANNOBIN_GCC_PLUGIN_DIR}
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/gts-annobin.so
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/gts-annobin.so.0
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/gts-annobin.so.0.0.0
|
|
|
|
|
%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver}
|
|
|
|
|
%{annobin_source_dir}/latest-annobin.tar.xz
|
|
|
|
|
%endif
|
|
|
|
@ -500,11 +523,65 @@ fi
|
|
|
|
|
%{_libdir}/libannocheck.*
|
|
|
|
|
%{_bindir}/annocheck
|
|
|
|
|
%{_mandir}/man1/annocheck.1*
|
|
|
|
|
%{_libdir}/pkgconfig/libannocheck.pc
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Tue Jan 31 2023 Nick Clifton <nickc@redhat.com> - 11.08-1
|
|
|
|
|
- Annocheck: Fix atexit test. Fix recording of version numbers. (#2165826)
|
|
|
|
|
|
|
|
|
|
* Fri Jan 13 2023 Nick Clifton <nickc@redhat.com> - 11.06-1
|
|
|
|
|
- Annocheck: Fix handling of file built by multiple versions of gcc. (#2160701)
|
|
|
|
|
- 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.
|
|
|
|
|
- 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)
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
- Annocheck: Add test for binaries built by cross compilers.
|
|
|
|
|
- Annocheck: Improve heuristic used to detect binaries without code. (#2144533)
|
|
|
|
|
- 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. (#2107575)
|
|
|
|
|
|
|
|
|
|
* 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)
|
|
|
|
|
|
|
|
|
|
* Wed Jun 29 2022 Nick Clifton <nickc@redhat.com> - 10.76-5
|
|
|
|
|
- Fix tests to run in a scl environment. (#2099696)
|
|
|
|
|
|
|
|
|
|
* Fri Jun 24 2022 Nick Clifton <nickc@redhat.com> - 10.76-4
|
|
|
|
|
- Spec file: Remove bogus Provides for the annobin-doc subpackage. (#2097616)
|
|
|
|
|
|
|
|
|
|