Blame SPECS/annobin.spec

f94774
f94774
%define __python /opt/rh/devtoolset-9/root/usr/bin/python3
f94774
%{?scl:%{?scl_package:%scl_package annobin}}
f94774
f94774
Name:    %{?scl_prefix}annobin
f94774
Summary: Binary annotation plugin for GCC
f94774
Version: 8.79
f94774
Release: 2%{?dist}
f94774
f94774
License: GPLv3+
f94774
URL:     https://fedoraproject.org/wiki/Toolchain/Watermark
f94774
# Maintainer: nickc@redhat.com
f94774
f94774
f94774
# # Do not build the annobin plugin with annotation enabled.
f94774
# # This is because if we are bootstrapping a new build environment we can have
f94774
# # a new version of gcc installed, but without a new of annobin installed.
f94774
# # (i.e. we are building the new version of annobin to go with the new version
f94774
# # of gcc).  If the *old* annobin plugin is used whilst building this new
f94774
# # version, the old plugin will complain that version of gcc for which it
f94774
# # was built is different from the version of gcc that is now being used, and
f94774
# # then it will abort.
f94774
#
f94774
# Suppress this for BZ 1630550.
f94774
# The problem should now only arise when rebasing to a new major version
f94774
# of gcc, in which case the undefine below can be temporarily reinstated.
f94774
#
f94774
# %%undefine _annotated_build
f94774
#
f94774
# Do not use annobin whilst building annobin.  Needed when bootstrapping annobin.
f94774
%undefine _annotated_build
f94774
f94774
# Use "--without tests" to disable the testsuite.  The default is to run them.
f94774
%bcond_without tests
f94774
f94774
# Use "--without annocheck" to disable the installation of the annocheck program.
f94774
%bcond_without annocheck
f94774
f94774
# Set this to zero to disable the requirement for a specific version of gcc.
f94774
# This should only be needed if there is some kind of problem with the version
f94774
# checking logic or when building on RHEL-7 or earlier.
f94774
%global with_hard_gcc_version_requirement 0
f94774
f94774
#---------------------------------------------------------------------------------
f94774
#Source: https://nickc.fedorapeople.org/annobin-%%{version}.tar.xz
f94774
Source:  annobin-%{version}.tar.xz
f94774
# For the latest sources use:  git clone git://sourceware.org/git/annobin.git
f94774
f94774
# Insert patches here, if needed.
f94774
# Patch01: annobin-xxx.patch
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%{?scl:Requires:%scl_runtime}
f94774
# We need the devtoolset-9 to build annobin, as otherwise the versions will not match.
f94774
%{?scl:Requires:%scl_require_package %{scl} gcc}
f94774
f94774
BuildRequires: %{?scl_prefix}gcc %{?scl_prefix}gcc-plugin-devel %{?scl_prefix}gcc-c++
f94774
%{?scl:BuildRequires:%scl_runtime}
f94774
%{?scl:BuildRequires:scl-utils-build}
f94774
f94774
%define gcc_for_annobin %{?_scl_root}/usr/bin/gcc
f94774
%define gxx_for_annobin %{?_scl_root}/usr/bin/g++
f94774
f94774
# [Stolen from gcc-python-plugin]
f94774
# GCC will only load plugins that were built against exactly that build of GCC
f94774
# We thus need to embed the exact GCC version as a requirement within the
f94774
# metadata.
f94774
#
f94774
# Define "gcc_vr", a variable to hold the VERSION-RELEASE string for the gcc
f94774
# we are being built against.
f94774
#
f94774
# Unfortunately, we can't simply run:
f94774
#   rpm -q --qf="%%{version}-%%{release}"
f94774
# to determine this, as there's no guarantee of a sane rpm database within
f94774
# the chroots created by our build system
f94774
#
f94774
# So we instead query the version from gcc's output.
f94774
#
f94774
# gcc.spec has:
f94774
#   Version: %%{gcc_version}
f94774
#   Release: %%{gcc_release}%%{?dist}
f94774
#   ...snip...
f94774
#   echo 'Red Hat %%{version}-%%{gcc_release}' > gcc/DEV-PHASE
f94774
#
f94774
# So, given this output:
f94774
#
f94774
#   $ gcc --version
f94774
#   gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
f94774
#   Copyright (C) 2011 Free Software Foundation, Inc.
f94774
#   This is free software; see the source for copying conditions.  There is NO
f94774
#   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
f94774
#
f94774
# we can scrape out the "4.6.1" from the version line.
f94774
#
f94774
# The following implements the above:
f94774
%global gcc_vr %(%gcc_for_annobin --version | head -n 1 | sed -e 's|.*(Red\ Hat\ ||g' -e 's|)$||g')
f94774
f94774
# We need the major version of gcc.
f94774
%global gcc_major %(echo "%{gcc_vr}" | cut -f1 -d".")
f94774
%global gcc_next  %(v="%{gcc_major}"; echo $((++v)))
f94774
f94774
# Needed when building the srpm.
f94774
%if 0%{?gcc_major} == 0
f94774
%global gcc_major 0
f94774
%endif
f94774
f94774
# This is a gcc plugin, hence gcc is required.
f94774
%if %{with_hard_gcc_version_requirement}
f94774
# BZ 1607430 - There is an exact requirement on the major version of gcc.
f94774
Requires: (%{?scl_prefix}gcc >= %{gcc_major} with %{?scl_prefix}gcc < %{gcc_next})
f94774
%else
f94774
Requires: %{?scl_prefix}gcc
f94774
%endif
f94774
f94774
f94774
%description
f94774
Provides a plugin for GCC that records extra information in the files
f94774
that it compiles.
f94774
f94774
Note - the plugin is automatically enabled in gcc builds via flags
f94774
provided by the redhat-rpm-macros package.
f94774
f94774
#---------------------------------------------------------------------------------
f94774
%if %{with tests}
f94774
f94774
%package tests
f94774
Summary: Test scripts and binaries for checking the behaviour and output of the annobin plugin
f94774
f94774
%description tests
f94774
Provides a means to test the generation of annotated binaries and the parsing
f94774
of the resulting files.
f94774
f94774
%endif
f94774
f94774
#---------------------------------------------------------------------------------
f94774
%if %{with annocheck}
f94774
f94774
%package annocheck
f94774
Summary: A tool for checking the security hardening status of binaries
f94774
f94774
BuildRequires: gcc elfutils elfutils-devel elfutils-libelf-devel rpm-devel binutils-devel
f94774
f94774
%description annocheck
f94774
Installs the annocheck program which uses the notes generated by annobin to
f94774
check that the specified files were compiled with the correct security
f94774
hardening options.
f94774
f94774
%endif
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%global ANNOBIN_PLUGIN_DIR %(%gcc_for_annobin --print-file-name=plugin)
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%prep
f94774
if [ -z "%{gcc_vr}" ]; then
f94774
    echo "*** Missing gcc_vr spec file macro, cannot continue." >&2
