Compare commits

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

14 commits

Author SHA1 Message Date
Jakub Jelinek
d1f1948339 9.27-3 2021-04-25 19:07:31 +02:00
Jakub Jelinek
db20a08ea6 Rebuilt for gcc 10.2.1-5 2020-10-06 20:41:01 +02:00
Nick Clifton
cd1ece23e9 Use more robust checks for AArch64 options.
Detect CLANG compiled assembler that is missing IBT support.
2020-07-31 12:10:52 +01:00
Nick Clifton
5584ddf8de Rebase to 9.25 - fixing AArch64 pointer size problems. 2020-07-29 16:19:36 +01:00
Nick Clifton
fd0e28fa79 Annobin: Fall back on using the flags if the option cannot be found in cl_options. Annocheck: Detect Fortran compiled programs.
Resolves: #1817659
2020-05-04 10:31:48 +01:00
Nick Clifton
1989d6b516 Annobin: If option name mismatch occurs, seach for the real option. (#1817452) 2020-04-01 14:09:47 +01:00
Nick Clifton
fdb341191e Annocheck: Fix a division by zero error when parsing GO binaries.
Resolves: #1818863
2020-03-30 17:14:45 +01:00
Nick Clifton
7b10140287 Fixes for rebuilding. 2020-03-30 11:42:35 +01:00
Nick Clifton
b6230191a2 NVR bump to rebuild with the new annobin. 2020-03-30 11:04:13 +01:00
Nick Clifton
9d32ae06fa Annobin: Fix access to the -flto and -fsanitize flags. 2020-03-30 10:43:16 +01:00
Nick Clifton
eece91e97d 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.
2020-03-26 16:14:53 +00:00
Nick Clifton
652edd22ed NVR bump to allow rebuilding against new gcc 2020-03-26 12:18:07 +00:00
Nick Clifton
7de481b6d8 NVR bump to enable rebuild against updated gcc (F32 iteration).
Related: #1810941
2020-03-13 09:54:29 +00:00
Nick Clifton
ab0ada59ab NVR bump to enable rebuild against updated gcc.
Related: #1810941
2020-03-12 11:12:19 +00:00
3 changed files with 86 additions and 17 deletions

7
.gitignore vendored
View file

@ -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

View file

@ -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 <jakub@redhat.com> - 9.27-3
- Rebuilt for gcc 10.3.1-1
* Tue Oct 06 2020 Jakub Jelinek <jakub@redhat.com> - 9.27-2
- Rebuilt for gcc 10.2.1-5
* Fri Jul 31 2020 Nick Clifton <nickc@redhat.com> - 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 <nickc@redhat.com> - 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 <nickc@redhat.com> - 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 <nickc@redhat.com> - 9.19-1
- Annobin: If option name mismatch occurs, seach for the real option. (#1817452)
* Mon Mar 30 2020 Nick Clifton <nickc@redhat.com> - 9.18-1
- Annocheck: Fix a division by zero error when parsing GO binaries. (#1818863)
* Mon Mar 30 2020 Nick Clifton <nickc@redhat.com> - 9.16-2
- NVR bump to rebuild with the new annobin.
* Mon Mar 30 2020 Nick Clifton <nickc@redhat.com> - 9.16-1
- Annobin: Fix access to the -flto and -fsanitize flags.
* Thu Mar 26 2020 Nick Clifton <nickc@redhat.com> - 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 <nickc@redhat.com> - 9.06-6
- NVR bump to enable rebuild against updated gcc.
* Fri Mar 13 2020 Nick Clifton <nickc@redhat.com> - 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 <nickc@redhat.com> - 9.06-4
- NVR bump to enable rebuild against updated gcc (F32 iteration). (#1810941)
* Thu Mar 12 2020 Nick Clifton <nickc@redhat.com> - 9.06-2
- NVR bump to enable rebuild against updated gcc. (#1810941)
* Tue Feb 11 2020 Nick Clifton <nickc@redhat.com> - 9.06-1
- Annobin: Note when stack clash notes are generated.
- Annocheck: Handle multiple builder IDs in the .comment section.

View file

@ -1 +1 @@
SHA512 (annobin-9.06.tar.xz) = 72bf0675de0dd28908526cf2c7ef400dda21538f94e80d9211711b73d1d876ab7519f6c848867f873e207a647700055e6a4b1cec46ac84353f33d869aebf6a53
SHA512 (annobin-9.27.tar.xz) = 35911c21486b0222f09367d7dae7b119fd2af9a42ee0a3973375770fd17d33e4453b45509e96f50150df99d2610698a690c1ef419199aec7df77be079acc8efd