import annobin-8.78-1.el8
This commit is contained in:
parent
c3879025ed
commit
c9d58e9b65
@ -1 +1 @@
|
||||
614adb91b1cfdafd70be85afc8d77bc10e39c959 SOURCES/annobin-8.64.tar.xz
|
||||
a1168f411d26bb7f0a7c950ee98d0a1fd2fb856d SOURCES/annobin-8.78.tar.xz
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/annobin-8.64.tar.xz
|
||||
SOURCES/annobin-8.78.tar.xz
|
||||
|
@ -1,8 +1,14 @@
|
||||
|
||||
# Suppress this for BZ 1630550.
|
||||
# The problem should now only arise when rebasing to a new major version
|
||||
# of gcc, in which case the undefine below can be temporarily reinstated.
|
||||
#
|
||||
Name: annobin
|
||||
Summary: Binary annotation plugin for GCC
|
||||
Version: 8.78
|
||||
Release: 1%{?dist}
|
||||
|
||||
License: GPLv3+
|
||||
URL: https://fedoraproject.org/wiki/Toolchain/Watermark
|
||||
# Maintainer: nickc@redhat.com
|
||||
|
||||
|
||||
# # Do not build the annobin plugin with annotation enabled.
|
||||
# # This is because if we are bootstrapping a new build environment we can have
|
||||
# # a new version of gcc installed, but without a new of annobin installed.
|
||||
@ -11,16 +17,13 @@
|
||||
# # version, the old plugin will complain that version of gcc for which it
|
||||
# # was built is different from the version of gcc that is now being used, and
|
||||
# # then it will abort.
|
||||
#
|
||||
# Suppress this for BZ 1630550.
|
||||
# The problem should now only arise when rebasing to a new major version
|
||||
# of gcc, in which case the undefine below can be temporarily reinstated.
|
||||
#
|
||||
# %%undefine _annotated_build
|
||||
|
||||
Name: annobin
|
||||
Summary: Binary annotation plugin for GCC
|
||||
Version: 8.64
|
||||
Release: 1%{?dist}
|
||||
|
||||
License: GPLv3+
|
||||
URL: https://fedoraproject.org/wiki/Toolchain/Watermark
|
||||
|
||||
# Use "--without tests" to disable the testsuite. The default is to run them.
|
||||
%bcond_without tests
|
||||
|
||||
@ -29,11 +32,12 @@ URL: https://fedoraproject.org/wiki/Toolchain/Watermark
|
||||
|
||||
# Set this to zero to disable the requirement for a specific version of gcc.
|
||||
# This should only be needed if there is some kind of problem with the version
|
||||
# checking logic.
|
||||
# checking logic or when building on RHEL-7 or earlier.
|
||||
%global with_hard_gcc_version_requirement 1
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
Source: https://nickc.fedorapeople.org/annobin-%{version}.tar.xz
|
||||
# Source: https://nickc.fedorapeople.org/annobin-%%{version}.tar.xz
|
||||
Source: annobin-%{version}.tar.xz
|
||||
# For the latest sources use: git clone git://sourceware.org/git/annobin.git
|
||||
|
||||
# Insert patches here, if needed.
|
||||
@ -41,12 +45,63 @@ Source: https://nickc.fedorapeople.org/annobin-%{version}.tar.xz
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
|
||||
# [Stolen from gcc-python-plugin]
|
||||
# GCC will only load plugins that were built against exactly that build of GCC
|
||||
# We thus need to embed the exact GCC version as a requirement within the
|
||||
# metadata.
|
||||
#
|
||||
# Define "gcc_vr", a variable to hold the VERSION-RELEASE string for the gcc
|
||||
# we are being built against.
|
||||
#
|
||||
# Unfortunately, we can't simply run:
|
||||
# rpm -q --qf="%%{version}-%%{release}"
|
||||
# to determine this, as there's no guarantee of a sane rpm database within
|
||||
# the chroots created by our build system
|
||||
#
|
||||
# So we instead query the version from gcc's output.
|
||||
#
|
||||
# gcc.spec has:
|
||||
# Version: %%{gcc_version}
|
||||
# Release: %%{gcc_release}%%{?dist}
|
||||
# ...snip...
|
||||
# echo 'Red Hat %%{version}-%%{gcc_release}' > gcc/DEV-PHASE
|
||||
#
|
||||
# So, given this output:
|
||||
#
|
||||
# $ gcc --version
|
||||
# gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
|
||||
# Copyright (C) 2011 Free Software Foundation, Inc.
|
||||
# This is free software; see the source for copying conditions. There is NO
|
||||
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# we can scrape out the "4.6.1" from the version line.
|
||||
#
|
||||
# The following implements the above:
|
||||
|
||||
%global gcc_vr %(gcc --version | head -n 1 | sed -e 's|.*(Red\ Hat\ ||g' -e 's|)$||g')
|
||||
|
||||
# We need the major version of gcc.
|
||||
%global gcc_major %(echo "%{gcc_vr}" | cut -f1 -d".")
|
||||
%global gcc_next %(v="%{gcc_major}"; echo $((++v)))
|
||||
|
||||
# Needed when building the srpm.
|
||||
%if 0%{?gcc_major} == 0
|
||||
%global gcc_major 0
|
||||
%endif
|
||||
|
||||
# This is a gcc plugin, hence gcc is required.
|
||||
%if %{with_hard_gcc_version_requirement}
|
||||
# BZ 1607430 - There is an exact requirement on the major version of gcc.
|
||||
Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next})
|
||||
%else
|
||||
Requires: gcc
|
||||
%endif
|
||||
|
||||
BuildRequires: gcc gcc-plugin-devel gcc-c++
|
||||
|
||||
%description
|
||||
Provides a plugin for GCC that records extra information in the files
|
||||
that it compiles and a set of scripts that can analyze the recorded
|
||||
information.
|
||||
that it compiles.
|
||||
|
||||
Note - the plugin is automatically enabled in gcc builds via flags
|
||||
provided by the redhat-rpm-macros package.
|
||||
@ -82,58 +137,16 @@ hardening options.
|
||||
|
||||
%global ANNOBIN_PLUGIN_DIR %(gcc --print-file-name=plugin)
|
||||
|
||||
# [Stolen from gcc-python-plugin]
|
||||
# GCC will only load plugins that were built against exactly that build of GCC
|
||||
# We thus need to embed the exact GCC version as a requirement within the
|
||||
# metadata.
|
||||
#
|
||||
# Define "gcc_vr", a variable to hold the VERSION-RELEASE string for the gcc
|
||||
# we are being built against.
|
||||
#
|
||||
# Unfortunately, we can't simply run:
|
||||
# rpm -q --qf="%%{version}-%%{release}"
|
||||
# to determine this, as there's no guarantee of a sane rpm database within
|
||||
# the chroots created by our build system
|
||||
#
|
||||
# So we instead query the version from gcc's output.
|
||||
#
|
||||
# gcc.spec has:
|
||||
# Version: %%{gcc_version}
|
||||
# Release: %%{gcc_release}%%{?dist}
|
||||
# ...snip...
|
||||
# echo 'Red Hat %%{version}-%%{gcc_release}' > gcc/DEV-PHASE
|
||||
#
|
||||
# So, given this output:
|
||||
#
|
||||
# $ gcc --version
|
||||
# gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
|
||||
# Copyright (C) 2011 Free Software Foundation, Inc.
|
||||
# This is free software; see the source for copying conditions. There is NO
|
||||
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# we can scrape out the "4.6.1" from the version line.
|
||||
#
|
||||
# The following implements the above:
|
||||
|
||||
%global gcc_vr %(gcc --version | head -n 1 | sed -e 's|.*(Red\ Hat\ ||g' | sed -e 's|)$||g')
|
||||
|
||||
# This is a gcc plugin, hence gcc is required.
|
||||
%if %{with_hard_gcc_version_requirement}
|
||||
Requires: gcc == %{gcc_vr}
|
||||
BuildRequires: gcc == %{gcc_vr}
|
||||
%else
|
||||
Requires: gcc
|
||||
%endif
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
|
||||
%prep
|
||||
|
||||
if [ -z "%{gcc_vr}" ]; then
|
||||
echo "*** Missing gcc_vr spec file macro, cannot continue." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next})"
|
||||
|
||||
%autosetup -p1
|
||||
|
||||
# The plugin has to be configured with the same arcane configure
|
||||
@ -157,7 +170,10 @@ touch doc/annobin.info
|
||||
# that it should be OK.
|
||||
cp plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so
|
||||
make -C plugin clean
|
||||
make -C plugin CXXFLAGS="%{optflags} -fplugin=%{_tmppath}/tmp_annobin.so -fplugin-arg-tmp_annobin-rename"
|
||||
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"
|
||||
rm %{_tmppath}/tmp_annobin.so
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
@ -170,7 +186,11 @@ rm %{_tmppath}/tmp_annobin.so
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
# On RHEL7 the assembler does not support all of the annobin tests.
|
||||
make check
|
||||
if [ -f tests/test-suite.log ]; then
|
||||
cat tests/test-suite.log
|
||||
fi
|
||||
%endif
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
@ -200,6 +220,76 @@ make check
|
||||
#---------------------------------------------------------------------------------
|
||||
|
||||
%changelog
|
||||
* Tue Aug 06 2019 Nick Clifton <nickc@redhat.com> - 8.78-1
|
||||
- Fix a memory allocation error in the annobin plugin. (#1737306)
|
||||
|
||||
* Mon Aug 05 2019 Nick Clifton <nickc@redhat.com> - 8.77-2
|
||||
- NVR bump to allow rebuilding against latest gcc.
|
||||
|
||||
* Mon Jun 24 2019 Nick Clifton <nickc@redhat.com> - 8.77-1
|
||||
- Another attempt at fixing the detection and reporting of missing -D_FORTIFY_SOURCE options. (#1703500)
|
||||
|
||||
* Thu Jun 13 2019 Nick Clifton <nickc@redhat.com> - 8.76-2
|
||||
- Release bump in order to allow rebuild against latest version of gcc in RHEL-8 buildroot. (#1720179)
|
||||
|
||||
* Tue Jun 04 2019 Nick Clifton <nickc@redhat.com> - 8.76-1
|
||||
- Report a missing -D_FORTIFY_SOUCRE option if -D_GLIBCXX_ASSERTIONS was detected. (#1703500)
|
||||
- Do not report problems with -fstack-protection if the binary was not built by gcc or clang. (#1703788)
|
||||
- Add tests of clang command line options recorded in the DW_AT_producer attribute.
|
||||
|
||||
* Fri May 10 2019 Nick Clifton <nickc@redhat.com> - 8.73-2
|
||||
- Release bump in order to allow rebuild against latest version of gcc in RHEL-8 buildroot. (#1657912)
|
||||
|
||||
* Wed Apr 24 2019 Nick Clifton <nickc@redhat.com> - 8.73-1
|
||||
- Fix test for an executable stack segment. (#1700924)
|
||||
|
||||
* Thu Feb 28 2019 Nick Clifton <nickc@redhat.com> - 8.71-1
|
||||
- Annobin: Suppress more calls to free() which are triggering memory checker errors. (#1684148)
|
||||
|
||||
* Fri Feb 01 2019 Nick Clifton <nickc@redhat.com> - 8.70-1
|
||||
- Add section flag matching ability to section size tool.
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.69-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Jan 29 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-6
|
||||
- Use 'with' for rich dependency on gcc
|
||||
|
||||
* Tue Jan 29 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-5
|
||||
- Really fix rhbz#1607430.
|
||||
|
||||
* Mon Jan 28 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-4
|
||||
- Rebuilt with annotations enabled
|
||||
|
||||
* Mon Jan 28 2019 Björn Esser <besser82@fedoraproject.org> - 8.69-3
|
||||
- Fix rpm query for gcc version.
|
||||
|
||||
* Mon Jan 28 2019 Nick Clifton <nickc@redhat.com> - 8.69-2
|
||||
- Add an exact requirement on the major version of gcc. (#1607430)
|
||||
|
||||
* Thu Jan 24 2019 Nick Clifton <nickc@redhat.com> - 8.69-1
|
||||
- Annobin: Add support for .text.startup and .text.exit sections generated by gcc 9.
|
||||
- Annocheck: Add a note displaying tool.
|
||||
|
||||
* Wed Jan 23 2019 Nick Clifton <nickc@redhat.com> - 8.68-1
|
||||
- Annocheck: Skip checks for -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS if there is no compiler generated code in the binary.
|
||||
|
||||
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 8.67-3
|
||||
- Rebuilt with annotations enabled
|
||||
|
||||
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 8.67-2
|
||||
- Rebuilt for GCC 9
|
||||
|
||||
* Thu Jan 17 2019 Nick Clifton <nickc@redhat.com> - 8.67-1
|
||||
- Annocheck: Only skip specific checks for specific symbols. (#1666823)
|
||||
- Annobin: Record the setting of the -fomit-frame-pointer option. (#1657912)
|
||||
|
||||
* Wed Jan 02 2019 Nick Clifton <nickc@redhat.com> - 8.66-1
|
||||
- Annocheck: Do not ignore -Og when checking to see if an optimization level has been set. (#1624162)
|
||||
|
||||
* Tue Dec 11 2018 Nick Clifton <nickc@redhat.com> - 8.65-1
|
||||
- Annobin: Fix handling of multiple .text.unlikely sections.
|
||||
|
||||
* Fri Nov 30 2018 Nick Clifton <nickc@redhat.com> - 8.64-1
|
||||
- Annocheck: Skip gaps in PPC64 executables covered by start_bcax_ symbols. (#1630564)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user