summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rules.mak2
-rw-r--r--include/errno.h9
-rw-r--r--include/features.h2
-rw-r--r--include/grp.h2
-rw-r--r--include/pwd.h2
-rw-r--r--include/utmp.h2
-rw-r--r--libc/inet/hostid.c2
-rw-r--r--libc/inet/rpc/bindresvport.c4
-rw-r--r--libc/misc/dirent/closedir.c4
-rw-r--r--libc/misc/dirent/dirfd.c2
-rw-r--r--libc/misc/dirent/opendir.c6
-rw-r--r--libc/misc/dirent/readdir.c6
-rw-r--r--libc/misc/dirent/rewinddir.c2
-rw-r--r--libc/misc/dirent/seekdir.c2
-rw-r--r--libc/misc/dirent/telldir.c4
-rw-r--r--libc/misc/internals/__uClibc_main.c2
-rw-r--r--libc/misc/lock/flock.c2
-rw-r--r--libc/misc/regex/regex.c3
-rw-r--r--libc/misc/syslog/syslog.c2
-rw-r--r--libc/misc/time/adjtime.c2
-rw-r--r--libc/pwd_grp/fgetgrent.c2
-rw-r--r--libc/pwd_grp/fgetpwent.c2
-rw-r--r--libc/pwd_grp/getgrnam.c2
-rw-r--r--libc/pwd_grp/getpw.c4
-rw-r--r--libc/pwd_grp/getpwnam.c2
-rw-r--r--libc/pwd_grp/putpwent.c2
-rw-r--r--libc/signal/sigaddset.c2
-rw-r--r--libc/signal/sigdelset.c2
-rw-r--r--libc/signal/sigemptyset.c2
-rw-r--r--libc/signal/sigfillset.c2
-rw-r--r--libc/signal/sigismem.c2
-rw-r--r--libc/stdio/getdelim.c6
-rw-r--r--libc/stdio/popen.c2
-rw-r--r--libc/stdio/remove.c2
-rw-r--r--libc/stdio/stdio.c14
-rw-r--r--libc/stdlib/atexit.c2
-rw-r--r--libc/stdlib/mkstemp.c4
-rw-r--r--libc/stdlib/mktemp.c4
-rw-r--r--libc/stdlib/realpath.c8
-rw-r--r--libc/stdlib/setenv.c2
-rw-r--r--libc/stdlib/strto_l.c6
-rw-r--r--libc/stdlib/strto_ll.c6
-rw-r--r--libc/stdlib/strtod.c2
-rw-r--r--libc/string/config.c4
-rw-r--r--libc/sysdeps/linux/arm/bits/errno.h60
-rw-r--r--libc/sysdeps/linux/common/create_module.c2
-rw-r--r--libc/sysdeps/linux/common/errno.c1
-rw-r--r--libc/sysdeps/linux/common/getdnnm.c4
-rw-r--r--libc/sysdeps/linux/common/gethstnm.c4
-rw-r--r--libc/sysdeps/linux/common/seteuid.c2
-rw-r--r--libc/sysdeps/linux/common/syscalls.c2
-rw-r--r--libc/sysdeps/linux/i386/__init_brk.c6
-rw-r--r--libc/sysdeps/linux/i386/brk.c6
-rw-r--r--libc/sysdeps/linux/i386/sbrk.c6
-rw-r--r--libc/sysdeps/linux/m68k/ptrace.c4
-rw-r--r--libc/termios/tcgetsid.c4
-rw-r--r--libc/termios/tcsetattr.c6
-rw-r--r--libc/termios/termios.c6
-rw-r--r--libc/termios/ttyname.c6
-rw-r--r--libc/unistd/getcwd.c10
-rw-r--r--libc/unistd/sysconf.c8
61 files changed, 176 insertions, 109 deletions
diff --git a/Rules.mak b/Rules.mak
index 88911d59f..887933dd3 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -34,7 +34,7 @@ endif
ARFLAGS=r
-CCFLAGS=$(WARNINGS) $(OPTIMIZATION) -fno-builtin -nostdinc $(CPUFLAGS) -I$(TOPDIR)include -I$(GCCINCDIR) -I. -D__LIBC__
+CCFLAGS=$(WARNINGS) $(OPTIMIZATION) -fno-builtin -nostdinc $(CPUFLAGS) -I$(TOPDIR)include -I$(GCCINCDIR) -I. -D_LIBC
CFLAGS=$(ARCH_CFLAGS) $(CCFLAGS) $(DEFS) $(ARCH_CFLAGS2)
diff --git a/include/errno.h b/include/errno.h
index f96590c2e..da7f7a0e4 100644
--- a/include/errno.h
+++ b/include/errno.h
@@ -1,8 +1,8 @@
-#ifndef __ERRNO_H
-#define __ERRNO_H
+#ifndef _ERRNO_H
+#define _ERRNO_H
#include <features.h>
-#include <linux/errno.h>
+#include <bits/errno.h>
extern int sys_nerr;
extern const char *const sys_errlist[];
@@ -10,8 +10,11 @@ extern const char *const sys_errlist[];
#define _sys_nerr sys_nerr
#define _sys_errlist sys_errlist
+#ifndef errno
extern int errno;
+#endif
extern void perror __P ((__const char* __s));
extern char* strerror __P ((int __errno));
+
#endif
diff --git a/include/features.h b/include/features.h
index 93c41d7a1..475d62a85 100644
--- a/include/features.h
+++ b/include/features.h
@@ -15,7 +15,7 @@
* their developers intended. This is IMHO, pardonable, since these defines
* are not really intended to check for the presence of a particular library,
* but rather are used to define an _interface_. */
-#if !defined __LIBC__ || defined __FORCE_GLIBC__
+#if !defined _LIBC || defined __FORCE_GLIBC__
# define __GNU_LIBRARY__ 6
# define __GLIBC__ 2
# define __GLIBC_MINOR__ 1
diff --git a/include/grp.h b/include/grp.h
index 96b2b4b65..4ecef44f0 100644
--- a/include/grp.h
+++ b/include/grp.h
@@ -27,7 +27,7 @@ extern int setgroups __P ((size_t n, __const gid_t * groups));
extern int initgroups __P ((__const char * user, gid_t gid));
-#ifdef __LIBC__
+#ifdef _LIBC
extern struct group * __getgrent __P ((int grp_fd));
#endif
diff --git a/include/pwd.h b/include/pwd.h
index 6cadcf38a..64d8bc6ef 100644
--- a/include/pwd.h
+++ b/include/pwd.h
@@ -47,7 +47,7 @@ extern int fgetpwent_r __P ((FILE *__restrict __stream,
char *__restrict __buffer, size_t __buflen,
struct passwd **__restrict __result));
-#ifdef __LIBC__
+#ifdef _LIBC
/* This is used internally to uClibc */
extern int __getpwent_r(struct passwd * passwd, char * line_buff,
size_t buflen, int pwd_fd);
diff --git a/include/utmp.h b/include/utmp.h
index 102af2f6c..c98caa5ce 100644
--- a/include/utmp.h
+++ b/include/utmp.h
@@ -45,7 +45,7 @@ extern struct utmp * getutline __P ((struct utmp *));
extern struct utmp * pututline __P ((struct utmp *));
extern void endutent __P ((void));
-#ifdef __LIBC__
+#ifdef _LIBC
struct utmp * __getutent __P ((int));
#endif
diff --git a/libc/inet/hostid.c b/libc/inet/hostid.c
index 84a441acf..0873aa4fc 100644
--- a/libc/inet/hostid.c
+++ b/libc/inet/hostid.c
@@ -17,7 +17,7 @@ int sethostid(long int new_id)
int fd;
int ret;
- if (geteuid() || getuid()) return errno=EPERM;
+ if (geteuid() || getuid()) return __set_errno(EPERM);
if ((fd=open(HOSTID,O_CREAT|O_WRONLY,0644))<0) return -1;
ret = write(fd,(void *)&new_id,sizeof(new_id)) == sizeof(new_id)
? 0 : -1;
diff --git a/libc/inet/rpc/bindresvport.c b/libc/inet/rpc/bindresvport.c
index ad8678416..e71dff7f4 100644
--- a/libc/inet/rpc/bindresvport.c
+++ b/libc/inet/rpc/bindresvport.c
@@ -62,14 +62,14 @@ struct sockaddr_in *sin;
bzero(sin, sizeof(*sin));
sin->sin_family = AF_INET;
} else if (sin->sin_family != AF_INET) {
- errno = EPFNOSUPPORT;
+ __set_errno(EPFNOSUPPORT);
return (-1);
}
if (port == 0) {
port = (getpid() % NPORTS) + STARTPORT;
}
res = -1;
- errno = EADDRINUSE;
+ __set_errno(EADDRINUSE);
for (i = 0; i < NPORTS && res < 0 && errno == EADDRINUSE; i++) {
sin->sin_port = htons(port++);
if (port > ENDPORT) {
diff --git a/libc/misc/dirent/closedir.c b/libc/misc/dirent/closedir.c
index f2ead00f2..a2ac83b17 100644
--- a/libc/misc/dirent/closedir.c
+++ b/libc/misc/dirent/closedir.c
@@ -9,13 +9,13 @@ int closedir(DIR * dir)
int fd;
if (!dir) {
- errno = EBADF;
+ __set_errno(EBADF);
return -1;
}
/* We need to check dd_fd. */
if (dir->dd_fd == -1) {
- errno = EBADF;
+ __set_errno(EBADF);
return -1;
}
fd = dir->dd_fd;
diff --git a/libc/misc/dirent/dirfd.c b/libc/misc/dirent/dirfd.c
index d401dccd2..d6c1e6647 100644
--- a/libc/misc/dirent/dirfd.c
+++ b/libc/misc/dirent/dirfd.c
@@ -4,7 +4,7 @@
int dirfd(DIR * dir)
{
if (!dir || dir->dd_fd == -1) {
- errno = EBADF;
+ __set_errno(EBADF);
return -1;
}
diff --git a/libc/misc/dirent/opendir.c b/libc/misc/dirent/opendir.c
index 329515447..0ac1637b3 100644
--- a/libc/misc/dirent/opendir.c
+++ b/libc/misc/dirent/opendir.c
@@ -21,7 +21,7 @@ DIR *opendir(const char *name)
if (stat(name, &statbuf))
return NULL;
if (!S_ISDIR(statbuf.st_mode)) {
- errno = ENOTDIR;
+ __set_errno(ENOTDIR);
return NULL;
}
if ((fd = open(name, O_RDONLY)) < 0)
@@ -33,7 +33,7 @@ DIR *opendir(const char *name)
return NULL;
if (!(ptr = malloc(sizeof(*ptr)))) {
close(fd);
- errno = ENOMEM;
+ __set_errno(ENOMEM);
return NULL;
}
@@ -44,7 +44,7 @@ DIR *opendir(const char *name)
if (!(buf = malloc(ptr->dd_max))) {
close(fd);
free(ptr);
- errno = ENOMEM;
+ __set_errno(ENOMEM);
return NULL;
}
ptr->dd_fd = fd;
diff --git a/libc/misc/dirent/readdir.c b/libc/misc/dirent/readdir.c
index a755ed24d..0bb03f4c2 100644
--- a/libc/misc/dirent/readdir.c
+++ b/libc/misc/dirent/readdir.c
@@ -14,7 +14,7 @@ struct dirent *readdir(DIR * dir)
struct dirent *de;
if (!dir) {
- errno = EBADF;
+ __set_errno(EBADF);
return NULL;
}
@@ -37,7 +37,7 @@ struct dirent *readdir(DIR * dir)
dir->dd_getdents = no_getdents;
abort();
}
- errno = result;
+ __set_errno(result);
}
return NULL;
@@ -63,7 +63,7 @@ struct dirent *readdir(DIR * dir)
if (strlen((char *) &de->d_type) > 10)
de->d_name[10] = 0;
strcpy(dir->dd_buf->d_name, (char *) &de->d_name);
- errno = 0;
+ __set_errno(0);
return dir->dd_buf;
}
diff --git a/libc/misc/dirent/rewinddir.c b/libc/misc/dirent/rewinddir.c
index 9d147fca2..2fff9101c 100644
--- a/libc/misc/dirent/rewinddir.c
+++ b/libc/misc/dirent/rewinddir.c
@@ -7,7 +7,7 @@
void rewinddir(DIR * dir)
{
if (!dir) {
- errno = EBADF;
+ __set_errno(EBADF);
return;
}
lseek(dir->dd_fd, 0, SEEK_SET);
diff --git a/libc/misc/dirent/seekdir.c b/libc/misc/dirent/seekdir.c
index 7e4f24f72..3ff9f5da9 100644
--- a/libc/misc/dirent/seekdir.c
+++ b/libc/misc/dirent/seekdir.c
@@ -6,7 +6,7 @@
void seekdir(DIR * dir, off_t offset)
{
if (!dir) {
- errno = EBADF;
+ __set_errno(EBADF);
return;
}
dir->dd_nextoff = lseek(dir->dd_fd, offset, SEEK_SET);
diff --git a/libc/misc/dirent/telldir.c b/libc/misc/dirent/telldir.c
index 33e163aba..872cddbf1 100644
--- a/libc/misc/dirent/telldir.c
+++ b/libc/misc/dirent/telldir.c
@@ -8,7 +8,7 @@ off_t telldir(DIR * dir)
off_t offset;
if (!dir) {
- errno = EBADF;
+ __set_errno(EBADF);
return -1;
}
@@ -27,7 +27,7 @@ off_t telldir(DIR * dir)
break;
default:
- errno = EBADF;
+ __set_errno(EBADF);
offset = -1;
}
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
index 23ca473ee..26c028015 100644
--- a/libc/misc/internals/__uClibc_main.c
+++ b/libc/misc/internals/__uClibc_main.c
@@ -64,7 +64,7 @@ void __uClibc_main(int argc, char **argv, char **envp)
* have resulted in errno being set nonzero, so set it to 0 before
* we call main.
*/
- errno = 0;
+ __set_errno(0);
/*
* Finally, invoke application's main and then exit.
diff --git a/libc/misc/lock/flock.c b/libc/misc/lock/flock.c
index 3c1264655..80d15dfd4 100644
--- a/libc/misc/lock/flock.c
+++ b/libc/misc/lock/flock.c
@@ -42,7 +42,7 @@ int flock( int fd, int operation)
lbuf.l_type = F_UNLCK;
break;
default:
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/misc/regex/regex.c b/libc/misc/regex/regex.c
index 64e754ee0..19e3e0cbb 100644
--- a/libc/misc/regex/regex.c
+++ b/libc/misc/regex/regex.c
@@ -19,6 +19,9 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/* To exclude some unwanted junk.... */
+#undef _LIBC
+
/* AIX requires this to be the first thing in the file. */
#if defined _AIX && !defined REGEX_MALLOC
#pragma alloca
diff --git a/libc/misc/syslog/syslog.c b/libc/misc/syslog/syslog.c
index 53a00f86d..b3c53ff7d 100644
--- a/libc/misc/syslog/syslog.c
+++ b/libc/misc/syslog/syslog.c
@@ -224,7 +224,7 @@ vsyslog( int pri, const char *fmt, va_list ap )
*/
end = tbuf + sizeof(tbuf) - 1;
- errno = saved_errno;
+ __set_errno(saved_errno);
p += vsnprintf(p, end - p, fmt, ap);
if (p >= end || p < head_end) { /* Returned -1 in case of error... */
static char truncate_msg[12] = "[truncated] ";
diff --git a/libc/misc/time/adjtime.c b/libc/misc/time/adjtime.c
index 12c1a2a40..2a9190e9b 100644
--- a/libc/misc/time/adjtime.c
+++ b/libc/misc/time/adjtime.c
@@ -24,7 +24,7 @@ adjtime(const struct timeval * itv, struct timeval * otv)
tmp.tv_usec = itv->tv_usec % 1000000L;
if (tmp.tv_sec > MAX_SEC || tmp.tv_sec < MIN_SEC)
{
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
tntx.offset = tmp.tv_usec + tmp.tv_sec * 1000000L;
diff --git a/libc/pwd_grp/fgetgrent.c b/libc/pwd_grp/fgetgrent.c
index 09701a38b..50aa01722 100644
--- a/libc/pwd_grp/fgetgrent.c
+++ b/libc/pwd_grp/fgetgrent.c
@@ -25,7 +25,7 @@
struct group *fgetgrent(FILE * file)
{
if (file == NULL) {
- errno = EINTR;
+ __set_errno(EINTR);
return NULL;
}
diff --git a/libc/pwd_grp/fgetpwent.c b/libc/pwd_grp/fgetpwent.c
index 74c59427c..aab1ec744 100644
--- a/libc/pwd_grp/fgetpwent.c
+++ b/libc/pwd_grp/fgetpwent.c
@@ -32,7 +32,7 @@ int fgetpwent_r (FILE *file, struct passwd *password,
char *buff, size_t buflen, struct passwd **crap)
{
if (file == NULL) {
- errno = EINTR;
+ __set_errno(EINTR);
return -1;
}
return(__getpwent_r(password, buff, buflen, fileno(file)));
diff --git a/libc/pwd_grp/getgrnam.c b/libc/pwd_grp/getgrnam.c
index 999404284..6f2634cee 100644
--- a/libc/pwd_grp/getgrnam.c
+++ b/libc/pwd_grp/getgrnam.c
@@ -30,7 +30,7 @@ struct group *getgrnam(const char *name)
struct group *group;
if (name == NULL) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return NULL;
}
diff --git a/libc/pwd_grp/getpw.c b/libc/pwd_grp/getpw.c
index f0663c917..83f6fe973 100644
--- a/libc/pwd_grp/getpw.c
+++ b/libc/pwd_grp/getpw.c
@@ -28,7 +28,7 @@ int getpw(uid_t uid, char *buf)
struct passwd *passwd;
if (buf == NULL) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
if ((passwd = getpwuid(uid)) == NULL)
@@ -38,7 +38,7 @@ int getpw(uid_t uid, char *buf)
(buf, "%s:%s:%u:%u:%s:%s:%s", passwd->pw_name, passwd->pw_passwd,
passwd->pw_gid, passwd->pw_uid, passwd->pw_gecos, passwd->pw_dir,
passwd->pw_shell) < 0) {
- errno = ENOBUFS;
+ __set_errno(ENOBUFS);
return -1;
}
diff --git a/libc/pwd_grp/getpwnam.c b/libc/pwd_grp/getpwnam.c
index 399e24ddc..5cb4f64f8 100644
--- a/libc/pwd_grp/getpwnam.c
+++ b/libc/pwd_grp/getpwnam.c
@@ -38,7 +38,7 @@ int getpwnam_r (const char *name, struct passwd *password,
int passwd_fd;
if (name == NULL) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/pwd_grp/putpwent.c b/libc/pwd_grp/putpwent.c
index da8e13d67..014cefa86 100644
--- a/libc/pwd_grp/putpwent.c
+++ b/libc/pwd_grp/putpwent.c
@@ -25,7 +25,7 @@
int putpwent(const struct passwd *passwd, FILE * f)
{
if (passwd == NULL || f == NULL) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
if (fprintf
diff --git a/libc/signal/sigaddset.c b/libc/signal/sigaddset.c
index ec1c96e9b..269f7d367 100644
--- a/libc/signal/sigaddset.c
+++ b/libc/signal/sigaddset.c
@@ -25,7 +25,7 @@
int sigaddset ( sigset_t *set, int signo)
{
if (set == NULL || signo <= 0 || signo >= NSIG) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/signal/sigdelset.c b/libc/signal/sigdelset.c
index daa545624..958f1d44a 100644
--- a/libc/signal/sigdelset.c
+++ b/libc/signal/sigdelset.c
@@ -23,7 +23,7 @@
int sigdelset ( sigset_t *set, int signo)
{
if (set == NULL || signo <= 0 || signo >= NSIG) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/signal/sigemptyset.c b/libc/signal/sigemptyset.c
index c38cb0e5a..19d8dabdf 100644
--- a/libc/signal/sigemptyset.c
+++ b/libc/signal/sigemptyset.c
@@ -25,7 +25,7 @@ int
sigemptyset ( sigset_t *set)
{
if (set == NULL) {
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/signal/sigfillset.c b/libc/signal/sigfillset.c
index 1d67f1dc5..c3ebcce4b 100644
--- a/libc/signal/sigfillset.c
+++ b/libc/signal/sigfillset.c
@@ -27,7 +27,7 @@ sigfillset (set)
{
if (set == NULL)
{
- errno = EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/signal/sigismem.c b/libc/signal/sigismem.c
index 3e9b67c6c..64b14f37e 100644
--- a/libc/signal/sigismem.c
+++ b/libc/signal/sigismem.c
@@ -25,7 +25,7 @@
int sigismember ( const sigset_t *set, int signo)
{
if (set == NULL || signo <= 0 || signo >= NSIG) {
- errno=EINVAL;
+ __set_errno(EINVAL);
return -1;
}
diff --git a/libc/stdio/getdelim.c b/libc/stdio/getdelim.c
index 6f9ebb4fb..9181f9aa0 100644
--- a/libc/stdio/getdelim.c
+++ b/libc/stdio/getdelim.c
@@ -43,14 +43,14 @@ ssize_t getdelim(char **linebuf, size_t *linebufsz, int delimiter, FILE *file)
if ((file == NULL || linebuf==NULL || *linebuf == NULL || *linebufsz == 0)
&& !(*linebuf == NULL && *linebufsz ==0 )) {
- errno=EINVAL;
+ __set_errno(EINVAL);
return -1;
}
if (*linebuf == NULL && *linebufsz == 0){
*linebuf = malloc(GROWBY);
if (!*linebuf) {
- errno=ENOMEM;
+ __set_errno(ENOMEM);
return -1;
}
*linebufsz += GROWBY;
@@ -64,7 +64,7 @@ ssize_t getdelim(char **linebuf, size_t *linebufsz, int delimiter, FILE *file)
while (idx > *linebufsz-2) {
*linebuf = realloc(*linebuf, *linebufsz += GROWBY);
if (!*linebuf) {
- errno=ENOMEM;
+ __set_errno(ENOMEM);
return -1;
}
}
diff --git a/libc/stdio/popen.c b/libc/stdio/popen.c
index bc91bb73b..0a91f0e22 100644
--- a/libc/stdio/popen.c
+++ b/libc/stdio/popen.c
@@ -21,7 +21,7 @@ FILE *popen (const char *command, const char *mode)
reading = (mode[0] == 'r');
if ((!reading && (mode[0] != 'w')) || mode[1]) {
- errno = EINVAL; /* Invalid mode arg. */
+ __set_errno(EINVAL); /* Invalid mode arg. */
} else if (pipe(pipe_fd) == 0) {
pr = pipe_fd[reading];
pnr = pipe_fd[1-reading];
diff --git a/libc/stdio/remove.c b/libc/stdio/remove.c
index 115b871bb..af256e4aa 100644
--- a/libc/stdio/remove.c
+++ b/libc/stdio/remove.c
@@ -17,7 +17,7 @@ __const char *src;
if (rv < 0 && errno == EISDIR)
rv = rmdir(src);
if (rv >= 0)
- errno = er;
+ __set_errno(er);
return rv;
}
diff --git a/libc/stdio/stdio.c b/libc/stdio/stdio.c
index fe1c6a073..954318d39 100644
--- a/libc/stdio/stdio.c
+++ b/libc/stdio/stdio.c
@@ -279,7 +279,7 @@ int fflush(FILE *fp)
* ANSI says behavior in this case is undefined but also says you