diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-01-31 06:42:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-01-31 06:42:36 +0000 |
commit | 4d76a0ec18ca374bbb5a2cf15b80515e246a135b (patch) | |
tree | 59b0a92fc083ec7758b9bd6f4ec21c3f70c5f27d /sysdeps/unix/sysv/linux/sparc/sparc32 | |
parent | b6aa34eb721a209444df2c0694bb18f8f4a58e47 (diff) | |
download | glibc-4d76a0ec18ca374bbb5a2cf15b80515e246a135b.tar glibc-4d76a0ec18ca374bbb5a2cf15b80515e246a135b.tar.gz glibc-4d76a0ec18ca374bbb5a2cf15b80515e246a135b.tar.bz2 glibc-4d76a0ec18ca374bbb5a2cf15b80515e246a135b.zip |
Update.
2000-01-30 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (struct locale_collate_t): Change
type of plane_size and plane_cnt to uint32_t.
Reported by Jakub Jelinek.
2000-01-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
(SYSCALL_ERROR_HANDLER): Optimize.
(__SYSCALL_STRING, __SYSCALL_CLOBBERS): Define.
Include linux/sparc/sysdep.h.
Use a different guard define than linux/sparc/sysdep.h.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove
stubs for inlined syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
(SYSCALL_ERROR_HANDLER): Optimize.
(__SYSCALL_STRING, __SYSCALL_CLOBBERS): Define.
Include linux/sparc/sysdep.h.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Remove
stubs for inlined syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Use INLINE_SYSCALL.
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Remove.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: New file.
2000-01-29 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc32')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list | 51 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h | 50 |
2 files changed, 37 insertions, 64 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list index d08c1a9cac..c82ae16c1a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list @@ -25,54 +25,3 @@ rt_sigprocmask - rt_sigprocmask 4 __syscall_rt_sigprocmask rt_sigqueueinfo - rt_sigqueueinfo 3 __syscall_rt_sigqueueinfo rt_sigsuspend - rt_sigsuspend 2 __syscall_rt_sigsuspend rt_sigtimedwait - rt_sigtimedwait 4 __syscall_rt_sigtimedwait -s_execve execve execve 3 __syscall_execve -s_fstat64 fxstat64 fstat64 2 __syscall_fstat64 -s_ftruncate64 ftruncate64 ftruncate64 3 __syscall_ftruncate64 -s_getcwd getcwd getcwd 2 __syscall_getcwd -s_getdents getdents getdents 3 __syscall_getdents -s_getpriority getpriority getpriority 2 __syscall_getpriority -s_getresgid getresgid getresgid 3 __syscall_getresgid -s_getresuid getresuid getresuid 3 __syscall_getresuid -s_lstat64 lxstat64 lstat64 2 __syscall_lstat64 -s_mmap2 mmap64 mmap2 6 __syscall_mmap2 -s_poll poll poll 3 __syscall_poll -s_pread64 pread64 pread 5 __syscall_pread -s_ptrace ptrace ptrace 4 __syscall_ptrace -s_pwrite64 pwrite64 pwrite 5 __syscall_pwrite -s_reboot reboot reboot 3 __syscall_reboot -s_sigaction sigaction sigaction 3 __syscall_sigaction -s_sigpending sigpending sigpending 1 __syscall_sigpending -s_sigprocmask sigprocmask sigprocmask 3 __syscall_sigprocmask -s_sigsuspend sigsuspend sigsuspend 3 __syscall_sigsuspend -s_stat64 xstat64 stat64 2 __syscall_stat64 -s_sysctl sysctl _sysctl 1 __syscall__sysctl -s_truncate64 truncate64 truncate64 3 __syscall_truncate64 -s_ustat ustat ustat 2 __syscall_ustat -sys_fstat fxstat fstat 2 __syscall_fstat -sys_lstat lxstat lstat 2 __syscall_lstat -sys_mknod xmknod mknod 3 __syscall_mknod -sys_readv readv readv 3 __syscall_readv -sys_stat xstat stat 2 __syscall_stat -sys_writev writev writev 3 __syscall_writev -s_chown chown chown 3 __syscall_chown -s_chown32 chown chown32 3 __syscall_chown32 -s_fchown fchown fchown 3 __syscall_fchown -s_fchown32 fchown fchown32 3 __syscall_fchown32 -s_lchown lchown lchown 3 __syscall_lchown -s_lchown32 lchown lchown32 3 __syscall_lchown32 -s_getgid getgid getgid 0 __syscall_getgid -s_getgid32 getgid getgid32 0 __syscall_getgid32 -s_getuid getuid getuid 0 __syscall_getuid -s_getuid32 getuid getuid32 0 __syscall_getuid32 -s_getgroups32 getgroups getgroups32 2 __syscall_getgroups32 -s_setgroups32 setgroups setgroups32 2 __syscall_setgroups32 -s_setfsgid32 setfsgid setfsgid32 1 __syscall_setfsgid32 -s_setfsuid32 setfsuid setfsuid32 1 __syscall_setfsuid32 -s_setregid32 setregid setregid32 2 __syscall_setregid32 -s_setreuid32 setreuid setreuid32 2 __syscall_setreuid32 -s_getegid getegid getegid 0 __syscall_getegid -s_geteuid geteuid geteuid 0 __syscall_geteuid -s_getegid32 getegid getegid32 0 __syscall_getegid32 -s_geteuid32 geteuid geteuid32 0 __syscall_geteuid32 -s_setgid32 setgid setgid32 1 __syscall_setgid32 -s_setuid32 setuid setuid32 1 __syscall_setuid32 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h index 003c0483a8..ee235c2b43 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h @@ -17,8 +17,8 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef _LINUX_SPARC_SYSDEP_H -#define _LINUX_SPARC_SYSDEP_H 1 +#ifndef _LINUX_SPARC32_SYSDEP_H +#define _LINUX_SPARC32_SYSDEP_H 1 #include <sysdeps/unix/sparc/sysdep.h> @@ -56,20 +56,18 @@ .type C_SYMBOL_NAME(__errno_location),@function; \ save %sp,-96,%sp; \ call __errno_location; \ - nop; \ - st %i0,[%o0]; \ - restore; \ - retl; \ - mov -1,%o0; + nop; \ + st %i0,[%o0]; \ + jmpl %i7+8,%g0; \ + restore %g0,-1,%o0; #else #define SYSCALL_ERROR_HANDLER \ - save %sp,-96,%sp; \ - call __errno_location; \ + save %sp,-96,%sp; \ + call __errno_location; \ nop; \ - st %i0,[%o0]; \ - restore; \ - retl; \ - mov -1,%o0; + st %i0,[%o0]; \ + jmpl %i7+8,%g0; \ + restore %g0,-1,%o0; #endif /* PIC */ #define PSEUDO(name, syscall_name, args) \ @@ -82,6 +80,32 @@ SYSCALL_ERROR_HANDLER; \ 9000:; +#else /* __ASSEMBLER__ */ + +#define __SYSCALL_STRING \ + "ta 0x10;" \ + "bcs 2f;" \ + " nop;" \ + "1:" \ + ".subsection 2;" \ + "2:" \ + "save %%sp, -192, %%sp;" \ + "call __errno_location;" \ + " nop;" \ + "st %%i0,[%%o0];" \ + "ba 1b;" \ + " restore %%g0, -1, %%o0;" \ + ".previous;" + +#define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g7", \ + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ + "cc", "memory" + +#include <sysdeps/unix/sysv/linux/sparc/sysdep.h> + #endif /* __ASSEMBLER__ */ #endif /* linux/sparc/sysdep.h */ |