On 3/17/23 02:45, Eric Blake wrote:
Where it can go wrong is when
a public header has a macro that redefines the normal symbol name into
the actual library linkage name (think about the public stat()
vs. internal __stat64() mess when big files were first introduced, or
more recently, figuring out how to support 64-bit time on 32-bit
systems).
Ah, I got it now. The autoconf-generated test could theoretically fail
(leading to a false negative) because "prctl" might not exist as a
linkable symbol *at all* in the C library (so the fake function
declaration in the generated test file would not link against anything).
The actual function could be provided by the shared object under a
symbol like "__prctl_foobar" *only*, and the only way to get from
"prctl" to "__prctl_foobar" could be a #define available via
inclusion
of the <sys/prctl.h> header.
Yeah, let's deal with *that* horror if it ever happens. :)
Thanks!
Laszlo