diff --git a/.gitignore b/.gitignore index 9b973c8..060b690 100644 --- a/.gitignore +++ b/.gitignore @@ -122,3 +122,10 @@ /annobin-9.04.tar.xz /annobin-9.05.tar.xz /annobin-9.06.tar.xz +/annobin-9.14.tar.xz +/annobin-9.16.tar.xz +/annobin-9.18.tar.xz +/annobin-9.19.tar.xz +/annobin-9.21.tar.xz +/annobin-9.25.tar.xz +/annobin-9.27.tar.xz diff --git a/annobin.spec b/annobin.spec index c85a3a9..753c327 100644 --- a/annobin.spec +++ b/annobin.spec @@ -1,8 +1,8 @@ Name: annobin Summary: Binary annotation plugin for GCC -Version: 9.06 -Release: 1%{?dist} +Version: 9.27 +Release: 3%{?dist} License: GPLv3+ URL: https://fedoraproject.org/wiki/Toolchain/Watermark # Maintainer: nickc@redhat.com @@ -44,7 +44,7 @@ URL: https://fedoraproject.org/wiki/Toolchain/Watermark # in the size of gcc's global_options structure. In order to rebuild annobin # against the changed gcc it is necessary to disable annobin as otherwise # the configuration step of annobin's build will fail. -# %%undefine _annotated_build +%undefine _annotated_build #--------------------------------------------------------------------------------- Source: https://nickc.fedorapeople.org/annobin-%{version}.tar.xz @@ -148,7 +148,7 @@ hardening options. #--------------------------------------------------------------------------------- -%global ANNOBIN_PLUGIN_DIR %(gcc --print-file-name=plugin) +%global ANNOBIN_GCC_PLUGIN_DIR %(gcc --print-file-name=plugin) #--------------------------------------------------------------------------------- @@ -158,14 +158,14 @@ if [ -z "%{gcc_vr}" ]; then exit 1 fi -echo "Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next})" +echo "Requires: (gcc >= %{gcc_major} and gcc < %{gcc_next})" %autosetup -p1 # The plugin has to be configured with the same arcane configure # scripts used by gcc. Hence we must not allow the Fedora build # system to regenerate any of the configure files. -touch aclocal.m4 plugin/config.h.in +touch aclocal.m4 gcc-plugin/config.h.in touch configure */configure Makefile.in */Makefile.in # Similarly we do not want to rebuild the documentation. touch doc/annobin.info @@ -174,25 +174,34 @@ touch doc/annobin.info %build +CONFIG_ARGS= + %if %{with debuginfod} -%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_PLUGIN_DIR} --with-debuginfod +CONFIG_ARGS="$CONFIG_ARGS --with-debuginfod" %else -%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_PLUGIN_DIR} +CONFIG_ARGS="$CONFIG_ARGS --without-debuginfod" %endif +%if %{without tests} +CONFIG_ARGS="$CONFIG_ARGS --without-test" +%endif + +%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR} ${CONFIG_ARGS} || cat config.log + %make_build + # Rebuild the plugin, this time using the plugin itself! This # ensures that the plugin works, and that it contains annotations # of its own. This could mean that we end up with a plugin with # double annotations in it. (If the build system enables annotations # for plugins by default). I have not tested this yet, but I think # that it should be OK. -cp plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so -make -C plugin clean +cp gcc-plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so +make -C gcc-plugin clean BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so -fplugin-arg-tmp_annobin-rename" # If building on RHEL7, enable the next option as the .attach_to_group assembler pseudo op is not available in the assembler. # BUILD_FLAGS="$BUILD_FLAGS -fplugin-arg-tmp_annobin-no-attach" -make -C plugin CXXFLAGS="%{optflags} $BUILD_FLAGS" +make -C gcc-plugin CXXFLAGS="%{optflags} $BUILD_FLAGS" rm %{_tmppath}/tmp_annobin.so #--------------------------------------------------------------------------------- @@ -216,11 +225,7 @@ fi #--------------------------------------------------------------------------------- %files -%{ANNOBIN_PLUGIN_DIR} -%{_bindir}/built-by -%{_bindir}/check-abi -%{_bindir}/hardened -%{_bindir}/run-on-binaries-in +%{ANNOBIN_GCC_PLUGIN_DIR} %license COPYING3 LICENSE %exclude %{_datadir}/doc/annobin-plugin/COPYING3 %exclude %{_datadir}/doc/annobin-plugin/LICENSE @@ -241,6 +246,63 @@ fi #--------------------------------------------------------------------------------- %changelog +* Sun Apr 25 2021 Jakub Jelinek - 9.27-3 +- Rebuilt for gcc 10.3.1-1 + +* Tue Oct 06 2020 Jakub Jelinek - 9.27-2 +- Rebuilt for gcc 10.2.1-5 + +* Fri Jul 31 2020 Nick Clifton - 9.27-1 +- Use more robust checks for AArch64 options. +- Detect CLANG compiled assembler that is missing IBT support. + +* Wed Jul 29 2020 Nick Clifton - 9.25-1 +- Improved target pointer size discovery. +- Annocheck: Do not skip tests of the short-enums notes. (#1743635) + +* Mon May 04 2020 Nick Clifton - 9.21-1 +- Annobin: Fall back on using the flags if the option cannot be found in cl_options. (#1817659) +- Annocheck: Detect Fortran compiled programs. (#1824393) + +* Wed Apr 01 2020 Nick Clifton - 9.19-1 +- Annobin: If option name mismatch occurs, seach for the real option. (#1817452) + +* Mon Mar 30 2020 Nick Clifton - 9.18-1 +- Annocheck: Fix a division by zero error when parsing GO binaries. (#1818863) + +* Mon Mar 30 2020 Nick Clifton - 9.16-2 +- NVR bump to rebuild with the new annobin. + +* Mon Mar 30 2020 Nick Clifton - 9.16-1 +- Annobin: Fix access to the -flto and -fsanitize flags. + +* Thu Mar 26 2020 Nick Clifton - 9.14-1 +- Use offsets stored in gcc's cl_option structure to access the global_options array, thus removing the need to check for changes in the size of this structure. +- Rename gcc plugin directory to gcc-plugin. +- Stop annocheck from complaining about missing options when the binary has been built in a mixed environment. +- Improve builtby tool. +- Stop annocheck complaining about missing notes when the binary is not compiled by either gcc or clang. +- Skip the check of the ENTRY instruction for binaries not compiled by gcc or clang. (#1809656) +- Fix infinite loop hangup in annocheck. +- Disable debuginfod support by default. +- Improve parsing of .comment section. +- Fix clang plugin to use hidden symbols. +- Add ability to build clang plugin (disabled by default). +- Annocheck: Fix error printing out the version number. +- Annobin: Add checks of the exact location of the examined switches. + +* Thu Mar 26 2020 Nick Clifton - 9.06-6 +- NVR bump to enable rebuild against updated gcc. + +* Fri Mar 13 2020 Nick Clifton - 9.06-5 +- NVR bump to enable rebuild against updated gcc with the new annobin installed in the buildroot. (#1810941) + +* Fri Mar 13 2020 Nick Clifton - 9.06-4 +- NVR bump to enable rebuild against updated gcc (F32 iteration). (#1810941) + +* Thu Mar 12 2020 Nick Clifton - 9.06-2 +- NVR bump to enable rebuild against updated gcc. (#1810941) + * Tue Feb 11 2020 Nick Clifton - 9.06-1 - Annobin: Note when stack clash notes are generated. - Annocheck: Handle multiple builder IDs in the .comment section. diff --git a/sources b/sources index 6c8344c..888c6f1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (annobin-9.06.tar.xz) = 72bf0675de0dd28908526cf2c7ef400dda21538f94e80d9211711b73d1d876ab7519f6c848867f873e207a647700055e6a4b1cec46ac84353f33d869aebf6a53 +SHA512 (annobin-9.27.tar.xz) = 35911c21486b0222f09367d7dae7b119fd2af9a42ee0a3973375770fd17d33e4453b45509e96f50150df99d2610698a690c1ef419199aec7df77be079acc8efd