Sat Jul 22 01:56:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
commit439d1d4560aa3e261c065c43e3995779809b4cb2
authorRoland McGrath <roland@gnu.org>
Sat, 22 Jul 1995 10:48:43 +0000 (22 10:48 +0000)
committerRoland McGrath <roland@gnu.org>
Sat, 22 Jul 1995 10:48:43 +0000 (22 10:48 +0000)
tree82be4196b9f9a0567b4210d818cacc53780b3030
parent0bf9d0eb2bc40ee304e8ff0315112cde711fa1b2
Sat Jul 22 01:56:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

* sysdeps/unix/i386/sysdep.h (JUMPTARGET): New macro; use name@PLT
  #ifdef PIC.
(PSEUDO): Use JUMPTARGET(syscall_error) in jump insn.
* sysdeps/unix/i386/syscall.S: Use JUMPTARGET(syscall_error) in
  jump insn.

* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.h: Rewritten.
* sysdeps/unix/sysv/sysv4/linux/i386/syscall.S: New file.
* sysdeps/unix/sysv/sysv4/linux/i386/socket.S: Include
  <sys/socketcall.h>.  Save %ebx in call-clobbered %edx instead of
  stack.  Use JUMPTARGET(syscall_error) in jump insn.

* Makeconfig (+gccwarn): Add -Wbad-function-cast -Wconversion.

* sysdeps/unix/i386/sysdep.h (ENTRY): Use ASM_GLOBAL_DIRECTIVE and
  ASM_TYPE_DIRECTIVE.
(ASM_TYPE_DIRECTIVE): New macro; defined using `.type' #ifdef ELF.

* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error):
Rewritten, #include'ing unix/i386/sysdep.S for most of the code.
* sysdeps/unix/i386/sysdep.S [PIC]: Store into `errno' through the GOT.

Fixes to help Linux, inspired by drepper's work:
* configure.in (os=linux*): Use unix/sysv/sysv4 for $base_os,
  instead of unix/sysv.
* sysdeps/posix/utimes.c: New file.
* sysdeps/generic/getdomain.c: New file.
* sysdeps/i386/init-first.c: Removed gratuitous #include <hurd.h>.
* sysdeps/generic/dl-sysdep.c: Include <unistd.h> and declare
  externals _dl_argc, _dl_argc, and _environ.
* sysdeps/unix/sysv/linux/{accept,connect,getsockname,rename,
socketpair,waitpid,bind,getpeername,listen,setsid,wait4}.S: Moved
to new directory sysdeps/unix/sysv/sysv4/linux.
* sysdeps/unix/sysv/linux: Directory removed.
* sysdeps/unix/sysv/i386/linux/{socket.S,sysdep.h,sysdep.S}: Moved
to new directory sysdeps/unix/sysv/sysv4/linux/i386.
* sysdeps/unix/sysv/linux/i386: Directory removed.
28 files changed:
ChangeLog
Makeconfig
configure.in
sysdeps/generic/dl-sysdep.c
sysdeps/generic/getdomain.c [copied from sysdeps/unix/sysv/i386/linux/wait.S with 56% similarity]
sysdeps/posix/utimes.c [copied from sysdeps/unix/sysv/i386/linux/wait.S with 58% similarity]
sysdeps/unix/i386/syscall.S
sysdeps/unix/i386/sysdep.S
sysdeps/unix/i386/sysdep.h
sysdeps/unix/sysv/i386/linux/sysdep.S [deleted file]
sysdeps/unix/sysv/i386/linux/sysdep.h [deleted file]
sysdeps/unix/sysv/linux/Implies [deleted file]
sysdeps/unix/sysv/linux/syscall.h [deleted file]
sysdeps/unix/sysv/sysv4/linux/accept.S [moved from sysdeps/unix/sysv/linux/accept.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/bind.S [moved from sysdeps/unix/sysv/linux/bind.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/connect.S [moved from sysdeps/unix/sysv/linux/connect.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/getpeername.S [moved from sysdeps/unix/sysv/linux/getpeername.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/getsockname.S [moved from sysdeps/unix/sysv/linux/getsockname.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/i386/socket.S [moved from sysdeps/unix/sysv/i386/linux/socket.S with 83% similarity]
sysdeps/unix/sysv/sysv4/linux/i386/syscall.S [moved from sysdeps/unix/sysv/i386/linux/wait.S with 63% similarity]
sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S [moved from sysdeps/unix/sysv/linux/getpgrp.S with 68% similarity]
sysdeps/unix/sysv/sysv4/linux/i386/sysdep.h [new file with mode: 0644]
sysdeps/unix/sysv/sysv4/linux/listen.S [moved from sysdeps/unix/sysv/linux/listen.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/rename.S [moved from sysdeps/unix/sysv/linux/rename.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/setsid.S [moved from sysdeps/unix/sysv/linux/setsid.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/socketpair.S [moved from sysdeps/unix/sysv/linux/socketpair.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/wait4.S [moved from sysdeps/unix/sysv/linux/wait4.S with 100% similarity]
sysdeps/unix/sysv/sysv4/linux/waitpid.S [moved from sysdeps/unix/sysv/linux/waitpid.S with 100% similarity]