Skip to content

Commit

Permalink
* include/fcntl.h: Declare __openat, __open64. Use libc_hidden_proto.
Browse files Browse the repository at this point in the history
	* io/openat.c (__openat): Define instead of openat.
	Use libc_hidden_def.  Define openat with weak_alias.
	* io/openat64.c (__openat64): Define instead of openat64.
	Use libc_hidden_def.  Define openat64 with weak_alias.
	* sysdeps/unix/sysv/linux/openat.c: Likewise.

	* libio/genops.c: Include <sched.h> for __sched_yield decl.
  • Loading branch information
Roland McGrath committed Mar 1, 2006
1 parent 3192fd8 commit e2c7e1d
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 5 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
2006-02-28 Roland McGrath <roland@redhat.com>

* include/fcntl.h: Declare __openat, __open64. Use libc_hidden_proto.
* io/openat.c (__openat): Define instead of openat.
Use libc_hidden_def. Define openat with weak_alias.
* io/openat64.c (__openat64): Define instead of openat64.
Use libc_hidden_def. Define openat64 with weak_alias.
* sysdeps/unix/sysv/linux/openat.c: Likewise.

* libio/genops.c: Include <sched.h> for __sched_yield decl.

* Makeconfig (+includes): Add back $(includes)
after $(+sysdep-includes).

Expand Down
7 changes: 7 additions & 0 deletions include/fcntl.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@ extern int __open (__const char *__file, int __oflag, ...);
libc_hidden_proto (__open)
extern int __fcntl (int __fd, int __cmd, ...);
libc_hidden_proto (__fcntl)
extern int __openat (int __fd, __const char *__file, int __oflag, ...)
__nonnull ((2));
libc_hidden_proto (__openat)
extern int __openat64 (int __fd, __const char *__file, int __oflag, ...)
__nonnull ((2));
libc_hidden_proto (__openat64)


/* Helper functions for the various *at functions. For Linux. */
extern void __atfct_seterrno (int errval, int fd, const char *buf)
Expand Down
6 changes: 4 additions & 2 deletions io/openat.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 2005 Free Software Foundation, Inc.
/* Copyright (C) 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -26,7 +26,7 @@
the directory associated with FD. If OFLAG includes O_CREAT, a
third argument is the file protection. */
int
openat (fd, file, oflag)
__openat (fd, file, oflag)
int fd;
const char *file;
int oflag;
Expand Down Expand Up @@ -64,6 +64,8 @@ openat (fd, file, oflag)
__set_errno (ENOSYS);
return -1;
}
libc_hidden_def (__openat)
weak_alias (__openat, openat)
stub_warning (openat)

#include <stub-tag.h>
6 changes: 4 additions & 2 deletions io/openat64.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 2005 Free Software Foundation, Inc.
/* Copyright (C) 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -26,7 +26,7 @@
the directory associated with FD. If OFLAG includes O_CREAT, a
third argument is the file protection. */
int
openat64 (fd, file, oflag)
__openat64 (fd, file, oflag)
int fd;
const char *file;
int oflag;
Expand Down Expand Up @@ -64,6 +64,8 @@ openat64 (fd, file, oflag)
__set_errno (ENOSYS);
return -1;
}
libc_hidden_def (__openat64)
weak_alias (__openat64, openat64)
stub_warning (openat64)

#include <stub-tag.h>
3 changes: 3 additions & 0 deletions libio/genops.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
#endif
#include <string.h>
#include <stdbool.h>
#ifdef _LIBC
#include <sched.h>
#endif

#ifdef _IO_MTSAFE_IO
static _IO_lock_t list_all_lock = _IO_lock_initializer;
Expand Down
8 changes: 7 additions & 1 deletion sysdeps/unix/sysv/linux/openat.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,12 +135,16 @@ OPENAT_NOT_CANCEL (fd, file, oflag, mode)
#endif
}

#define UNDERIZE(name) UNDERIZE_1 (name)
#define UNDERIZE_1(name) __##name
#define __OPENAT UNDERIZE (OPENAT)


/* Open FILE with access OFLAG. Interpret relative paths relative to
the directory associated with FD. If OFLAG includes O_CREAT, a
third argument is the file protection. */
int
OPENAT (fd, file, oflag)
__OPENAT (fd, file, oflag)
int fd;
const char *file;
int oflag;
Expand All @@ -165,3 +169,5 @@ OPENAT (fd, file, oflag)

return res;
}
libc_hidden_def (__OPENAT)
weak_alias (__OPENAT, OPENAT)

0 comments on commit e2c7e1d

Please sign in to comment.