Blame SPECS/annobin.spec

6dd473
6dd473
%define __python /opt/rh/gcc-toolset-10/root/usr/bin/python3
6dd473
%{?scl:%scl_package annobin}
6dd473
6dd473
Name:    %{?scl_prefix}annobin
6dd473
Summary: Annotate and examine compiled binary files
6dd473
Version: 9.82
6dd473
Release: 1%{?dist}
6dd473
License: GPLv3+
6dd473
# Maintainer: nickc@redhat.com
6dd473
# Web Page: https://sourceware.org/annobin/
6dd473
# Watermark Protocol: https://fedoraproject.org/wiki/Toolchain/Watermark
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
# Use "--without tests" to disable the testsuite.
6dd473
%bcond_without tests
6dd473
6dd473
# Use "--without annocheck" to disable the installation of the annocheck program.
6dd473
%bcond_without annocheck
6dd473
6dd473
# Use "--with debuginfod" to force support for debuginfod to be compiled into
6dd473
# the annocheck program.  By default the configure script will check for
6dd473
# availablilty at build time, but this might not match the run time situation.
6dd473
# FIXME: Add a --without debuginfod option to forcefully disable the configure
6dd473
# time check for debuginfod support.
6dd473
%bcond_with debuginfod
6dd473
6dd473
# Use "--with clangplugin" to enable the building of the annobin plugin for Clang.
6dd473
%bcond_with clangplugin
6dd473
6dd473
# Use "--without gccplugin" to disable the building of the annobin plugin for GCC.
6dd473
%bcond_without gccplugin
6dd473
6dd473
# Use "--with llvmplugin" to enable the building of the annobin plugin for LLVM.
6dd473
%bcond_with llvmplugin
6dd473
6dd473
# Set this to zero to disable the requirement for a specific version of gcc.
6dd473
# This should only be needed if there is some kind of problem with the version
6dd473
# checking logic or when building on RHEL-7 or earlier.
6dd473
%global with_hard_gcc_version_requirement 1
6dd473
6dd473
%bcond_with plugin_rebuild
6dd473
# Allow the building of annobin without using annobin itself.
6dd473
# This is because if we are bootstrapping a new build environment we can have
6dd473
# a new version of gcc installed, but without a new of annobin installed.
6dd473
# (i.e. we are building the new version of annobin to go with the new version
6dd473
# of gcc).  If the *old* annobin plugin is used whilst building this new
6dd473
# version, the old plugin will complain that version of gcc for which it
6dd473
# was built is different from the version of gcc that is now being used, and
6dd473
# then it will abort.
6dd473
#
6dd473
# The default was to use plugin during rebuilds (cf BZ 1630550) but this has
6dd473
# been changed because of the need to be able to rebuild annobin when a change
6dd473
# to gcc breaks the version installed into the buildroot.
6dd473
%if %{without plugin_rebuild}
6dd473
%undefine _annotated_build
6dd473
%endif
6dd473
6dd473
%{!?llvm_version:%global llvm_version 11.1.0}
6dd473
%{!?llvm_plugin_dir:%global llvm_plugin_dir %{_libdir}/llvm/%{llvm_version}}
6dd473
%{!?clang_plugin_dir:%global clang_plugin_dir %{_libdir}/clang/%{llvm_version}}
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
# Source:  https://nickc.fedorapeople.org/annobin-%%{version}.tar.xz
6dd473
Source:  annobin-%{version}.tar.xz
6dd473
# For the latest sources use:  git clone git://sourceware.org/git/annobin.git
6dd473
6dd473
# Insert patches here, if needed.
6dd473
Patch01: annocheck-not-build-with-plugin.patch
6dd473
# Remember to add %%patchNN -p1 directives after the %%setup command.
6dd473
6dd473
# For RHEL-7 we do not build for the AArch64 target.
6dd473
%if 0%{?rhel} == 7
6dd473
ExcludeArch: aarch64
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%{?scl:Requires:%scl_runtime}
6dd473
%{?scl:BuildRequires:%scl_runtime}
6dd473
%{?scl:BuildRequires:scl-utils-build}
6dd473
# We need the devtoolset-11 version of gcc to build annobin, as otherwise the versions will not match.
6dd473
%{?scl:Requires:%scl_require_package %{scl} gcc}
6dd473
6dd473
BuildRequires: %{?scl_prefix}gcc
6dd473
6dd473
%define gcc_for_annobin %{?_scl_root}/usr/bin/gcc
6dd473
%define gxx_for_annobin %{?_scl_root}/usr/bin/g++
6dd473
6dd473
%if %{with gccplugin}
6dd473
Requires: annobin-plugin-gcc
6dd473
6dd473
# [Stolen from gcc-python-plugin]
6dd473
# GCC will only load plugins that were built against exactly that build of GCC
6dd473
# We thus need to embed the exact GCC version as a requirement within the
6dd473
# metadata.
6dd473
#
6dd473
# Define "gcc_vr", a variable to hold the VERSION-RELEASE string for the gcc
6dd473
# we are being built against.
6dd473
#
6dd473
# Unfortunately, we can't simply run:
6dd473
#   rpm -q --qf="%%{version}-%%{release}"
6dd473
# to determine this, as there's no guarantee of a sane rpm database within
6dd473
# the chroots created by our build system
6dd473
#
6dd473
# So we instead query the version from gcc's output.
6dd473
#
6dd473
# gcc.spec has:
6dd473
#   Version: %%{gcc_version}
6dd473
#   Release: %%{gcc_release}%%{?dist}
6dd473
#   ...snip...
6dd473
#   echo 'Red Hat %%{version}-%%{gcc_release}' > gcc/DEV-PHASE
6dd473
#
6dd473
# So, given this output:
6dd473
#
6dd473
#   $ gcc --version
6dd473
#   gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
6dd473
#   Copyright (C) 2011 Free Software Foundation, Inc.
6dd473
#   This is free software; see the source for copying conditions.  There is NO
6dd473
#   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
6dd473
#
6dd473
# we can scrape out the "4.6.1" from the version line.
6dd473
#
6dd473
# The following implements the above:
6dd473
6dd473
%global gcc_vr %(%gcc_for_annobin --version | head -n 1 | sed -e 's|.*(Red\ Hat\ ||g' -e 's|)$||g')
6dd473
6dd473
# We need the major version of gcc.
6dd473
%global gcc_major %(echo "%{gcc_vr}" | cut -f1 -d".")
6dd473
%global gcc_next  %(v="%{gcc_major}"; echo $((++v)))
6dd473
6dd473
# Needed when building the srpm.
6dd473
%if 0%{?gcc_major} == 0
6dd473
%global gcc_major 0
6dd473
%endif
6dd473
6dd473
# This is a gcc plugin, hence gcc is required.
6dd473
%if %{with_hard_gcc_version_requirement}
6dd473
# BZ 1607430 - There is an exact requirement on the major version of gcc.
6dd473
Requires: %{?scl_prefix}gcc >= %{gcc_major}, %{?scl_prefix}gcc < %{gcc_next}
6dd473
%else
6dd473
Requires: %{?scl_prefix}gcc
6dd473
%endif
6dd473
6dd473
BuildRequires: %{?scl_prefix}gcc-plugin-devel %{?scl_prefix}gcc-c++
6dd473
6dd473
%endif
6dd473
6dd473
%if %{with llvmplugin}
6dd473
Requires: annobin-plugin-llvm
6dd473
BuildRequires: clang clang-devel llvm llvm-devel compiler-rt
6dd473
%endif
6dd473
6dd473
%if %{with clangplugin}
6dd473
Requires: annobin-plugin-clang
6dd473
BuildRequires: clang clang-devel llvm llvm-devel compiler-rt
6dd473
%endif
6dd473
6dd473
# The documentation uses pod2man...
6dd473
BuildRequires: perl-interpreter perl-podlators gawk
6dd473
6dd473
#---------------------------------------------------------------------------
6dd473
6dd473
%description
6dd473
Provides a plugin for GCC that records extra information in the files
6dd473
that it compiles.
6dd473
6dd473
Note - the plugin is automatically enabled in gcc builds via flags
6dd473
provided by the redhat-rpm-macros package.
6dd473
6dd473
%if %{with clangplugin}
6dd473
Also provides a plugin for Clang which performs a similar function.
6dd473
%endif
6dd473
6dd473
%if %{with llvmplugin}
6dd473
Also provides a plugin for LLVM which performs a similar function.
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------
6dd473
6dd473
# Now that we have sub-packages for all of the plugins and for annocheck,
6dd473
# there are no executables left to go into the "annobin" rpm.  But top-level
6dd473
# packages cannot have "BuildArch: noarch" if sub-packages do have
6dd473
# architecture requirements, and rpmlint generates an error if an
6dd473
# architecture specific rpm does not contain any binaries.  So instead all of
6dd473
# the documentation has been moved into an architecture neutral sub-package,
6dd473
# and there no longer is a top level annobin rpm at all.
6dd473
6dd473
%package docs
6dd473
Summary: Documentation and shell scripts for use with annobin
6dd473
BuildArch: noarch
6dd473
# annobin renamed to annobin-doc in 9.66-1
6dd473
Provides: %{name} = %{version}-%{release}
6dd473
Obsoletes: %{name} < 9.66-1
6dd473
6dd473
%description docs
6dd473
Provides the documentation files and example shell scripts for use with annobin.
6dd473
6dd473
#----------------------------------------------------------------------------
6dd473
%if %{with tests}
6dd473
6dd473
%package tests
6dd473
Summary: Test scripts and binaries for checking the behaviour and output of the annobin plugin
6dd473
Requires: %{name}-docs = %{version}-%{release}
6dd473
6dd473
%description tests
6dd473
Provides a means to test the generation of annotated binaries and the parsing
6dd473
of the resulting files.
6dd473
6dd473
%if %{with debuginfod}
6dd473
BuildRequires: elfutils-debuginfod-client-devel
6dd473
%endif
6dd473
6dd473
%endif
6dd473
6dd473
#----------------------------------------------------------------------------
6dd473
%if %{with annocheck}
6dd473
6dd473
%package annocheck
6dd473
Summary: A tool for checking the security hardening status of binaries
6dd473
6dd473
BuildRequires: %{?scl_prefix}gcc elfutils elfutils-devel elfutils-libelf-devel rpm-devel %{?scl_prefix}binutils-devel
6dd473
%if %{with debuginfod}
6dd473
BuildRequires: elfutils-debuginfod-client-devel make
6dd473
%endif
6dd473
6dd473
Requires: %{name}-docs = %{version}-%{release}
6dd473
6dd473
%description annocheck
6dd473
Installs the annocheck program which uses the notes generated by annobin to
6dd473
check that the specified files were compiled with the correct security
6dd473
hardening options.
6dd473
6dd473
%endif
6dd473
6dd473
#----------------------------------------------------------------------------
6dd473
%if %{with gccplugin}
6dd473
6dd473
%package plugin-gcc
6dd473
Summary: annobin gcc plugin
6dd473
6dd473
Requires: %{name}-docs = %{version}-%{release}
6dd473
Conflicts: annobin <= 9.60-1
6dd473
6dd473
%description plugin-gcc
6dd473
Installs an annobin plugin that can be used by gcc.
6dd473
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
%if %{with llvmplugin}
6dd473
6dd473
%package plugin-llvm
6dd473
Summary: annobin llvm plugin
6dd473
6dd473
Requires: %{name}-docs = %{version}-%{release}
6dd473
Conflicts: annobin <= 9.60-1
6dd473
6dd473
%description plugin-llvm
6dd473
Installs an annobin plugin that can be used by llvm tools.
6dd473
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
%if %{with clangplugin}
6dd473
6dd473
%package plugin-clang
6dd473
Summary: annobin clang plugin
6dd473
6dd473
Requires: %{name}-docs = %{version}-%{release}
6dd473
Conflicts: annobin <= 9.60-1
6dd473
6dd473
%description plugin-clang
6dd473
Installs an annobin plugin that can be used by clang.
6dd473
6dd473
%endif
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%global ANNOBIN_GCC_PLUGIN_DIR %(%gcc_for_annobin --print-file-name=plugin)
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%prep
6dd473
if [ -z "%{gcc_vr}" ]; then
6dd473
    echo "*** Missing gcc_vr spec file macro, cannot continue." >&2
