diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-04-02 17:42:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-04-02 17:42:53 +0000 |
commit | 63bda0c13abdc73893855c2b57e55eaea5835fc3 (patch) | |
tree | c014fde462e03702976efd1e9f26c760fc80bee6 /sysdeps/unix/sysv/linux/i386/i686/sysdep.h | |
parent | d0fc4041fec47665faff6ac1f51d71829f2dc30a (diff) | |
download | glibc-63bda0c13abdc73893855c2b57e55eaea5835fc3.zip glibc-63bda0c13abdc73893855c2b57e55eaea5835fc3.tar.gz glibc-63bda0c13abdc73893855c2b57e55eaea5835fc3.tar.bz2 |
Update.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* stdlib/isomac.c: Use -isystem instead of -I for system include
dir.
1998-03-30 08:05 H.J. Lu <hjl@gnu.org>
* resolv/res_comp.c (underscorechar): New.
(middlechar): Allow '_'.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* intl/explodename.c (stdlib.h): Include that file only if
STDC_HEADERS or _LIBC.
(string.h): Include that file only if HAVE_STRING_H or _LIBC.
Patch by Philippe De Muyter <phdm@macqel.be>.
1998-04-01 21:08 Zack Weinberg <zack@rabi.phys.columbia.edu>
* aclocal.m4 (AC_PROG_CC_LOCAL): Remove superfluous tests.
(AC_PROG_CHECK_VER): New macro.
* configure.in: Use AC_PROG_CHECK_VER to check versions of
gcc, gmake, msgfmt, makeinfo. Remove superfluous tests.
1998-04-02 15:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: New file.
* sysdeps/i386/i686/strtok.S: New file
* sysdeps/i386/i686/strtok_r.S: New file
1998-04-02 Mark Kettenis <kettenis@phys.uva.nl>
* posix/unistd.h: [__USE_FILE_OFFSET64] (lseek): Change return
type to __off64_t.
* libio/stdio.h [__USE_FILE_OFFSET64] (fseeko): Declare offset
parameter as __off64_t instead of __off_t.
(ftello): Make alias for ftello64 instead of ftello. Change
return type to __off64_t.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/string.h: Fix various typos.
Patch by Horst von Brand <vonbrand@sleipnir.valparaiso.cl>.
* sysdeps/unix/sysv/linux/getcwd.c: Use getcwd syscall in Linux 2.1.92.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/chown.c: Handle old kernels without
lchown syscall correctly. [PR libc/541].
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/i686/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/i686/sysdep.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/i686/sysdep.h b/sysdeps/unix/sysv/linux/i386/i686/sysdep.h new file mode 100644 index 0000000..001f3fc --- /dev/null +++ b/sysdeps/unix/sysv/linux/i386/i686/sysdep.h @@ -0,0 +1,71 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper, <drepper@cygnus.com>, 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _LINUX_I386_I686_SYSDEP_H +#define _LINUX_I386_I686_SYSDEP_H 1 + +/* There is some commonality. */ +#include <sysdeps/unix/sysv/linux/i386/sysdep.h> + +/* We define special versions of the error handler code to match the i686's + deep branch prediction mechanism. */ +#ifdef PIC +# undef SYSCALL_ERROR_HANDLER + +/* Store (- %eax) into errno through the GOT. */ +# ifdef _LIBC_REENTRANT +# define SYSCALL_ERROR_HANDLER \ + .type syscall_error,@function; \ +0:movl (%esp),%ebx; \ + ret; \ +syscall_error: \ + pushl %ebx; \ + call 0b; \ + addl $_GLOBAL_OFFSET_TABLE_, %ebx; \ + xorl %edx, %edx; \ + subl %eax, %edx; \ + pushl %edx; \ + call __errno_location@PLT; \ + popl %ecx; \ + popl %ebx; \ + movl %ecx, (%eax); \ + movl $-1, %eax; \ + jmp L(pseudo_end); \ + .size syscall_error,.-syscall_error; +/* A quick note: it is assumed that the call to `__errno_location' does + not modify the stack! */ +# else +# define SYSCALL_ERROR_HANDLER \ + .type syscall_error,@function; \ +0:movl (%esp),%ecx; \ + ret; \ +syscall_error: \ + call 0b; \ + addl $_GLOBAL_OFFSET_TABLE_, %ecx; \ + xorl %edx, %edx; \ + subl %eax, %edx; \ + movl errno@GOT(%ecx), %ecx; \ + movl %edx, (%ecx); \ + movl $-1, %eax; \ + jmp L(pseudo_end); \ + .size syscall_error,.-syscall_error; +# endif /* _LIBC_REENTRANT */ +#endif /* PIC */ + +#endif /* linux/i386/i686/sysdep.h */ |