svn commit: r202661 - head/lib/libc/gen
Ed Schouten
ed at FreeBSD.org
Tue Jan 19 23:07:12 UTC 2010
Author: ed
Date: Tue Jan 19 23:07:12 2010
New Revision: 202661
URL: http://svn.freebsd.org/changeset/base/202661
Log:
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 *);
Modified:
head/lib/libc/gen/Symbol.map
head/lib/libc/gen/uname.c
Modified: head/lib/libc/gen/Symbol.map
==============================================================================
--- head/lib/libc/gen/Symbol.map Tue Jan 19 23:03:08 2010 (r202660)
+++ head/lib/libc/gen/Symbol.map Tue Jan 19 23:07:12 2010 (r202661)
@@ -296,6 +296,7 @@ FBSD_1.0 {
tcflow;
ualarm;
ulimit;
+ uname;
unvis;
strunvis;
strunvisx;
Modified: head/lib/libc/gen/uname.c
==============================================================================
--- head/lib/libc/gen/uname.c Tue Jan 19 23:03:08 2010 (r202660)
+++ head/lib/libc/gen/uname.c Tue Jan 19 23:07:12 2010 (r202661)
@@ -33,15 +33,15 @@ static char sccsid[] = "From: @(#)uname.
#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);
More information about the svn-src-head
mailing list