6dd473
    exit 1
6dd473
fi
6dd473
6dd473
echo "Requires: (%{?scl_prefix}gcc >= %{gcc_major} and %{?scl_prefix}gcc < %{gcc_next})"
6dd473
6dd473
# Cannot use autosetup as it untar's the sources into annobin-<version>
6dd473
# but then tries to change directory into <scl-prefix>-annobin-<version>.
6dd473
# %%autosetup -p1
6dd473
%setup -q -n annobin-%{version}
6dd473
%patch01 -p1
6dd473
6dd473
# The plugin has to be configured with the same arcane configure
6dd473
# scripts used by gcc.  Hence we must not allow the Fedora build
6dd473
# system to regenerate any of the configure files.
6dd473
touch aclocal.m4 gcc-plugin/config.h.in
6dd473
touch configure */configure Makefile.in */Makefile.in
6dd473
# Similarly we do not want to rebuild the documentation.
6dd473
touch doc/annobin.info
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%build
6dd473
6dd473
CONFIG_ARGS="--quiet"
6dd473
6dd473
%if %{with debuginfod}
6dd473
CONFIG_ARGS="$CONFIG_ARGS --with-debuginfod"
6dd473
%else
6dd473
# Note - we explicitly disable debuginfod support if it was not configured.
6dd473
# This is because by default annobin's configue script will assume --with-debuginfod=auto
6dd473
# and then run a build time test to see if debugingfod is available.  It
6dd473
# may well be, but the build time environment may not match the run time
6dd473
# environment, and the rpm will not have a Requirement on the debuginfod
6dd473
# client.
6dd473
CONFIG_ARGS="$CONFIG_ARGS --without-debuginfod"
6dd473
%endif
6dd473
6dd473
%if %{with clangplugin}
6dd473
CONFIG_ARGS="$CONFIG_ARGS --with-clang"
6dd473
%endif
6dd473
6dd473
%if %{without gccplugin}
6dd473
CONFIG_ARGS="$CONFIG_ARGS --without-gcc-plugin"
6dd473
%else
6dd473
CONFIG_ARGS="$CONFIG_ARGS --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR}"
6dd473
%endif
6dd473
6dd473
%if %{with llvmplugin}
6dd473
CONFIG_ARGS="$CONFIG_ARGS --with-llvm"
6dd473
%endif
6dd473
6dd473
%if %{without tests}
6dd473
CONFIG_ARGS="$CONFIG_ARGS --without-test"
6dd473
%endif
6dd473
6dd473
%if %{without annocheck}
6dd473
CONFIG_ARGS="$CONFIG_ARGS --without-annocheck"
6dd473
%endif
6dd473
6dd473
# Add hardening options supported by gcc-10 but not in RHEL-7 rpm config macros.
6dd473
# EXTRA_ARGS="-fstack-clash-protection -D_GLIBCXX_ASSERTIONS"
6dd473
# %%ifarch %{ix86} x86_64
6dd473
# EXTRA_ARGS="$EXTRA_ARGS -fcf-protection=full"
6dd473
# %%endif
6dd473
# 
6dd473
# export CFLAGS="$RPM_OPT_FLAGS $EXTRA_ARGS"
6dd473
# export CXXFLAGS="$RPM_OPT_FLAGS $EXTRA_ARGS"
6dd473
6dd473
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -I%{?_scl_root}/usr/include"
6dd473
export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS -I%{?_scl_root}/usr/include"
6dd473
export LDFLAGS="$LD_FLAGS $RPM_LD_FLAGS -L%{?_scl_root}/usr/lib64 -L%{?_scl_root}/usr/lib"
6dd473
6dd473
%ifarch %{ix86} x86_64
6dd473
# FIXME: There should be a better way to do this.
6dd473
export CLANG_TARGET_OPTIONS="-fcf-protection"
6dd473
%endif
6dd473
6dd473
%configure CC=%gcc_for_annobin CXX=%gxx_for_annobin ${CONFIG_ARGS} || cat config.log
6dd473
6dd473
%make_build
6dd473
6dd473
%if %{with plugin_rebuild}
6dd473
# Rebuild the plugin(s), this time using the plugin itself!  This
6dd473
# ensures that the plugin works, and that it contains annotations
6dd473
# of its own.
6dd473
6dd473
%if %{with gccplugin}
6dd473
cp gcc-plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so
6dd473
make -C gcc-plugin clean
6dd473
BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so"
6dd473
6dd473
# Disable the standard annobin plugin so that we do get conflicts.
6dd473
# Note: the "-fplugin=annobin" is here, despite the fact that it will also
6dd473
# be automatically added to the gcc command line via
6dd473
# "-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1" because of a bug in gcc's
6dd473
# plugin command line options handling.  GCC will issue an error saying that
6dd473
# there is no plugin called "annobin" matching the -fplugin-arg-annobin-disable
6dd473
# option, despite the fact that there patently is.
6dd473
BUILD_FLAGS="$BUILD_FLAGS -fplugin=annobin -fplugin-arg-annobin-disable"
6dd473
6dd473
# If building on RHEL7, enable the next option as the .attach_to_group
6dd473
# assembler pseudo op is not available in the assembler.
6dd473
BUILD_FLAGS="$BUILD_FLAGS -fplugin-arg-tmp_annobin-no-attach"
6dd473
6dd473
make -C gcc-plugin CXXFLAGS="%{optflags} $BUILD_FLAGS"
6dd473
rm %{_tmppath}/tmp_annobin.so
6dd473
%endif
6dd473
6dd473
%if %{with clangplugin}
6dd473
cp clang-plugin/annobin-for-clang.so %{_tmppath}/tmp_annobin.so
6dd473
make -C clang-plugin all CXXFLAGS="%{optflags} $BUILD_FLAGS"
6dd473
%endif
6dd473
6dd473
%if %{with llvmplugin}
6dd473
cp llvm-plugin/annobin-for-llvm.so %{_tmppath}/tmp_annobin.so
6dd473
make -C llvm-plugin all CXXFLAGS="%{optflags} $BUILD_FLAGS"
6dd473
%endif
6dd473
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%install
6dd473
# PLUGIN_INSTALL_DIR is used by the Clang and LLVM makefiles...
6dd473
%make_install PLUGIN_INSTALL_DIR=%{buildroot}/%{llvm_plugin_dir}
6dd473
6dd473
%if %{with clangplugin}
6dd473
# Move clang plugin to a seperate directory.
6dd473
mkdir -p %{buildroot}/%{clang_plugin_dir}
6dd473
mv %{buildroot}/%{llvm_plugin_dir}/annobin-for-clang.so %{buildroot}/%{clang_plugin_dir}
6dd473
%endif
6dd473
6dd473
rm -f %{buildroot}%{_infodir}/dir
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%if %{with tests}
6dd473
%check
6dd473
# On RHEL7 the assembler does not support all of the annobin tests.
6dd473
# With scl the tests are run with the wrong version of gcc.  Hence
6dd473
# we allow the tests to fail.
6dd473
make check GCC=%gcc_for_annobin || :
6dd473
if [ -f tests/test-suite.log ]; then
6dd473
    cat tests/test-suite.log
