[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/20610] Linking against Oracle OCCI fails
From: |
ostash at ostash dot kiev.ua |
Subject: |
[Bug gold/20610] Linking against Oracle OCCI fails |
Date: |
Thu, 15 Sep 2016 08:30:50 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=20610
--- Comment #1 from Viktor Ostashevskyi <ostash at ostash dot kiev.ua> ---
Bisected to:
b60ecbc6ddeaf7af8f2515841b58035f0d4d2db7 is the first bad commit
commit b60ecbc6ddeaf7af8f2515841b58035f0d4d2db7
Author: Cary Coutant <address@hidden>
Date: Wed Mar 30 19:14:16 2016 -0700
Don't override definition a shared object by one in a later shared object.
In PR 16979, a reference to malloc is being resolved to an unversioned
reference in libmalloc.so. When linked with --as-needed, however, the
dynamic table does not list libmalloc.so as a DT_NEEDED library.
If we have a reference to an unversioned symbol in a shared object,
and we later see a versioned definition in another shared object, we
were overriding the first definition with the second in the process of
defining the default version. As a result, we no longer think that the
first shared object was actually needed to resolve any symbols, and we
don't list it as a DT_NEEDED library.
This patch fixes the problem by treating the two definitions as separate
symbols, so the second definition does not override the first.
2016-03-30 Cary Coutant <address@hidden>
gold/
PR gold/16979
* symtab.cc (Symbol_table::define_default_version): Check for case
where symbols are both in different shared objects.
:040000 040000 ecee23ccab1035329fbc054eb10e94ff42358124
39b15f317aadad7a199a5d60abfbd795bed5fe22 M gold
--
You are receiving this mail because:
You are on the CC list for the bug.