f94774
    exit 1
f94774
fi
f94774
f94774
echo "Requires: (%{?scl_prefix}gcc >= %{gcc_major} with %{?scl_prefix}gcc < %{gcc_next})"
f94774
f94774
# Cannot use autosetup as it untar's the sources into annobin-<version>
f94774
# but then tries to change directory into <scl-prefix>-annobin-<version>.
f94774
# %%autosetup -p1
f94774
%setup -q -n annobin-%{version}
f94774
f94774
# The plugin has to be configured with the same arcane configure
f94774
# scripts used by gcc.  Hence we must not allow the Fedora build
f94774
# system to regenerate any of the configure files.
f94774
touch aclocal.m4 plugin/config.h.in
f94774
touch configure */configure Makefile.in */Makefile.in
f94774
# Similarly we do not want to rebuild the documentation.
f94774
touch doc/annobin.info
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%build
f94774
%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_PLUGIN_DIR} CC=%gcc_for_annobin CXX=%gxx_for_annobin
f94774
f94774
%make_build
f94774
# Rebuild the plugin, this time using the plugin itself!  This
f94774
# ensures that the plugin works, and that it contains annotations
f94774
# of its own.  This could mean that we end up with a plugin with
f94774
# double annotations in it.  (If the build system enables annotations
f94774
# for plugins by default).  I have not tested this yet, but I think
f94774
# that it should be OK.
f94774
cp plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so
f94774
make -C plugin clean
f94774
BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so -fplugin-arg-tmp_annobin-rename"
f94774
# If building on RHEL7, enable the next option as the .attach_to_group assembler pseudo op is not available in the assembler.
f94774
BUILD_FLAGS="$BUILD_FLAGS -fplugin-arg-tmp_annobin-no-attach"
f94774
make -C plugin CXXFLAGS="%{optflags} $BUILD_FLAGS"
f94774
rm %{_tmppath}/tmp_annobin.so
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%install
f94774
%make_install
f94774
%{__rm} -f %{buildroot}%{_infodir}/dir
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%if %{with tests}
f94774
%check
f94774
# On RHEL7 the assembler does not support all of the annobin tests.
f94774
make check GCC=%gcc_for_annobin 
f94774
if [ -f tests/test-suite.log ]; then
f94774
    cat tests/test-suite.log
