diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2020-07-02 15:52:15 -0400 |
---|---|---|
committer | Amar Tumballi <amar@kadalu.io> | 2020-07-03 17:25:43 +0000 |
commit | bc09af77376c45d28e6c789b0b4e64deed053aad (patch) | |
tree | cddec09f1edc1e4082e12b25315c769f943dd831 /tests | |
parent | ab8308333aaf033e07dbbdf2f69f9313a7e311f3 (diff) | |
download | glusterfs-bc09af77376c45d28e6c789b0b4e64deed053aad.tar.gz glusterfs-bc09af77376c45d28e6c789b0b4e64deed053aad.tar.xz glusterfs-bc09af77376c45d28e6c789b0b4e64deed053aad.zip |
api: libgfapi symbol versions break LTO in Fedora rawhide/f33
The way symbol versions are implemented is incompatible with gcc-10 and LTO.
Fedora provenpackager Jeff Law (law [at] redhat.com) writes in the
Fedora dist-git glusterfs.spec:
This package uses top level ASM constructs which are incompatible with LTO.
Top level ASMs are often used to implement symbol versioning. gcc-10
introduces a new mechanism for symbol versioning which works with LTO.
Converting packages to use that mechanism instead of toplevel ASMs is
recommended.
In particular, note that the version of gluster in Fedora rawhide/f33 is
glusterfs-8.0RC0. Once this fix is merged it will be necessary to backport
it to the release-8 branch.
At the time that gfapi symbol versions were first implemented we copied
the GNU libc (glibc) symbol version implementation following Uli Drepper's
symbol versioning HOWTO.
Now gcc-10 has a symver attribute that can be used instead. (Maybe it
has been there all along?)
Both the original implemenation and this implemenation yield the same
symbol versions. This can be seen by running
`nm -D --with-symbol-versions libgfapi.so`
on the libgfapi.so built before and after applying this fix.
Change-Id: I05fda580afacfff1bfc07be810dd1afc08a92fb8
Fixes: #1352
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions