]> git.ipfire.org Git - thirdparty/gcc.git/commit
lto-plugin: Use GNU ld or Solaris ld version script in preference to -export-symbols...
authorJakub Jelinek <jakub@redhat.com>
Tue, 22 Mar 2022 10:02:31 +0000 (11:02 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 22 Mar 2022 10:03:54 +0000 (11:03 +0100)
commit6ee5892638526366fc3d8a1f4426f3cc278ea061
tree6c9ae9cdf8cb260c5167a58cc453279962ef491d
parent919fbffef0755562cd3b686c838069c20bc7878f
lto-plugin: Use GNU ld or Solaris ld version script in preference to -export-symbols-regex [PR102426]

As reported, libtool -export-symbols-regex doesn't work on Solaris
when using GNU ld instead of Sun ld, libtool just always assumes Sun ld.
As I'm unsure what is the maintainance status of libtool right now,
this patch solves it on the lto-plugin side instead, tests at configure time
similar way how libssp and other target libraries test for symbol versioning
(except omitting the symbol version because we just want one GLOBAL symbol
and rest of them LOCAL), and will use the current way of
-export-symbols-regex onload as fallback when this doesn't work.

2022-03-22  Jakub Jelinek  <jakub@redhat.com>

PR lto/102426
lto-plugin/
* configure.ac (LTO_PLUGIN_USE_SYMVER, LTO_PLUGIN_USE_SYMVER_GNU,
LTO_PLUGIN_USE_SYMVER_SUN): New test for symbol versioning support.
* Makefile.am (version_arg, version_dep): Set conditionally based
on LTO_PLUGIN_USE_SYMVER*.
(liblto_plugin_la_LDFLAGS): Use $(version_arg) instead of
-export-symbols-regex onload.
(liblto_plugin_la_DEPENDENCIES): Depend on $(version_dep).
* lto-plugin.map: New file.
* configure: Regenerated.
* Makefile.in: Regenerated.
lto-plugin/Makefile.am
lto-plugin/Makefile.in
lto-plugin/configure
lto-plugin/configure.ac
lto-plugin/lto-plugin.map [new file with mode: 0644]