f94774
fi
f94774
%endif
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%files
f94774
%{ANNOBIN_PLUGIN_DIR}
f94774
%{_bindir}/built-by
f94774
%{_bindir}/check-abi
f94774
%{_bindir}/hardened
f94774
%{_bindir}/run-on-binaries-in
f94774
%license COPYING3 LICENSE
f94774
%exclude %{_datadir}/doc/annobin-plugin/COPYING3
f94774
%exclude %{_datadir}/doc/annobin-plugin/LICENSE
f94774
%doc %{_datadir}/doc/annobin-plugin/annotation.proposal.txt
f94774
%doc %{_infodir}/annobin.info.gz
f94774
%doc %{_mandir}/man1/annobin.1.gz
f94774
%doc %{_mandir}/man1/built-by.1.gz
f94774
%doc %{_mandir}/man1/check-abi.1.gz
f94774
%doc %{_mandir}/man1/hardened.1.gz
f94774
%doc %{_mandir}/man1/run-on-binaries-in.1.gz
f94774
f94774
%if %{with annocheck}
f94774
%files annocheck
f94774
%{_bindir}/annocheck
f94774
%doc %{_mandir}/man1/annocheck.1.gz
f94774
%endif
f94774
f94774
#---------------------------------------------------------------------------------
f94774
f94774
%changelog
f94774
* Wed Aug 21 2019 Nick Clifton <nickc@redhat.com> - 8.79-2
f94774
- INITIAL CREATION OF DTS-9 ANNOBIN.
f94774
f94774
* Thu Aug 08 2019 Nick Clifton <nickc@redhat.com> - 8.79-2
f94774
- Import the missing tests/ sub-directory.
f94774
f94774
* Thu Aug 08 2019 Nick Clifton <nickc@redhat.com> - 8.79-1
f94774
- Allow the compiler used to run tests to be specified on the command line.
f94774
f94774
* Tue Aug 06 2019 Nick Clifton <nickc@redhat.com> - 8.78-1
f94774
- Fix a memory allocation error in the annobin plugin.  (#1737306)
f94774
f94774
* Tue Jul 23 2019 Nick Clifton <nickc@redhat.com> - 8.77-4
f94774
- Change the requirement of gcc-toolset-9 to gcc-toolset-9-gcc.  (#1732767)
f94774
f94774
* Tue Jul 23 2019 Nick Clifton <nickc@redhat.com> - 8.77-2
f94774
- Version bump to allow rebuilding with scl_prefix.
f94774
f94774
* Tue Jul 23 2019 Nick Clifton <nickc@redhat.com> - 8.77-1
f94774
- gcc-toolset-9: INITIAL IMPORT OF ANNOBIN FROM RAWHIDE.  (#1730483)
f94774
f94774
* Mon Jun 24 2019 Nick Clifton <nickc@redhat.com> - 8.77-1
f94774
- Another attempt at fixing the detection and reporting of missing -D_FORTIFY_SOURCE options.  (#1703500)
f94774
f94774
* Mon Jun 10 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 8.76-4
f94774
- Rebuild for RPM 4.15
f94774
f94774
* Mon Jun 10 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 8.76-3
f94774
- Rebuild for RPM 4.15
f94774
f94774
* Thu Jun 06 2019 Panu Matilainen <pmatilai@redhat.com> - 8.76-2
f94774
- Really enable annocheck sub-package
f94774
f94774
* Tue Apr 30 2019 Nick Clifton <nickc@redhat.com> - 8.76-1
f94774
- Report a missing -D_FORTIFY_SOUCRE option if -D_GLIBCXX_ASSERTIONS was detected.  (#1703499)
f94774
- Do not report problems with -fstack-protection if the binary was not built by gcc or clang.  (#1703788)    
f94774
f94774
* Fri Apr 26 2019 Nick Clifton <nickc@redhat.com> - 8.74-1
f94774
- Add tests of clang command line options recorded in the DW_AT_producer attribute.
f94774
f94774
* Wed Apr 24 2019 Nick Clifton <nickc@redhat.com> - 8.73-1
f94774
- Fix test for an executable stack segment.  (#1700924)
f94774
f94774
* Thu Apr 18 2019 Nick Clifton <nickc@redhat.com> - 8.72-1
f94774
- Rebuild annobin with the latest rawhide gcc sources.  (#1700923)
f94774
f94774
* Thu Feb 28 2019 Nick Clifton <nickc@redhat.com> - 8.71-1
f94774
- Annobin: Suppress more calls to free() which are triggering memory checker errors.  (#1684148)
f94774
f94774
* Fri Feb 01 2019 Nick Clifton <nickc@redhat.com> - 8.70-1
f94774
- Add section flag matching ability to section size tool.
f94774
f94774
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.69-7
f94774
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f94774
f94774
* Tue Jan 29 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-6
f94774
- Use 'with' for rich dependency on gcc
f94774
f94774
* Tue Jan 29 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-5
f94774
- Really fix rhbz#1607430.
f94774
f94774
* Mon Jan 28 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-4
f94774
- Rebuilt with annotations enabled
f94774
f94774
* Mon Jan 28 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-3
f94774
- Fix rpm query for gcc version.
f94774
f94774
* Mon Jan 28 2019 Nick Clifton <nickc@redhat.com> - 8.69-2
f94774
- Add an exact requirement on the major version of gcc. (#1607430)
f94774
f94774
* Thu Jan 24 2019 Nick Clifton <nickc@redhat.com> - 8.69-1
f94774
- Annobin: Add support for .text.startup and .text.exit sections generated by gcc 9.
f94774
- Annocheck: Add a note displaying tool.
f94774
f94774
* Wed Jan 23 2019 Nick Clifton <nickc@redhat.com> - 8.68-1
f94774
- Annocheck: Skip checks for -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS if there is no compiler generated code in the binary.
f94774
f94774
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 8.67-3
f94774
- Rebuilt with annotations enabled
f94774
f94774
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 8.67-2
f94774
- Rebuilt for GCC 9
f94774
f94774
* Thu Jan 17 2019 Nick Clifton <nickc@redhat.com> - 8.67-1
f94774
- Annocheck: Only skip specific checks for specific symbols.  (#1666823)
f94774
- Annobin: Record the setting of the -fomit-frame-pointer option.
f94774
f94774
* Wed Jan 02 2019 Nick Clifton <nickc@redhat.com> - 8.66-1
f94774
- Annocheck: Do not ignore -Og when checking to see if an optimization level has been set.  (#1624162)
f94774
f94774
* Tue Dec 11 2018 Nick Clifton <nickc@redhat.com> - 8.65-1
f94774
- Annobin: Fix handling of multiple .text.unlikely sections.
f94774
f94774
* Fri Nov 30 2018 Nick Clifton <nickc@redhat.com> - 8.64-1
f94774
- Annocheck: Skip gaps in PPC64 executables covered by start_bcax_ symbols.  (#1630564)
f94774
f94774
* Mon Nov 26 2018 Nick Clifton <nickc@redhat.com> - 8.63-1
f94774
- Annocheck: Disable ENDBR test for shared libraries.  (#1652925)
f94774
f94774
* Mon Nov 26 2018 Nick Clifton <nickc@redhat.com> - 8.62-1
f94774
- Annocheck: Add test for ENDBR instruction at entry address of x86/x86_64 executables.  (#1652925)
f94774
f94774
* Tue Nov 20 2018 David Cantrell <dcantrell@redhat.com> - 8.61-2
f94774
- Adjust how the gcc_vr macro is set.
f94774
f94774
* Mon Nov 19 2018 Nick Clifton <nickc@redhat.com> - 8.61-1
f94774
- Fix building with gcc version 4.
f94774
f94774
* Tue Nov 13 2018 Nick Clifton <nickc@redhat.com> - 8.60-1
f94774
- Skip -Wl,-z,now and -Wl,-z,relro checks for non-gcc produced binaries.  (#1624421)
f94774
f94774
* Mon Nov 05 2018 Nick Clifton <nickc@redhat.com> - 8.59-1
f94774
- Ensure GNU Property notes are 8-byte aligned in x86_64 binaries.  (#1645817)
f94774
f94774
* Thu Oct 18 2018 Nick Clifton <nickc@redhat.com> - 8.58-1
f94774
- Skip PPC64 linker stubs created in the middle of text sections (again). (#1630640)
f94774
f94774
* Thu Oct 18 2018 Nick Clifton <nickc@redhat.com> - 8.57-1
f94774
- Suppress free of invalid pointer. (#1638371)
f94774
f94774
* Thu Oct 18 2018 Nick Clifton <nickc@redhat.com> - 8.56-1
f94774
- Skip PPC64 linker stubs created in the middle of text sections. (#1630640)
f94774
f94774
* Tue Oct 16 2018 Nick Clifton <nickc@redhat.com> - 8.55-1
f94774
- Reset the (PPC64) section start symbol to 0 if its section is empty.  (#1638251)
f94774
f94774
* Thu Oct 11 2018 Nick Clifton <nickc@redhat.com> - 8.53-1
f94774
- Also skip virtual thinks created by G++.  (#1630619)
f94774
f94774
* Wed Oct 10 2018 Nick Clifton <nickc@redhat.com> - 8.52-1
f94774
- Use uppercase for all fail/mayb/pass results.  (#1637706)
f94774
f94774
* Wed Oct 10 2018 Nick Clifton <nickc@redhat.com> - 8.51-1
f94774
- Generate notes for unlikely sections.  (#1630620)
f94774
f94774
* Mon Oct 08 2018 Nick Clifton <nickc@redhat.com> - 8.50-1
f94774
- Fix edge case computing section names for end symbols.  (#1637039)
f94774
f94774
* Mon Oct 08 2018 Nick Clifton <nickc@redhat.com> - 8.49-1
f94774
- Skip dynamic checks for binaries without a dynamic segment.  (#1636606)
f94774
f94774
* Fri Oct 05 2018 Nick Clifton <nickc@redhat.com> - 8.48-1
f94774
- Delay generating attach_to_group directives until the end of the compilation.  (#1636265)
f94774
f94774
* Mon Oct 01 2018 Nick Clifton <nickc@redhat.com> - 8.47-1
f94774
- Fix bug introduced in previous delta which would trigger a seg-fault when scanning for gaps.
f94774
f94774
* Mon Oct 01 2018 Nick Clifton <nickc@redhat.com> - 8.46-1
f94774
- Annobin:   Fix section name selection for startup sections.
f94774
- Annocheck: Improve gap skipping heuristics.   (#1630574)
f94774
f94774
* Mon Oct 01 2018 Nick Clifton <nickc@redhat.com> - 8.45-1
f94774
- Fix function section support (again).   (#1630574)
f94774
f94774
* Fri Sep 28 2018 Nick Clifton <nickc@redhat.com> - 8.44-1
f94774
- Skip compiler option checks for non-GNU producers.  (#1633749)
f94774
f94774
* Wed Sep 26 2018 Nick Clifton <nickc@redhat.com> - 8.43-1
f94774
- Fix function section support (again).   (#1630574)
f94774
f94774
* Tue Sep 25 2018 Nick Clifton <nickc@redhat.com> - 8.42-1
f94774
- Ignore ppc64le notes where start = end + 2.  (#1632259)
f94774
f94774
* Tue Sep 25 2018 Nick Clifton <nickc@redhat.com> - 8.41-1
f94774
- Make annocheck ignore symbols suffixed with ".end".  (#1639618)
f94774
f94774
* Mon Sep 24 2018 Nick Clifton <nickc@redhat.com> - 8.40-1
f94774
- Reinstate building annobin with annobin enabled.  (#1630550)
f94774
f94774
* Fri Sep 21 2018 Nick Clifton <nickc@redhat.com> - 8.39-1
f94774
- Tweak tests.
f94774
f94774
* Fri Sep 21 2018 Nick Clifton <nickc@redhat.com> - 8.38-1
f94774
- Generate notes and groups for .text.hot and .text.unlikely sections.
f94774
- When -ffunction-sections is active, put notes for startup sections into .text.startup.foo rather than .text.foo.
f94774
- Similarly put exit section notes into .text.exit.foo.  (#1630574)
f94774
- Change annocheck's maybe result for GNU Property note being missing into a PASS if it is not needed and a FAIL if it is needed.
f94774
f94774
* Wed Sep 19 2018 Nick Clifton <nickc@redhat.com> - 8.37-1
f94774
- Make the --skip-* options skip all messages about the specified test.
f94774
f94774
* Tue Sep 18 2018 Nick Clifton <nickc@redhat.com> - 8.36-1
f94774
- Improve error message when an ET_EXEC binary is detected.
f94774
f94774
* Mon Sep 17 2018 Nick Clifton <nickc@redhat.com> - 8.35-1
f94774
- Skip failures for PIC vs PIE.  (#1629698)
f94774
f94774
* Mon Sep 17 2018 Nick Clifton <nickc@redhat.com> - 8.34-1
f94774
- Ensure 4 byte alignment of note sub-sections.  (#1629671)
f94774
f94774
* Wed Sep 12 2018 Nick Clifton <nickc@redhat.com> - 8.33-1
f94774
- Add timing tool to report on speed of the checks.
f94774
- Add check for conflicting use of the -fshort-enum option.
f94774
- Add check of the GNU Property notes.
f94774
- Skip check for -O2 if compiled with -Og.  (#1624162)
f94774
f94774
* Mon Sep 03 2018 Nick Clifton <nickc@redhat.com> - 8.32-1
f94774
- Add test for ET_EXEC binaries.  (#1625627)
f94774
- Document --report-unknown option.
f94774
f94774
* Thu Aug 30 2018 Nick Clifton <nickc@redhat.com> - 8.31-1
f94774
- Fix bug in hardened tool which would skip gcc compiled files if the notes were too small.
f94774
- Fix bugs in section-size tool.
f94774
- Fix bug in built-by tool.
f94774
f94774
* Wed Aug 29 2018 Nick Clifton <nickc@redhat.com> - 8.30-1
f94774
- Generate notes for comdat sections. (#1619267)
f94774
f94774
* Thu Aug 23 2018 Nick Clifton <nickc@redhat.com> - 8.29-1
f94774
- Add more names to the gap skip list. (#1619267)
f94774
f94774
* Thu Aug 23 2018 Nick Clifton <nickc@redhat.com> - 8.28-1
f94774
- Skip gaps covered by _x86.get_pc_thunk and _savegpr symbols. (#1619267)
f94774
- Merge ranges where one is wholly covered by another.
f94774
f94774
* Wed Aug 22 2018 Nick Clifton <nickc@redhat.com> - 8.27-1
f94774
- Skip gaps at the end of functions. (#1619267)
f94774
f94774
* Tue Aug 21 2018 Nick Clifton <nickc@redhat.com> - 8.26-1
f94774
- Fix thinko in ppc64 gap detection code. (#1619267)
f94774
f94774
* Mon Aug 20 2018 Nick Clifton <nickc@redhat.com> - 8.25-1
f94774
- Skip gaps at the end of the .text section in ppc64 binaries. (#1619267)
f94774
f94774
* Wed Aug 15 2018 Nick Clifton <nickc@redhat.com> - 8.24-1
f94774
- Skip checks in stack_chk_local_fail.c
f94774
- Treat gaps as FAIL results rather than MAYBE.
f94774
f94774
* Wed Aug 08 2018 Nick Clifton <nickc@redhat.com> - 8.23-1
f94774
- Skip checks in __stack_chk_local_fail.
f94774
f94774
* Wed Aug 08 2018 Nick Clifton <nickc@redhat.com> - 8.22-1
f94774
- Reduce version check to gcc major version number only.  Skip compiler option checks if binary not built with gcc.  (#1603089)
f94774
f94774
* Tue Aug 07 2018 Nick Clifton <nickc@redhat.com> - 8.21-1
f94774
- Fix bug in annobin plugin.  Add --section-size=NAME option to annocheck.
f94774
f94774
* Thu Aug  2 2018 Peter Robinson <pbrobinson@fedoraproject.org> 8.20-2
f94774
- rebuild for new gcc
f94774
f94774
* Thu Aug 02 2018 Nick Clifton <nickc@redhat.com> - 8.20-1
f94774
- Correct name of man page for run-on-binaries-in script.  (#1611155)
f94774
f94774
* Wed Jul 25 2018 Nick Clifton <nickc@redhat.com> - 8.19-1
f94774
- Allow $ORIGIN to be at the start of entries in DT_RPATH and DT_RUNPATH.
f94774
f94774
* Mon Jul 23 2018 Nick Clifton <nickc@redhat.com> - 8.18-1
f94774
- Add support for big endian targets.
f94774
f94774
* Mon Jul 23 2018 Nick Clifton <nickc@redhat.com> - 8.17-1
f94774
- Count passes and failures on a per-component basis and report gaps.
f94774
f94774
* Fri Jul 20 2018 Nick Clifton <nickc@redhat.com> - 8.16-1
f94774
- Use our own copy of the targetm.asm_out.function_section() function.  (#159861 comment#17)
f94774
f94774
* Fri Jul 20 2018 Nick Clifton <nickc@redhat.com> - 8.15-1
f94774
- Generate grouped note section name all the time.  (#159861 comment#16)
f94774
f94774
* Thu Jul 19 2018 Nick Clifton <nickc@redhat.com> - 8.14-1
f94774
- Fix section conflict problem.  (#1603071)
f94774
f94774
* Wed Jul 18 2018 Nick Clifton <nickc@redhat.com> - 8.13-1
f94774
- Fix for building with gcc version 4.
f94774
- Fix symbol placement in functions with local assembler.
f94774
f94774
* Tue Jul 17 2018 Nick Clifton <nickc@redhat.com> - 8.12-1
f94774
- Fix assertions in range checking code.  Add detection of -U options.
f94774
f94774
* Tue Jul 17 2018 Nick Clifton <nickc@redhat.com> - 8.11-1
f94774
- Handle function sections properly.  Handle .text.startup and .text.unlikely sections.  Improve gap detection and reporting.  (#1601055)
f94774
f94774
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-2
f94774
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
f94774
f94774
* Thu Jul 12 2018 Nick Clifton <nickc@redhat.com> - 8.10-1
f94774
- Fix construction of absolute versions of --dwarf-dir and --debug-rpm options.
f94774
f94774
* Tue Jul 10 2018 Nick Clifton <nickc@redhat.com> - 8.9-1
f94774
- Fix buffer overrun when very long symbol names are encountered.
f94774
f94774
* Tue Jul 10 2018 Nick Clifton <nickc@redhat.com> - 8.8-1
f94774
- Do not force the generation of function notes when -ffunction-sections is active.  (#1598961)
f94774
f94774
* Mon Jul 09 2018 Nick Clifton <nickc@redhat.com> - 8.7-1
f94774
- Skip the .annobin_ prfix when reporting symbols.  (#1599315)
f94774
f94774
* Mon Jul 09 2018 Nick Clifton <nickc@redhat.com> - 8.6-1
f94774
- Use the assembler (c++ mangled) version of function names when switching sections.  (#1598579)
f94774
f94774
* Mon Jul 09 2018 Nick Clifton <nickc@redhat.com> - 8.5-1
f94774
- Do not call function_section.  (#1598961)
f94774
f94774
* Fri Jul 06 2018 Nick Clifton <nickc@redhat.com> - 8.4-1
f94774
- Ignore cross-section gaps.  (#1598551)
f94774
f94774
* Thu Jul 05 2018 Nick Clifton <nickc@redhat.com> - 8.3-1
f94774
- Do not skip empty range notes in object files.  (#1598361)
f94774
f94774
* Mon Jul 02 2018 Nick Clifton <nickc@redhat.com> - 8.2-1
f94774
- Create the start symbol at the start of the function and the end symbol at the end.  (#1596823)
f94774
f94774
* Mon Jul 02 2018 Nick Clifton <nickc@redhat.com> - 8.1-1
f94774
- Fix --debug-rpm when used inside a directory.
f94774
f94774
* Thu Jun 28 2018 Nick Clifton <nickc@redhat.com> - 8.0-1
f94774
- Use a prefix for all annobin generated symbols, and make them hidden.
f94774
- Only generate weak symbol definitions for linkonce sections.
f94774
f94774
* Wed Jun 27 2018 Nick Clifton <nickc@redhat.com> - 7.1-1
f94774
- Skip some checks for relocatable object files, and dynamic objects.
f94774
- Stop bogus complaints about stackrealignment not being enabled.
f94774
f94774
* Mon Jun 25 2018 Nick Clifton <nickc@redhat.com> - 7.0-1
f94774
- Add -debug-rpm= option to annocheck.
f94774
- Only use a 2 byte offset for the initial symbol on PowerPC.
f94774
f94774
* Fri Jun 22 2018 Nick Clifton <nickc@redhat.com> - 6.6-1
f94774
- Use --dwarf-path when looking for build-id based debuginfo files.
f94774
f94774
* Fri Jun 22 2018 Nick Clifton <nickc@redhat.com> - 6.5-1
f94774
- Fix premature closing of dwarf handle.
f94774
f94774
* Fri Jun 22 2018 Nick Clifton <nickc@redhat.com> - 6.4-1
f94774
- Fix scoping bug computing the name of a separate debuginfo file.
f94774
f94774
* Tue Jun 19 2018 Nick Clifton <nickc@redhat.com> - 6.3-1
f94774
- Fix file descriptor leak.
f94774
f94774
* Tue Jun 19 2018 Nick Clifton <nickc@redhat.com> - 6.2-1
f94774
- Add command line options to annocheck to disable individual tests.
f94774
f94774
* Fri Jun 08 2018 Nick Clifton <nickc@redhat.com> - 6.1-1
f94774
- Remove C99-ism from annocheck sources.
f94774
f94774
* Wed Jun 06 2018 Nick Clifton <nickc@redhat.com> - 6.0-1
f94774
- Add the annocheck program.
f94774
f94774
* Fri Jun 01 2018 Nick Clifton <nickc@redhat.com> - 5.11-1
f94774
- Do not use the SHF_GNU_BUILD_NOTE section flag.
f94774
f94774
* Thu May 31 2018 Nick Clifton <nickc@redhat.com> - 5.10-1
f94774
- Remove .sh extension from shell scripts.
f94774
f94774
* Wed May 30 2018 Nick Clifton <nickc@redhat.com> - 5.9-1
f94774
- Record the setting of the -mstackrealign option for i686 binaries.
f94774
f94774
* Mon May 14 2018 Nick Clifton <nickc@redhat.com> - 5.8-1
f94774
- Hide the annobin start of file symbol.
f94774
f94774
* Tue May 08 2018 Nick Clifton <nickc@redhat.com> - 5.7-1
f94774
- Fix script bug in hardended.sh.  (Thanks to: Stefan Sørensen <stefan.sorensen@spectralink.com>)
f94774
f94774
* Thu May 03 2018 Nick Clifton <nickc@redhat.com> - 5.6-3
f94774
- Version number bump so that the plugin can be rebuilt with the latest version of GCC.
f94774
f94774
* Mon Apr 30 2018 Nick Clifton <nickc@redhat.com> - 5.6-2
f94774
- Rebuild the plugin with the newly created plugin enabled.  (#1573082)
f94774
f94774
* Mon Apr 30 2018 Nick Clifton <nickc@redhat.com> - 5.6-1
f94774
- Skip the isa_flags check in the ABI test because the crt[in].o files are compiled with different flags from the test files.
f94774
f94774
* Fri Apr 20 2018 Nick Clifton <nickc@redhat.com> - 5.3-1
f94774
- Add manual pages for annobin and the scripts.
f94774
f94774
* Tue Apr 03 2018 Nick Clifton <nickc@redhat.com> - 5.2-1
f94774
- Do not record a stack protection setting of -1.  (#1563141)
f94774
f94774
* Tue Mar 20 2018 Nick Clifton <nickc@redhat.com> - 5.1-1
f94774
- Do not complain about a dwarf_version value of -1.  (#1557511)
f94774
f94774
* Thu Mar 15 2018 Nick Clifton <nickc@redhat.com> - 5.0-1
f94774
- Bias file start symbols by 2 in order to avoid them confused with function symbols.  (#1554332)
f94774
- Version jump is to sync the version number with the annobin plugins internal version number.
f94774
f94774
* Mon Mar 12 2018 Nick Clifton <nickc@redhat.com> - 3.6-1
f94774
- Add --ignore-gaps option to check-abi.sh script.
f94774
- Use this option in the abi-test check.
f94774
- Tweak hardening test to skip pic and stack protection checks.
f94774
f94774
* Tue Mar 06 2018 Nick Clifton <nickc@redhat.com> - 3.5-1
f94774
- Handle functions with specific assembler names.  (#1552018)
f94774
f94774
* Fri Feb 23 2018 Nick Clifton <nickc@redhat.com> - 3.4-2
f94774
- Add an explicit requirement on the version of gcc used to built the plugin.  (#1547260)
f94774
f94774
* Fri Feb 09 2018 Nick Clifton <nickc@redhat.com> - 3.4-1
f94774
- Change type and size of symbols to STT_NOTYPE/0 so that they do not confuse GDB.  (#1539664)
f94774
- Add run-on-binaries-in.sh script to allow the other scripts to be run over a repository.
f94774
f94774
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-2
f94774
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f94774
f94774
* Tue Jan 30 2018 Nick Clifton <nickc@redhat.com> - 3.3-1
f94774
- Rebase on 3.3 release, which adds support for recording -mcet and -fcf-protection.
f94774
f94774
* Mon Jan 29 2018 Florian Weimer <fweimer@redhat.com> - 3.2-3
f94774
- Rebuild for GCC 8
f94774
f94774
* Fri Jan 26 2018 Nick Clifton <nickc@redhat.com> - 3.2-2
f94774
- Fix the installation of the annobin.info file.
f94774
f94774
* Fri Jan 26 2018 Nick Clifton <nickc@redhat.com> - 3.2-1
f94774
- Rebase on 3.2 release, which now contains documentation!
f94774
f94774
* Fri Jan 26 2018 Richard W.M. Jones <rjones@redhat.com> - 3.1-3
f94774
- Rebuild against GCC 7.3.1.
f94774
f94774
* Tue Jan 16 2018 Nick Clifton <nickc@redhat.com> - 3.1-2
f94774
- Add --with-gcc-plugin-dir option to the configure command line.
f94774
f94774
* Thu Jan 04 2018 Nick Clifton <nickc@redhat.com> - 3.1-1
f94774
- Rebase on version 3.1 sources.
f94774
f94774
* Mon Dec 11 2017 Nick Clifton <nickc@redhat.com> - 2.5.1-5
f94774
- Do not generate notes when there is no output file.  (#1523875)
f94774
f94774
* Fri Dec 08 2017 Nick Clifton <nickc@redhat.com> - 2.5.1-4
f94774
- Invent an input filename when reading from a pipe.  (#1523401)
f94774
f94774
* Thu Nov 30 2017 Florian Weimer <fweimer@redhat.com> - 2.5.1-3
f94774
- Use DECL_ASSEMBLER_NAME for symbol references (#1519165)
f94774
f94774
* Tue Oct 03 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.5.1-2
f94774
- Cleanups in spec
f94774
f94774
* Tue Sep 26 2017 Nick Clifton <nickc@redhat.com> - 2.5.1-1
f94774
- Touch the auto-generated files in order to stop them from being regenerated.
f94774
f94774
* Tue Sep 26 2017 Nick Clifton <nickc@redhat.com> - 2.5-2
f94774
- Stop the plugin complaining about compiler datestamp mismatches.
f94774
f94774
* Thu Sep 21 2017 Nick Clifton <nickc@redhat.com> - 2.4-1
f94774
- Tweak tests so that they will run on older machines.
f94774
f94774
* Thu Sep 21 2017 Nick Clifton <nickc@redhat.com> - 2.3-1
f94774
- Add annobin-tests subpackage containing some preliminary tests.
f94774
- Remove link-time test for unsupported targets.
f94774
f94774
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-3
f94774
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
f94774
f94774
* Mon Jul 31 2017 Florian Weimer <fweimer@redhat.com> - 2.0-2
f94774
- Rebuild with binutils fix for ppc64le (#1475636)
f94774
f94774
* Wed Jun 28 2017 Nick Clifton <nickc@redhat.com> - 2.0-1
f94774
- Fixes for problems reported by the package submission review:
f94774
   * Add %%license entry to %%file section.
f94774
   * Update License and BuildRequires tags.
f94774
   * Add Requires tag.
f94774
   * Remove %%clean.
f94774
   * Add %%check.
f94774
   * Clean up the %%changelog.
f94774
- Update to use version 2 of the specification and sources.
f94774
f94774
* Thu May 11 2017 Nick Clifton <nickc@redhat.com> - 1.0-1
f94774
- Initial submission.