6dd473
fi
6dd473
6dd473
%if %{with clangplugin}
6dd473
# FIXME: RUN CLANG tests
6dd473
%endif
6dd473
6dd473
%if %{with llvmplugin}
6dd473
# FIXME: RUN LLVM tests
6dd473
%endif
6dd473
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%files docs
6dd473
%license COPYING3 LICENSE
6dd473
%exclude %{_datadir}/doc/annobin-plugin/COPYING3
6dd473
%exclude %{_datadir}/doc/annobin-plugin/LICENSE
6dd473
%doc %{_datadir}/doc/annobin-plugin/annotation.proposal.txt
6dd473
%{_infodir}/annobin.info*
6dd473
%{_mandir}/man1/annobin.1*
6dd473
%{_mandir}/man1/built-by.1*
6dd473
%{_mandir}/man1/check-abi.1*
6dd473
%{_mandir}/man1/hardened.1*
6dd473
%{_mandir}/man1/run-on-binaries-in.1*
6dd473
6dd473
%if %{with llvmplugin}
6dd473
%files plugin-llvm
6dd473
%{llvm_plugin_dir}/annobin-for-llvm.so
6dd473
%endif
6dd473
6dd473
%if %{with clangplugin}
6dd473
%files plugin-clang
6dd473
%{clang_plugin_dir}/annobin-for-clang.so
6dd473
%endif
6dd473
6dd473
%if %{with gccplugin}
6dd473
%files plugin-gcc
6dd473
%{ANNOBIN_GCC_PLUGIN_DIR}
6dd473
%endif
6dd473
6dd473
%if %{with annocheck}
6dd473
%files annocheck
6dd473
%{_bindir}/annocheck
6dd473
%{_mandir}/man1/annocheck.1*
6dd473
%endif
6dd473
6dd473
#---------------------------------------------------------------------------------
6dd473
6dd473
%changelog
6dd473
* Tue Jul 20 2021 Nick Clifton  <nickc@redhat.com> - 9.82-1
6dd473
- Annocheck: Add another test exceptions.
6dd473
- Annocheck: Add some more test exceptions.
6dd473
- Tests: Skip glibc-notes test if the assembler does not support --generate-missing-build-notes.  (#1978573)
6dd473
- Tests: Skip objcopy test if objcopy does not support --merge-notes.
6dd473
6dd473
* Wed Jun 30 2021 Nick Clifton  <nickc@redhat.com> - 9.79-1
6dd473
- Annocheck: Fix spelling mistake in -mstack-realign failure message.  (#1977349)
6dd473
- gcc-plugin: Do not record global versions of stack protection settings in LTO mode, if not set.  (#1958954)
6dd473
- Annocheck: Remove limit on number of input files.
6dd473
6dd473
* Mon Jun 21 2021 Nick Clifton  <nickc@redhat.com> - 9.77-1
6dd473
- annocheck: Conditionalize test of DF_PIE_1 flag.
6dd473
- clang/llvm plugins: Build with correct security options.
6dd473
- Annocheck: Better detection of GO compiler version.
6dd473
- Annocheck: Better support for symbolic links.
6dd473
- Annocheck: In verbose mode, report the reason for skipping specific tests.  (#1969584)
6dd473
- annocheck: Improve detection of shared libraries.  (#1958954)
6dd473
6dd473
* Mon May 17 2021 Nick Clifton  <nickc@redhat.com> - 9.72-1
6dd473
- Rebase to 9.72:  (#1954564)
6dd473
- annocheck: Accept 0 as a valid number for gcc minor versions and release numbers.
6dd473
- gcc-plugin: Add support for ARM and RISCV targets.
6dd473
- timing: do not initialise the clock if the timing tool is disabled.
6dd473
- gcc-plugin: Replace ICE messsages with verbose messages.
6dd473
- Fix the testsuite so that it can be run in parallel.
6dd473
- Annocheck: WARN if the annobin plugin was built for a newer version of the compiler than the one on which it was run.  (#1950657)
6dd473
- Obsolete annobin < 9.66-1 (bug #1949570)
6dd473
- Annocheck: Improve detection of missing GNU-stack support.
6dd473
- Correct a package rename (bug #1949570)
6dd473
- Require docs subpackage by the other ones because of a license
6dd473
- Build-requiring perl-interpreter is enough
6dd473
- Fix bz1949570
6dd473
- Fix anomolies reported by covscan.
6dd473
- Move documentation into a sub-package.
6dd473
- gcc-plugin: Use a fixed filename when running in LTO mode.
6dd473
- Annocheck: Fix detection of special function names.  (#1934189)
6dd473
- Annocheck: FAIL the deliberate use of -fno-stack-protector, but add some exceptions for glibc.  (#1923439)
6dd473
- Annocheck: Add colour to some messages.  Skip the deliberate use of -fno-stack-protector.  (#1923439)
6dd473
- Annocheck: Fix some problems with tests for missing notes.
6dd473
- Split plugins into separate sub-packages
6dd473
- Add some GO tests to annocheck.
6dd473
- Add a future fail for the presence of RPATH in the dynamic tags.
6dd473
- Add the ability to disable the warning message about -D_FORTIFY_SOURCE being missing.
6dd473
- Workaround for elflint problems with PPC compiled files.  (#1880634)
6dd473
- Fix bogus AArch64 test failures.
6dd473
- Improved testing by annocheck.  Add fixed format message mode.
6dd473
- Fix inconsistency reporting -fcf-protection and -fstack-clash-protection results.
6dd473
- Add support for -D_FORTIFY_SOURCE=3.
6dd473
- annocheck: When a binary is produced both by GAS and GCC, select GAS as the real producer.  (#1906171)
6dd473
- annocheck: Improve test for LTO compiled binaries that do not have -Wall annotations.  (#1906171)
6dd473
- annocheck: Mark a missining -D_FORTIFY_SOURCE as a FAIL.
6dd473
- annocheck: Fix notes analyzer to accept empty PPC64 notes.
6dd473
- gcc plugin: Tweak generation of end symbols for PPC64 when LTO is active.  (#1898075)
6dd473
- gcc plugin: Add support for GCC 11's cl_vars array.
6dd473
- Annocheck: Support enabling/disabling future fails.
6dd473
- GCC plugin: Always record global notes for the .text.startup,
6dd473
  .text.exit, .text.hot and .text.cold sections.
6dd473
- Clang plugin: Add -lLLVM to the build command line.
6dd473
- Annocheck: Improve reporting of missing -D_FORTIFY_SOURCE option.  (#1898075)
6dd473
- Annocheck: Improve reporting of missing LTO option.
6dd473
- Add detecting of gimple compiled binaries.
6dd473
- Add --without-gcc-plugin option.
6dd473
- Annocheck: Fix bug parsing DW_AT_producer.
6dd473
- Add test of .note.gnu.property section for PowerPC.
6dd473
- Add test of objcopy's ability to merge notes.
6dd473
- Record the -flto setting and produce a soft warning if it is absent.
6dd473
- Suppress warnings about _D_GLIBCXX_ASSERTIONS if the source code is known to be something other than C++.
6dd473
- Correct the directory chosen for 32-bit LLVM and Clang plugins.  (#1884951)
6dd473
- Allow the use of the SHF_LINK_ORDER section flag to discard unused notes.  (Experimental).
6dd473
- Enable the build and installation of the LLVM and Clang plugins.  (Experimental).
6dd473
- gcc-plugin: Fix test for empty PowerPC sections.  (#1880634)
6dd473
- annocheck: Add tests for the AArch64 BTI and PAC security features.  (#1862478)
6dd473
- gcc plugin: Use a 4 byte offset for PowerPC start symbols, so that they do not break disassemblies.
6dd473
- gcc plugin: Correct the detection of 32-bit x86 builds.  (#1876197)
6dd473
- gcc plugin: Detect any attempt to access the global_options array.
6dd473
- gcc plugin: Do not complain about missing pre-processor options when examining a preprocessed input file.  (#1862718)
6dd473
- Use more robust checks for AArch64 options.
6dd473
- Detect CLANG compiled assembler that is missing IBT support.
6dd473
- Improved target pointer size discovery.
6dd473
- Add support for installing clang and llvm plugins.
6dd473
- Temporary suppression of aarch64 pointer size check.  (#1860549)
6dd473
6dd473
* Mon Aug 10 2020 Nick Clifton <nickc@redhat.com> - 9.23-3
6dd473
- Improve results when running annobin rpms through annocheck.  (#1866825)
6dd473
6dd473
* Thu Aug 06 2020 Martin Cermak <mcermak@redhat.com> - 9.23-2
6dd473
- Fix rhbz1866774
6dd473
6dd473
* Mon Jul 13 2020 Nick Clifton <nickc@redhat.com> - 9.23-1
6dd473
- INITIAL CREATION OF DTS-10 ANNOBIN. (#1852725)
6dd473
- Annocheck: Do not skip tests of the short-enums notes.  (#1743635)
6dd473
- Add (optional) llvm plugin.
6dd473
  9.21-3
6dd473
- Fix the computations of ANNOBIN_GCC_PLUGIN_DIR and ANNOBIN_CLANG_PLUGIN_DIR.
6dd473
  9.21-1
6dd473
- Fix stack clash protection problem. (#1803173)
6dd473
  9.21-1
6dd473
- Annobin: Fall back on using the flags if the option cannot be found in cl_options.  (#1817659)
6dd473
  9.20-1
6dd473
- Annocheck: Detect Fortran compiled programs.  (#1824393)
6dd473
  9.19-1
6dd473
- Annobin: If option name mismatch occurs, seach for the real option.  (#1817452)
6dd473
  9.18-1
6dd473
- Annocheck: Fix a division by zero error when parsing GO binaries.  (#1818863)
6dd473
  9.16-1
6dd473
- Annobin: Fix access to the -flto and -fsanitize flags.
6dd473
  9.14-1
6dd473
- Annobin: 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.
6dd473
  9.13-1
6dd473
- Rename gcc plugin directory to gcc-plugin.
6dd473
- Stop annocheck from complaining about missing options when the binary has been built in a mixed environment.
6dd473
  9.12-1
6dd473
- Improve builtby tool.
6dd473
- Stop annocheck complaining about missing notes when the binary is not compiled by either gcc or clang.
6dd473
- Skip the check of the ENTRY instruction for binaries not compiled by gcc or clang.  (#1809656)
6dd473
  9.11-1
6dd473
- Fix infinite loop hangup in annocheck.
6dd473
- Disable debuginfod support by default.
6dd473
- Improve parsing of .comment section.
6dd473
  9.10-1
6dd473
- Fix clang plugin to use hidden symbols.
6dd473
  9.09-1
6dd473
- Add ability to build clang plugin (disabled by default).
6dd473
  9.08-1
6dd473
- Annocheck: Fix error printing out the version number.
6dd473
  9.07-1
6dd473
- Annobin: Add checks of the exact location of the examined switches.
6dd473
  9.06-1
6dd473
- Annobin: Note when stack clash notes are generated.
6dd473
- Annocheck: Handle multiple builder IDs in the .comment section.
6dd473
  9.05-1
6dd473
- Add configure option to suppress building annocheck.
6dd473
  9.04-1
6dd473
- Fix debuginfod test.
6dd473
  9.03-2
6dd473
- Correct the build requirement for building with debuginfod support.
6dd473
  9.03-1
6dd473
- Add debuginfod support.
6dd473
  9.01-1
6dd473
- Add clang plugin (experimental).
6dd473
  8.92-1
6dd473
- Have annocheck ignore notes with an end address of 0.
6dd473
  8.91-1
6dd473
- Improve checking of gcc versions.
6dd473
  8.90-1
6dd473
- Do not skip positive results.
6dd473
  8.88-1
6dd473
- Generate a WARN result for code compiled with instrumentation enabled.  (#1753918)
6dd473
  8.87-1
6dd473
- Replace address checks with dladdr1.
6dd473
  8.86-1
6dd473
- Use libabigail like checking to ensure variable address consistency.
6dd473
  8.85-1
6dd473
- Skip generation of global notes for hot/cold sections.
6dd473
  8.84-1
6dd473
- Generate FAIL results if -Wall or -Wformat-security are missing.
6dd473
  8.83-1
6dd473
- If notes cannot be found in the executable look for them in the debuginfo file, if available.
6dd473
- Generate a FAIL if notes are missing from the executable/debuginfo file.
6dd473
- Record and report the setting of the AArcht64 specific -mbranch-protection option.
6dd473
  8.81-1
6dd473
- Improve detection of GO binaries.
6dd473
- Add gcc version information to annobin notes.
6dd473
- Do not complain about missing FORTIFY_SOURCE and GLIBCXX_ASSERTIONS in LTO compilations.
6dd473
6dd473
* Wed Aug 21 2019 Nick Clifton <nickc@redhat.com> - 8.79-2
6dd473
- INITIAL CREATION OF DTS-9 ANNOBIN.
6dd473
6dd473
* Thu Aug 08 2019 Nick Clifton <nickc@redhat.com> - 8.79-2
6dd473
- Import the missing tests/ sub-directory.
6dd473
6dd473
* Thu Aug 08 2019 Nick Clifton <nickc@redhat.com> - 8.79-1
6dd473
- Allow the compiler used to run tests to be specified on the command line.
6dd473
6dd473
* Tue Aug 06 2019 Nick Clifton <nickc@redhat.com> - 8.78-1
6dd473
- Fix a memory allocation error in the annobin plugin.  (#1737306)
6dd473
6dd473
* Tue Jul 23 2019 Nick Clifton <nickc@redhat.com> - 8.77-4
6dd473
- Change the requirement of gcc-toolset-9 to gcc-toolset-9-gcc.  (#1732767)
6dd473
6dd473
* Tue Jul 23 2019 Nick Clifton <nickc@redhat.com> - 8.77-2
6dd473
- Version bump to allow rebuilding with scl_prefix.
6dd473
6dd473
* Tue Jul 23 2019 Nick Clifton <nickc@redhat.com> - 8.77-1
6dd473
- gcc-toolset-9: INITIAL IMPORT OF ANNOBIN FROM RAWHIDE.  (#1730483)
6dd473
6dd473
* Mon Jun 24 2019 Nick Clifton <nickc@redhat.com> - 8.77-1
6dd473
- Another attempt at fixing the detection and reporting of missing -D_FORTIFY_SOURCE options.  (#1703500)
6dd473
6dd473
* Mon Jun 10 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 8.76-4
6dd473
- Rebuild for RPM 4.15
6dd473
6dd473
* Mon Jun 10 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 8.76-3
6dd473
- Rebuild for RPM 4.15
6dd473
6dd473
* Thu Jun 06 2019 Panu Matilainen <pmatilai@redhat.com> - 8.76-2
6dd473
- Really enable annocheck sub-package
6dd473
6dd473
* Tue Apr 30 2019 Nick Clifton <nickc@redhat.com> - 8.76-1
6dd473
- Report a missing -D_FORTIFY_SOUCRE option if -D_GLIBCXX_ASSERTIONS was detected.  (#1703499)
6dd473
- Do not report problems with -fstack-protection if the binary was not built by gcc or clang.  (#1703788)    
6dd473
6dd473
* Fri Apr 26 2019 Nick Clifton <nickc@redhat.com> - 8.74-1
6dd473
- Add tests of clang command line options recorded in the DW_AT_producer attribute.
6dd473
6dd473
* Wed Apr 24 2019 Nick Clifton <nickc@redhat.com> - 8.73-1
6dd473
- Fix test for an executable stack segment.  (#1700924)
6dd473
6dd473
* Thu Apr 18 2019 Nick Clifton <nickc@redhat.com> - 8.72-1
6dd473
- Rebuild annobin with the latest rawhide gcc sources.  (#1700923)
6dd473
6dd473
* Thu Feb 28 2019 Nick Clifton <nickc@redhat.com> - 8.71-1
6dd473
- Annobin: Suppress more calls to free() which are triggering memory checker errors.  (#1684148)
6dd473
6dd473
* Fri Feb 01 2019 Nick Clifton <nickc@redhat.com> - 8.70-1
6dd473
- Add section flag matching ability to section size tool.
6dd473
6dd473
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.69-7
6dd473
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
6dd473
6dd473
* Tue Jan 29 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-6
6dd473
- Use 'with' for rich dependency on gcc
6dd473
6dd473
* Tue Jan 29 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-5
6dd473
- Really fix rhbz#1607430.
6dd473
6dd473
* Mon Jan 28 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-4
6dd473
- Rebuilt with annotations enabled
6dd473
6dd473
* Mon Jan 28 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-3
6dd473
- Fix rpm query for gcc version.
6dd473
6dd473
* Mon Jan 28 2019 Nick Clifton <nickc@redhat.com> - 8.69-2
6dd473
- Add an exact requirement on the major version of gcc. (#1607430)
6dd473
6dd473
* Thu Jan 24 2019 Nick Clifton <nickc@redhat.com> - 8.69-1
6dd473
- Annobin: Add support for .text.startup and .text.exit sections generated by gcc 9.
6dd473
- Annocheck: Add a note displaying tool.
6dd473
6dd473
* Wed Jan 23 2019 Nick Clifton <nickc@redhat.com> - 8.68-1
6dd473
- Annocheck: Skip checks for -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS if there is no compiler generated code in the binary.
6dd473
6dd473
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 8.67-3
6dd473
- Rebuilt with annotations enabled
6dd473
6dd473
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 8.67-2
6dd473
- Rebuilt for GCC 9
6dd473
6dd473
* Thu Jan 17 2019 Nick Clifton <nickc@redhat.com> - 8.67-1
6dd473
- Annocheck: Only skip specific checks for specific symbols.  (#1666823)
6dd473
- Annobin: Record the setting of the -fomit-frame-pointer option.
6dd473
6dd473
* Wed Jan 02 2019 Nick Clifton <nickc@redhat.com> - 8.66-1
6dd473
- Annocheck: Do not ignore -Og when checking to see if an optimization level has been set.  (#1624162)
6dd473
6dd473
* Tue Dec 11 2018 Nick Clifton <nickc@redhat.com> - 8.65-1
6dd473
- Annobin: Fix handling of multiple .text.unlikely sections.
6dd473
6dd473
* Fri Nov 30 2018 Nick Clifton <nickc@redhat.com> - 8.64-1
6dd473
- Annocheck: Skip gaps in PPC64 executables covered by start_bcax_ symbols.  (#1630564)
6dd473
6dd473
* Mon Nov 26 2018 Nick Clifton <nickc@redhat.com> - 8.63-1
6dd473
- Annocheck: Disable ENDBR test for shared libraries.  (#1652925)
6dd473
6dd473
* Mon Nov 26 2018 Nick Clifton <nickc@redhat.com> - 8.62-1
6dd473
- Annocheck: Add test for ENDBR instruction at entry address of x86/x86_64 executables.  (#1652925)
6dd473
6dd473
* Tue Nov 20 2018 David Cantrell <dcantrell@redhat.com> - 8.61-2
6dd473
- Adjust how the gcc_vr macro is set.
6dd473
6dd473
* Mon Nov 19 2018 Nick Clifton <nickc@redhat.com> - 8.61-1
6dd473
- Fix building with gcc version 4.
6dd473
6dd473
* Tue Nov 13 2018 Nick Clifton <nickc@redhat.com> - 8.60-1
6dd473
- Skip -Wl,-z,now and -Wl,-z,relro checks for non-gcc produced binaries.  (#1624421)
6dd473
6dd473
* Mon Nov 05 2018 Nick Clifton <nickc@redhat.com> - 8.59-1
6dd473
- Ensure GNU Property notes are 8-byte aligned in x86_64 binaries.  (#1645817)
6dd473
6dd473
* Thu Oct 18 2018 Nick Clifton <nickc@redhat.com> - 8.58-1
6dd473
- Skip PPC64 linker stubs created in the middle of text sections (again). (#1630640)
6dd473
6dd473
* Thu Oct 18 2018 Nick Clifton <nickc@redhat.com> - 8.57-1
6dd473
- Suppress free of invalid pointer. (#1638371)
6dd473
6dd473
* Thu Oct 18 2018 Nick Clifton <nickc@redhat.com> - 8.56-1
6dd473
- Skip PPC64 linker stubs created in the middle of text sections. (#1630640)
6dd473
6dd473
* Tue Oct 16 2018 Nick Clifton <nickc@redhat.com> - 8.55-1
6dd473
- Reset the (PPC64) section start symbol to 0 if its section is empty.  (#1638251)
6dd473
6dd473
* Thu Oct 11 2018 Nick Clifton <nickc@redhat.com> - 8.53-1
6dd473
- Also skip virtual thinks created by G++.  (#1630619)
6dd473
6dd473
* Wed Oct 10 2018 Nick Clifton <nickc@redhat.com> - 8.52-1
6dd473
- Use uppercase for all fail/mayb/pass results.  (#1637706)
6dd473
6dd473
* Wed Oct 10 2018 Nick Clifton <nickc@redhat.com> - 8.51-1
6dd473
- Generate notes for unlikely sections.  (#1630620)
6dd473
6dd473
* Mon Oct 08 2018 Nick Clifton <nickc@redhat.com> - 8.50-1
6dd473
- Fix edge case computing section names for end symbols.  (#1637039)
6dd473
6dd473
* Mon Oct 08 2018 Nick Clifton <nickc@redhat.com> - 8.49-1
6dd473
- Skip dynamic checks for binaries without a dynamic segment.  (#1636606)
6dd473
6dd473
* Fri Oct 05 2018 Nick Clifton <nickc@redhat.com> - 8.48-1
6dd473
- Delay generating attach_to_group directives until the end of the compilation.  (#1636265)
6dd473
6dd473
* Mon Oct 01 2018 Nick Clifton <nickc@redhat.com> - 8.47-1
6dd473
- Fix bug introduced in previous delta which would trigger a seg-fault when scanning for gaps.
6dd473
6dd473
* Mon Oct 01 2018 Nick Clifton <nickc@redhat.com> - 8.46-1
6dd473
- Annobin:   Fix section name selection for startup sections.
6dd473
- Annocheck: Improve gap skipping heuristics.   (#1630574)
6dd473
6dd473
* Mon Oct 01 2018 Nick Clifton <nickc@redhat.com> - 8.45-1
6dd473
- Fix function section support (again).   (#1630574)
6dd473
6dd473
* Fri Sep 28 2018 Nick Clifton <nickc@redhat.com> - 8.44-1
6dd473
- Skip compiler option checks for non-GNU producers.  (#1633749)
6dd473
6dd473
* Wed Sep 26 2018 Nick Clifton <nickc@redhat.com> - 8.43-1
6dd473
- Fix function section support (again).   (#1630574)
6dd473
6dd473
* Tue Sep 25 2018 Nick Clifton <nickc@redhat.com> - 8.42-1
6dd473
- Ignore ppc64le notes where start = end + 2.  (#1632259)
6dd473
6dd473
* Tue Sep 25 2018 Nick Clifton <nickc@redhat.com> - 8.41-1
6dd473
- Make annocheck ignore symbols suffixed with ".end".  (#1639618)
6dd473
6dd473
* Mon Sep 24 2018 Nick Clifton <nickc@redhat.com> - 8.40-1
6dd473
- Reinstate building annobin with annobin enabled.  (#1630550)
6dd473
6dd473
* Fri Sep 21 2018 Nick Clifton <nickc@redhat.com> - 8.39-1
6dd473
- Tweak tests.
6dd473
6dd473
* Fri Sep 21 2018 Nick Clifton <nickc@redhat.com> - 8.38-1
6dd473
- Generate notes and groups for .text.hot and .text.unlikely sections.
6dd473
- When -ffunction-sections is active, put notes for startup sections into .text.startup.foo rather than .text.foo.
6dd473
- Similarly put exit section notes into .text.exit.foo.  (#1630574)
6dd473
- 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.
6dd473
6dd473
* Wed Sep 19 2018 Nick Clifton <nickc@redhat.com> - 8.37-1
6dd473
- Make the --skip-* options skip all messages about the specified test.
6dd473
6dd473
* Tue Sep 18 2018 Nick Clifton <nickc@redhat.com> - 8.36-1
6dd473
- Improve error message when an ET_EXEC binary is detected.
6dd473
6dd473
* Mon Sep 17 2018 Nick Clifton <nickc@redhat.com> - 8.35-1
6dd473
- Skip failures for PIC vs PIE.  (#1629698)
6dd473
6dd473
* Mon Sep 17 2018 Nick Clifton <nickc@redhat.com> - 8.34-1
6dd473
- Ensure 4 byte alignment of note sub-sections.  (#1629671)
6dd473
6dd473
* Wed Sep 12 2018 Nick Clifton <nickc@redhat.com> - 8.33-1
6dd473
- Add timing tool to report on speed of the checks.
6dd473
- Add check for conflicting use of the -fshort-enum option.
6dd473
- Add check of the GNU Property notes.
6dd473
- Skip check for -O2 if compiled with -Og.  (#1624162)
6dd473
6dd473
* Mon Sep 03 2018 Nick Clifton <nickc@redhat.com> - 8.32-1
6dd473
- Add test for ET_EXEC binaries.  (#1625627)
6dd473
- Document --report-unknown option.
6dd473
6dd473
* Thu Aug 30 2018 Nick Clifton <nickc@redhat.com> - 8.31-1
6dd473
- Fix bug in hardened tool which would skip gcc compiled files if the notes were too small.
6dd473
- Fix bugs in section-size tool.
6dd473
- Fix bug in built-by tool.
6dd473
6dd473
* Wed Aug 29 2018 Nick Clifton <nickc@redhat.com> - 8.30-1
6dd473
- Generate notes for comdat sections. (#1619267)
6dd473
6dd473
* Thu Aug 23 2018 Nick Clifton <nickc@redhat.com> - 8.29-1
6dd473
- Add more names to the gap skip list. (#1619267)
6dd473
6dd473
* Thu Aug 23 2018 Nick Clifton <nickc@redhat.com> - 8.28-1
6dd473
- Skip gaps covered by _x86.get_pc_thunk and _savegpr symbols. (#1619267)
6dd473
- Merge ranges where one is wholly covered by another.
6dd473
6dd473
* Wed Aug 22 2018 Nick Clifton <nickc@redhat.com> - 8.27-1
6dd473
- Skip gaps at the end of functions. (#1619267)
6dd473
6dd473
* Tue Aug 21 2018 Nick Clifton <nickc@redhat.com> - 8.26-1
6dd473
- Fix thinko in ppc64 gap detection code. (#1619267)
6dd473
6dd473
* Mon Aug 20 2018 Nick Clifton <nickc@redhat.com> - 8.25-1
6dd473
- Skip gaps at the end of the .text section in ppc64 binaries. (#1619267)
6dd473
6dd473
* Wed Aug 15 2018 Nick Clifton <nickc@redhat.com> - 8.24-1
6dd473
- Skip checks in stack_chk_local_fail.c
6dd473
- Treat gaps as FAIL results rather than MAYBE.
6dd473
6dd473
* Wed Aug 08 2018 Nick Clifton <nickc@redhat.com> - 8.23-1
6dd473
- Skip checks in __stack_chk_local_fail.
6dd473
6dd473
* Wed Aug 08 2018 Nick Clifton <nickc@redhat.com> - 8.22-1
6dd473
- Reduce version check to gcc major version number only.  Skip compiler option checks if binary not built with gcc.  (#1603089)
6dd473
6dd473
* Tue Aug 07 2018 Nick Clifton <nickc@redhat.com> - 8.21-1
6dd473
- Fix bug in annobin plugin.  Add --section-size=NAME option to annocheck.
6dd473
6dd473
* Thu Aug  2 2018 Peter Robinson <pbrobinson@fedoraproject.org> 8.20-2
6dd473
- rebuild for new gcc
6dd473
6dd473
* Thu Aug 02 2018 Nick Clifton <nickc@redhat.com> - 8.20-1
6dd473
- Correct name of man page for run-on-binaries-in script.  (#1611155)
6dd473
6dd473
* Wed Jul 25 2018 Nick Clifton <nickc@redhat.com> - 8.19-1
6dd473
- Allow $ORIGIN to be at the start of entries in DT_RPATH and DT_RUNPATH.
6dd473
6dd473
* Mon Jul 23 2018 Nick Clifton <nickc@redhat.com> - 8.18-1
6dd473
- Add support for big endian targets.
6dd473
6dd473
* Mon Jul 23 2018 Nick Clifton <nickc@redhat.com> - 8.17-1
6dd473
- Count passes and failures on a per-component basis and report gaps.
6dd473
6dd473
* Fri Jul 20 2018 Nick Clifton <nickc@redhat.com> - 8.16-1
6dd473
- Use our own copy of the targetm.asm_out.function_section() function.  (#159861 comment#17)
6dd473
6dd473
* Fri Jul 20 2018 Nick Clifton <nickc@redhat.com> - 8.15-1
6dd473
- Generate grouped note section name all the time.  (#159861 comment#16)
6dd473
6dd473
* Thu Jul 19 2018 Nick Clifton <nickc@redhat.com> - 8.14-1
6dd473
- Fix section conflict problem.  (#1603071)
6dd473
6dd473
* Wed Jul 18 2018 Nick Clifton <nickc@redhat.com> - 8.13-1
6dd473
- Fix for building with gcc version 4.
6dd473
- Fix symbol placement in functions with local assembler.
6dd473
6dd473
* Tue Jul 17 2018 Nick Clifton <nickc@redhat.com> - 8.12-1
6dd473
- Fix assertions in range checking code.  Add detection of -U options.
6dd473
6dd473
* Tue Jul 17 2018 Nick Clifton <nickc@redhat.com> - 8.11-1
6dd473
- Handle function sections properly.  Handle .text.startup and .text.unlikely sections.  Improve gap detection and reporting.  (#1601055)
6dd473
6dd473
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-2
6dd473
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
6dd473
6dd473
* Thu Jul 12 2018 Nick Clifton <nickc@redhat.com> - 8.10-1
6dd473
- Fix construction of absolute versions of --dwarf-dir and --debug-rpm options.
6dd473
6dd473
* Tue Jul 10 2018 Nick Clifton <nickc@redhat.com> - 8.9-1
6dd473
- Fix buffer overrun when very long symbol names are encountered.
6dd473
6dd473
* Tue Jul 10 2018 Nick Clifton <nickc@redhat.com> - 8.8-1
6dd473
- Do not force the generation of function notes when -ffunction-sections is active.  (#1598961)
6dd473
6dd473
* Mon Jul 09 2018 Nick Clifton <nickc@redhat.com> - 8.7-1
6dd473
- Skip the .annobin_ prfix when reporting symbols.  (#1599315)
6dd473
6dd473
* Mon Jul 09 2018 Nick Clifton <nickc@redhat.com> - 8.6-1
6dd473
- Use the assembler (c++ mangled) version of function names when switching sections.  (#1598579)
6dd473
6dd473
* Mon Jul 09 2018 Nick Clifton <nickc@redhat.com> - 8.5-1
6dd473
- Do not call function_section.  (#1598961)
6dd473
6dd473
* Fri Jul 06 2018 Nick Clifton <nickc@redhat.com> - 8.4-1
6dd473
- Ignore cross-section gaps.  (#1598551)
6dd473
6dd473
* Thu Jul 05 2018 Nick Clifton <nickc@redhat.com> - 8.3-1
6dd473
- Do not skip empty range notes in object files.  (#1598361)
6dd473
6dd473
* Mon Jul 02 2018 Nick Clifton <nickc@redhat.com> - 8.2-1
6dd473
- Create the start symbol at the start of the function and the end symbol at the end.  (#1596823)
6dd473
6dd473
* Mon Jul 02 2018 Nick Clifton <nickc@redhat.com> - 8.1-1
6dd473
- Fix --debug-rpm when used inside a directory.
6dd473
6dd473
* Thu Jun 28 2018 Nick Clifton <nickc@redhat.com> - 8.0-1
6dd473
- Use a prefix for all annobin generated symbols, and make them hidden.
6dd473
- Only generate weak symbol definitions for linkonce sections.
6dd473
6dd473
* Wed Jun 27 2018 Nick Clifton <nickc@redhat.com> - 7.1-1
6dd473
- Skip some checks for relocatable object files, and dynamic objects.
6dd473
- Stop bogus complaints about stackrealignment not being enabled.
6dd473
6dd473
* Mon Jun 25 2018 Nick Clifton <nickc@redhat.com> - 7.0-1
6dd473
- Add -debug-rpm= option to annocheck.
6dd473
- Only use a 2 byte offset for the initial symbol on PowerPC.
6dd473
6dd473
* Fri Jun 22 2018 Nick Clifton <nickc@redhat.com> - 6.6-1
6dd473
- Use --dwarf-path when looking for build-id based debuginfo files.
6dd473
6dd473
* Fri Jun 22 2018 Nick Clifton <nickc@redhat.com> - 6.5-1
6dd473
- Fix premature closing of dwarf handle.
6dd473
6dd473
* Fri Jun 22 2018 Nick Clifton <nickc@redhat.com> - 6.4-1
6dd473
- Fix scoping bug computing the name of a separate debuginfo file.
6dd473
6dd473
* Tue Jun 19 2018 Nick Clifton <nickc@redhat.com> - 6.3-1
6dd473
- Fix file descriptor leak.
6dd473
6dd473
* Tue Jun 19 2018 Nick Clifton <nickc@redhat.com> - 6.2-1
6dd473
- Add command line options to annocheck to disable individual tests.
6dd473
6dd473
* Fri Jun 08 2018 Nick Clifton <nickc@redhat.com> - 6.1-1
6dd473
- Remove C99-ism from annocheck sources.
6dd473
6dd473
* Wed Jun 06 2018 Nick Clifton <nickc@redhat.com> - 6.0-1
6dd473
- Add the annocheck program.
6dd473
6dd473
* Fri Jun 01 2018 Nick Clifton <nickc@redhat.com> - 5.11-1
6dd473
- Do not use the SHF_GNU_BUILD_NOTE section flag.
6dd473
6dd473
* Thu May 31 2018 Nick Clifton <nickc@redhat.com> - 5.10-1
6dd473
- Remove .sh extension from shell scripts.
6dd473
6dd473
* Wed May 30 2018 Nick Clifton <nickc@redhat.com> - 5.9-1
6dd473
- Record the setting of the -mstackrealign option for i686 binaries.
6dd473
6dd473
* Mon May 14 2018 Nick Clifton <nickc@redhat.com> - 5.8-1
6dd473
- Hide the annobin start of file symbol.
6dd473
6dd473
* Tue May 08 2018 Nick Clifton <nickc@redhat.com> - 5.7-1
6dd473
- Fix script bug in hardended.sh.  (Thanks to: Stefan Sørensen <stefan.sorensen@spectralink.com>)
6dd473
6dd473
* Thu May 03 2018 Nick Clifton <nickc@redhat.com> - 5.6-3
6dd473
- Version number bump so that the plugin can be rebuilt with the latest version of GCC.
6dd473
6dd473
* Mon Apr 30 2018 Nick Clifton <nickc@redhat.com> - 5.6-2
6dd473
- Rebuild the plugin with the newly created plugin enabled.  (#1573082)
6dd473
6dd473
* Mon Apr 30 2018 Nick Clifton <nickc@redhat.com> - 5.6-1
6dd473
- Skip the isa_flags check in the ABI test because the crt[in].o files are compiled with different flags from the test files.
6dd473
6dd473
* Fri Apr 20 2018 Nick Clifton <nickc@redhat.com> - 5.3-1
6dd473
- Add manual pages for annobin and the scripts.
6dd473
6dd473
* Tue Apr 03 2018 Nick Clifton <nickc@redhat.com> - 5.2-1
6dd473
- Do not record a stack protection setting of -1.  (#1563141)
6dd473
6dd473
* Tue Mar 20 2018 Nick Clifton <nickc@redhat.com> - 5.1-1
6dd473
- Do not complain about a dwarf_version value of -1.  (#1557511)
6dd473
6dd473
* Thu Mar 15 2018 Nick Clifton <nickc@redhat.com> - 5.0-1
6dd473
- Bias file start symbols by 2 in order to avoid them confused with function symbols.  (#1554332)
6dd473
- Version jump is to sync the version number with the annobin plugins internal version number.
6dd473
6dd473
* Mon Mar 12 2018 Nick Clifton <nickc@redhat.com> - 3.6-1
6dd473
- Add --ignore-gaps option to check-abi.sh script.
6dd473
- Use this option in the abi-test check.
6dd473
- Tweak hardening test to skip pic and stack protection checks.
6dd473
6dd473
* Tue Mar 06 2018 Nick Clifton <nickc@redhat.com> - 3.5-1
6dd473
- Handle functions with specific assembler names.  (#1552018)
6dd473
6dd473
* Fri Feb 23 2018 Nick Clifton <nickc@redhat.com> - 3.4-2
6dd473
- Add an explicit requirement on the version of gcc used to built the plugin.  (#1547260)
6dd473
6dd473
* Fri Feb 09 2018 Nick Clifton <nickc@redhat.com> - 3.4-1
6dd473
- Change type and size of symbols to STT_NOTYPE/0 so that they do not confuse GDB.  (#1539664)
6dd473
- Add run-on-binaries-in.sh script to allow the other scripts to be run over a repository.
6dd473
6dd473
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-2
6dd473
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6dd473
6dd473
* Tue Jan 30 2018 Nick Clifton <nickc@redhat.com> - 3.3-1
6dd473
- Rebase on 3.3 release, which adds support for recording -mcet and -fcf-protection.
6dd473
6dd473
* Mon Jan 29 2018 Florian Weimer <fweimer@redhat.com> - 3.2-3
6dd473
- Rebuild for GCC 8
6dd473
6dd473
* Fri Jan 26 2018 Nick Clifton <nickc@redhat.com> - 3.2-2
6dd473
- Fix the installation of the annobin.info file.
6dd473
6dd473
* Fri Jan 26 2018 Nick Clifton <nickc@redhat.com> - 3.2-1
6dd473
- Rebase on 3.2 release, which now contains documentation!
6dd473
6dd473
* Fri Jan 26 2018 Richard W.M. Jones <rjones@redhat.com> - 3.1-3
6dd473
- Rebuild against GCC 7.3.1.
6dd473
6dd473
* Tue Jan 16 2018 Nick Clifton <nickc@redhat.com> - 3.1-2
6dd473
- Add --with-gcc-plugin-dir option to the configure command line.
6dd473
6dd473
* Thu Jan 04 2018 Nick Clifton <nickc@redhat.com> - 3.1-1
6dd473
- Rebase on version 3.1 sources.
6dd473
6dd473
* Mon Dec 11 2017 Nick Clifton <nickc@redhat.com> - 2.5.1-5
6dd473
- Do not generate notes when there is no output file.  (#1523875)
6dd473
6dd473
* Fri Dec 08 2017 Nick Clifton <nickc@redhat.com> - 2.5.1-4
6dd473
- Invent an input filename when reading from a pipe.  (#1523401)
6dd473
6dd473
* Thu Nov 30 2017 Florian Weimer <fweimer@redhat.com> - 2.5.1-3
6dd473
- Use DECL_ASSEMBLER_NAME for symbol references (#1519165)
6dd473
6dd473
* Tue Oct 03 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.5.1-2
6dd473
- Cleanups in spec
6dd473
6dd473
* Tue Sep 26 2017 Nick Clifton <nickc@redhat.com> - 2.5.1-1
6dd473
- Touch the auto-generated files in order to stop them from being regenerated.
6dd473
6dd473
* Tue Sep 26 2017 Nick Clifton <nickc@redhat.com> - 2.5-2
6dd473
- Stop the plugin complaining about compiler datestamp mismatches.
6dd473
6dd473
* Thu Sep 21 2017 Nick Clifton <nickc@redhat.com> - 2.4-1
6dd473
- Tweak tests so that they will run on older machines.
6dd473
6dd473
* Thu Sep 21 2017 Nick Clifton <nickc@redhat.com> - 2.3-1
6dd473
- Add annobin-tests subpackage containing some preliminary tests.
6dd473
- Remove link-time test for unsupported targets.
6dd473
6dd473
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-3
6dd473
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
6dd473
6dd473
* Mon Jul 31 2017 Florian Weimer <fweimer@redhat.com> - 2.0-2
6dd473
- Rebuild with binutils fix for ppc64le (#1475636)
6dd473
6dd473
* Wed Jun 28 2017 Nick Clifton <nickc@redhat.com> - 2.0-1
6dd473
- Fixes for problems reported by the package submission review:
6dd473
   * Add %%license entry to %%file section.
6dd473
   * Update License and BuildRequires tags.
6dd473
   * Add Requires tag.
6dd473
   * Remove %%clean.
6dd473
   * Add %%check.
6dd473
   * Clean up the %%changelog.
6dd473
- Update to use version 2 of the specification and sources.
6dd473
6dd473
* Thu May 11 2017 Nick Clifton <nickc@redhat.com> - 1.0-1
6dd473
- Initial submission.