On Sun, Sep 12, 2021 at 6:12 PM apinski--- via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> From: Andrew Pinski <apin...@marvell.com>
>
> So right now liblto_plugin.so exports many libiberty symbols and
> simple_object file symbols but really it just needs to export onload.
>
> This fixes the problem by using "-export-symbols-regex onload" on
> the libtool link line.

OK.

> lto-plugin/ChangeLog:
>
>         * Makefile.am: Export only onload.
>         * Makefile.in: Regenerate.
> ---
>  lto-plugin/Makefile.am | 3 ++-
>  lto-plugin/Makefile.in | 7 ++++---
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/lto-plugin/Makefile.am b/lto-plugin/Makefile.am
> index 8b20e1d1d87..988d7a78294 100644
> --- a/lto-plugin/Makefile.am
> +++ b/lto-plugin/Makefile.am
> @@ -21,7 +21,8 @@ in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), 
> $(gcc_build_dir)/$(lib))
>  liblto_plugin_la_SOURCES = lto-plugin.c
>  # Note that we intentionally override the bindir supplied by 
> ACX_LT_HOST_FLAGS.
>  liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) \
> -       $(lt_host_flags) -module -avoid-version -bindir $(libexecsubdir)
> +       $(lt_host_flags) -module -avoid-version -bindir $(libexecsubdir) \
> +       -export-symbols-regex onload
>  # Can be simplified when libiberty becomes a normal convenience library.
>  libiberty = $(with_libiberty)/libiberty.a
>  libiberty_noasan = $(with_libiberty)/noasan/libiberty.a
> diff --git a/lto-plugin/Makefile.in b/lto-plugin/Makefile.in
> index 20611c6b1e6..f8df31bb1e8 100644
> --- a/lto-plugin/Makefile.in
> +++ b/lto-plugin/Makefile.in
> @@ -323,6 +323,7 @@ prefix = @prefix@
>  program_transform_name = @program_transform_name@
>  psdir = @psdir@
>  real_target_noncanonical = @real_target_noncanonical@
> +runstatedir = @runstatedir@
>  sbindir = @sbindir@
>  sharedstatedir = @sharedstatedir@
>  srcdir = @srcdir@
> @@ -350,9 +351,9 @@ libexecsub_LTLIBRARIES = liblto_plugin.la
>  in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), 
> $(gcc_build_dir)/$(lib))
>  liblto_plugin_la_SOURCES = lto-plugin.c
>  # Note that we intentionally override the bindir supplied by 
> ACX_LT_HOST_FLAGS.
> -liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) $(lt_host_flags) -module 
> -avoid-version \
> -       -bindir $(libexecsubdir) $(if $(wildcard \
> -       $(libiberty_noasan)),, $(if $(wildcard \
> +liblto_plugin_la_LDFLAGS = $(AM_LDFLAGS) $(lt_host_flags) -module \
> +       -avoid-version -bindir $(libexecsubdir) -export-symbols-regex \
> +       onload $(if $(wildcard $(libiberty_noasan)),, $(if $(wildcard \
>         $(libiberty_pic)),,-Wc,$(libiberty)))
>  # Can be simplified when libiberty becomes a normal convenience library.
>  libiberty = $(with_libiberty)/libiberty.a
> --
> 2.17.1
>

Reply via email to