Fix clang plugin to use hidden symbols.
This commit is contained in:
parent
f7f58a9fb9
commit
5d051cb7a7
1
.gitignore
vendored
1
.gitignore
vendored
@ -125,3 +125,4 @@
|
|||||||
/annobin-9.07.tar.xz
|
/annobin-9.07.tar.xz
|
||||||
/annobin-9.08.tar.xz
|
/annobin-9.08.tar.xz
|
||||||
/annobin-9.09.tar.xz
|
/annobin-9.09.tar.xz
|
||||||
|
/annobin-9.10.tar.xz
|
||||||
|
34
annobin.spec
34
annobin.spec
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Name: annobin
|
Name: annobin
|
||||||
Summary: Binary annotations and discovery
|
Summary: Annotate and examine compiled binary files
|
||||||
Version: 9.09
|
Version: 9.10
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
# ProtocolURL: https://fedoraproject.org/wiki/Toolchain/Watermark
|
# ProtocolURL: https://fedoraproject.org/wiki/Toolchain/Watermark
|
||||||
@ -122,7 +122,7 @@ Note - the plugin is automatically enabled in gcc builds via flags
|
|||||||
provided by the redhat-rpm-macros package.
|
provided by the redhat-rpm-macros package.
|
||||||
|
|
||||||
%if %{with clangplugin}
|
%if %{with clangplugin}
|
||||||
Note - the clang plugin has also been enabled.
|
Also provides a plugin for clang which performs a similar function.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -157,11 +157,14 @@ hardening options.
|
|||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
%global ANNOBIN_PLUGIN_DIR %(gcc --print-file-name=plugin)
|
%global ANNOBIN_GCC_PLUGIN_DIR %(gcc --print-file-name=plugin)
|
||||||
|
|
||||||
%if %{with clangplugin}
|
%if %{with clangplugin}
|
||||||
# FIXME: This does not actually work - it returns the *gcc* plugin directory!
|
# FIXME: Clang does not appear to have an official plugin directory.
|
||||||
%global ANNOBIN_CLANG_PLUGIN_DIR %(clang --print-file-name=plugin)
|
# Instead it just uses dlopen() with no pathname prefix. So we
|
||||||
|
# construct a (hopefully good) path and rely upon users of annobin
|
||||||
|
# knowing about this location.
|
||||||
|
%global ANNOBIN_CLANG_PLUGIN_DIR /usr/lib64/clang/%(clang --dumpversion)/lib
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -189,9 +192,9 @@ touch doc/annobin.info
|
|||||||
%build
|
%build
|
||||||
|
|
||||||
%if %{with debuginfod}
|
%if %{with debuginfod}
|
||||||
%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_PLUGIN_DIR} --with-debuginfod
|
%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR} --with-debuginfod
|
||||||
%else
|
%else
|
||||||
%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_PLUGIN_DIR}
|
%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%make_build
|
%make_build
|
||||||
@ -222,8 +225,7 @@ make -C clang-plugin annobin.so
|
|||||||
%{__rm} -f %{buildroot}%{_infodir}/dir
|
%{__rm} -f %{buildroot}%{_infodir}/dir
|
||||||
|
|
||||||
%if %{with clangplugin}
|
%if %{with clangplugin}
|
||||||
# FIXME: I do not know where clang installs its plugins...
|
cp clang-plugin/annobin.so %{ANNOBIN_CLANG_PLUGIN_DIR}
|
||||||
# cp clang-plugin/annobin.so %{ANNOBIN_CLANG_PLUGIN_DIR}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -236,12 +238,16 @@ make check
|
|||||||
if [ -f tests/test-suite.log ]; then
|
if [ -f tests/test-suite.log ]; then
|
||||||
cat tests/test-suite.log
|
cat tests/test-suite.log
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%if %{with clangplugin}
|
||||||
|
# FIXME: Add tests of the clang plugin.
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%{ANNOBIN_PLUGIN_DIR}
|
%{ANNOBIN_GCC_PLUGIN_DIR}
|
||||||
%{_bindir}/built-by
|
%{_bindir}/built-by
|
||||||
%{_bindir}/check-abi
|
%{_bindir}/check-abi
|
||||||
%{_bindir}/hardened
|
%{_bindir}/hardened
|
||||||
@ -256,8 +262,9 @@ fi
|
|||||||
%{_mandir}/man1/check-abi.1*
|
%{_mandir}/man1/check-abi.1*
|
||||||
%{_mandir}/man1/hardened.1*
|
%{_mandir}/man1/hardened.1*
|
||||||
%{_mandir}/man1/run-on-binaries-in.1*
|
%{_mandir}/man1/run-on-binaries-in.1*
|
||||||
|
|
||||||
%if %{with clangplugin}
|
%if %{with clangplugin}
|
||||||
# %{ANNOBIN_CLANG_PLUGIN_DIR}
|
%{ANNOBIN_CLANG_PLUGIN_DIR}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with annocheck}
|
%if %{with annocheck}
|
||||||
@ -269,6 +276,9 @@ fi
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 27 2020 Nick Clifton <nickc@redhat.com> - 9.10-1
|
||||||
|
- Fix clang plugin to use hidden symbols.
|
||||||
|
|
||||||
* Tue Feb 25 2020 Nick Clifton <nickc@redhat.com> - 9.09-1
|
* Tue Feb 25 2020 Nick Clifton <nickc@redhat.com> - 9.09-1
|
||||||
- Add ability to build clang plugin (disabled by default).
|
- Add ability to build clang plugin (disabled by default).
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (annobin-9.09.tar.xz) = 3353cab4cbb82ea89fdb9c28333d480edca8e3bea631cb0df1897d00fab3ae1aa33198f3362c7edc9da8cf4bf1a9c20415a4fb88dabfae45e0d537bb958ebe9e
|
SHA512 (annobin-9.10.tar.xz) = 4b091b3494b12ada210c2383174eb17dc53645105165e20a0a7b1e453decf0c0f280fc958e393e6863b871d519895524adcb24bafee3e46f7d51e55473347fe3
|
||||||
|
Loading…
Reference in New Issue
Block a user