This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] Add hidden visibility to internal function prototypes
On 08/21/2017 08:11 PM, Joseph Myers wrote:
> On Mon, 21 Aug 2017, H.J. Lu wrote:
>>> This test is using various objects from the build of libc. Some of
>>> those objects contain references to __assert_fail. Because those
>>> references are hidden, they cannot refer to __assert_fail from
>>> libc.so. Given the tests using internal objects those symbols in
>>> libc.a can't safely be made hidden, so this patch reverts the problem
>>> commit until any alternative approach that doesn't break the build can
>>> be found.
>> Can't these link against libc.so instead of libc.a?
> The test links with libc.so, but it uses various GMP objects from libc.a.
> Generically, any test using any objects from libc.a will have problems if
> those reference hidden symbols (in this case, __assert_fail) from
> elsewhere in libc.
I don't think linking a test both against libc.a and libc.so is valid.
In other cases, in order to test hidden symbols, we use fully static
linking instead. Is this something we could do here as well? I don't
think it would invalidate the tests any more than the current hybrid
linkage model does.