Revert r202447 by re-exposing the old uname(3) function.

It makes hardly any sense to expose a symbol which should only be
provided for binary compatibility, but it seems we don't have a lot of
choice here. There are many autoconf scripts out there that try to
create a binary that links against the old symbol to see whether
uname(3) is present. These scripts fail to detect uname(3) now.

It should be noted that the behaviour we implement is not against the
standards:

| The following shall be declared as a function and may also be defined
| as a macro:
|
| int uname(struct utsname *);
This commit is contained in:
Ed Schouten 2010-01-19 23:07:12 +00:00
parent ab43eceb0d
commit 26f87cc6ff
2 changed files with 4 additions and 3 deletions

View File

@ -296,6 +296,7 @@ FBSD_1.0 {
tcflow;
ualarm;
ulimit;
uname;
unvis;
strunvis;
strunvisx;

View File

@ -33,15 +33,15 @@ static char sccsid[] = "From: @(#)uname.c 8.1 (Berkeley) 1/4/94";
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#define uname wrapped_uname
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/utsname.h>
#include <errno.h>
#undef uname
int
__uname(struct utsname *name)
uname(struct utsname *name)
{
return __xuname(32, name);
}
__sym_compat(uname, __uname, FBSD_1.0);