MFC: r179358,179434 - make libc's fcntl symbol weak and extend the limited

forward ABI compatibility for fcntl to the thread libraries.
This commit is contained in:
Doug Rabson 2008-06-06 09:09:37 +00:00
parent 867c58a57c
commit e1153c3e07
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/7/; revision=179608
5 changed files with 11 additions and 4 deletions

View File

@ -494,6 +494,7 @@ FBSDprivate_1.0 {
__sys_fchown;
_fcntl;
__sys_fcntl;
__fcntl_compat;
_fhopen;
__sys_fhopen;
_fhstat;

View File

@ -34,8 +34,10 @@ __FBSDID("$FreeBSD$");
#include <sys/syscall.h>
#include "libc_private.h"
__weak_reference(__fcntl_compat, fcntl);
int
fcntl(int fd, int cmd, ...)
__fcntl_compat(int fd, int cmd, ...)
{
va_list args;
long arg;

View File

@ -36,6 +36,8 @@
__weak_reference(__fcntl, fcntl);
extern int __fcntl_compat(int fd, int cmd, ...);
int
_fcntl(int fd, int cmd,...)
{
@ -124,7 +126,7 @@ _fcntl(int fd, int cmd,...)
break;
default:
/* Might want to make va_arg use a union */
ret = __sys_fcntl(fd, cmd, va_arg(ap, void *));
ret = __fcntl_compat(fd, cmd, va_arg(ap, void *));
break;
}

View File

@ -37,6 +37,7 @@
LT10_COMPAT_PRIVATE(__fcntl);
LT10_COMPAT_DEFAULT(fcntl);
extern int __fcntl_compat(int fd, int cmd,...);
__weak_reference(__fcntl, fcntl);
@ -68,7 +69,7 @@ __fcntl(int fd, int cmd,...)
ret = __sys_fcntl(fd, cmd);
break;
default:
ret = __sys_fcntl(fd, cmd, va_arg(ap, void *));
ret = __fcntl_compat(fd, cmd, va_arg(ap, void *));
}
va_end(ap);

View File

@ -132,6 +132,7 @@ int __aio_suspend(const struct aiocb * const iocbs[], int,
int __close(int);
int __connect(int, const struct sockaddr *, socklen_t);
int __fcntl(int, int,...);
extern int __fcntl_compat(int, int,...);
int __fsync(int);
int __msync(void *, size_t, int);
int __nanosleep(const struct timespec *, struct timespec *);
@ -253,7 +254,7 @@ __fcntl(int fd, int cmd,...)
ret = __sys_fcntl(fd, cmd);
break;
default:
ret = __sys_fcntl(fd, cmd, va_arg(ap, void *));
ret = __fcntl_compat(fd, cmd, va_arg(ap, void *));
}
va_end(ap);