Specify setproctitle_stub() signature manually if typeof is missing

Do not stop exporting the function in the version node even if typeof
is not available, as that would break ABI.
This commit is contained in:
Guillem Jover 2013-06-07 04:46:29 +02:00
parent 50e4c55afd
commit e084ce3fa7

View File

@ -257,11 +257,14 @@ setproctitle_impl(const char *fmt, ...)
}
__asm__(".symver setproctitle_impl,setproctitle@@LIBBSD_0.5");
#ifdef HAVE_TYPEOF
/* The original function introduced in 0.2 was a stub, it only got implemented
* in 0.5, make the implementation available in the old version as an alias
* for code linking against that version, and change the default to use the
* new version, so that new code depends on the implemented version. */
#ifdef HAVE_TYPEOF
extern typeof(setproctitle_impl) setproctitle_stub __attribute__((alias("setproctitle_impl")));
__asm__(".symver setproctitle_stub,setproctitle@LIBBSD_0.2");
#else
void setproctitle_stub(const char *fmt, ...)
__attribute__((alias("setproctitle_impl")));
#endif
__asm__(".symver setproctitle_stub,setproctitle@LIBBSD_0.2");