diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-09-29 16:45:44 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-09-29 16:45:44 +0000 |
commit | 3107c0c5ae2c0dc2854471cb028e8a37a5e59e51 (patch) | |
tree | f21aa4585bc849d943a0211b34b6aed61d00376f /sysdeps | |
parent | 062a2a18f425f8b6c667b7239afeed2dd80d5e45 (diff) | |
download | glibc-3107c0c5ae2c0dc2854471cb028e8a37a5e59e51.zip glibc-3107c0c5ae2c0dc2854471cb028e8a37a5e59e51.tar.gz glibc-3107c0c5ae2c0dc2854471cb028e8a37a5e59e51.tar.bz2 |
Update.
2000-09-29 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.S (__ia64_syscall): Cleanup.
* sysdeps/unix/sysv/linux/ia64/sysdep.h (CALL_MCOUNT): Implement.
2000-06-10 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Fix it so it actually
works: call to __sigjmp_save must be done unconditionally to
ensure jmp_buf is initialized properly.
2000-09-27 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Synch with Linux
2.4.0-test9-pre7.
2000-09-29 Jakub Jelinek <jakub@redhat.com>
* nscd/nscd-client.h (NSCD_VERSION): Bump to 3.
Use int32_t where appropriate.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Use uint32_t instead of size_t
where appropriate.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
* nscd/hstcache.c (cache_addhst): Likewise.
* nscd/grpcache.c (cache_addgr): Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/bits/fcntl.h | 22 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/setjmp.S | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sysdep.S | 17 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sysdep.h | 24 |
4 files changed, 49 insertions, 19 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h index ba15580..407ae76 100644 --- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h @@ -88,6 +88,12 @@ # define F_GETSIG 11 /* Get number of signal to be sent. */ #endif +#ifdef __USE_GNU +# define F_SETLEASE 1024 /* Set a lease. */ +# define F_GETLEASE 1025 /* Enquire what lease is active. */ +# define F_NOTIFY 1026 /* Request notfications on a directory. */ +#endif + /* For F_[GET|SET]FL. */ #define FD_CLOEXEC 1 /* actually anything with low bit set goes */ @@ -109,6 +115,22 @@ # define LOCK_UN 8 /* remove lock */ #endif +#ifdef __USE_GNU +# define LOCK_MAND 32 /* This is a mandatory flock: */ +# define LOCK_READ 64 /* ... which allows concurrent read operations. */ +# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */ +# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */ +#endif + +/* Types of directory notifications that may be requested with F_NOTIFY. */ +#define DN_ACCESS 0x00000001 /* File accessed. */ +#define DN_MODIFY 0x00000002 /* File modified. */ +#define DN_CREATE 0x00000004 /* File created. */ +#define DN_DELETE 0x00000008 /* File removed. */ +#define DN_RENAME 0x00000010 /* File renamed. */ +#define DN_ATTRIB 0x00000020 /* File changed attibutes. */ +#define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */ + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/sysdeps/unix/sysv/linux/ia64/setjmp.S b/sysdeps/unix/sysv/linux/ia64/setjmp.S index e5bf667..05f47bc 100644 --- a/sysdeps/unix/sysv/linux/ia64/setjmp.S +++ b/sysdeps/unix/sysv/linux/ia64/setjmp.S @@ -152,15 +152,14 @@ __sigsetjmp: st8.spill.nta [r2]=r6,16 // r6 st8.spill.nta [r3]=r7,16 // r7 - cmp.ne p8,p0=0,in1 ;; mov r23=ar.bsp mov r25=ar.unat mov out0=in0 - mov out1=in1 st8.nta [r2]=loc1,16 // b0 st8.nta [r3]=r17,16 // b1 + mov out1=in1 ;; st8.nta [r2]=r18,16 // b2 st8.nta [r3]=r19,16 // b3 @@ -176,7 +175,7 @@ __sigsetjmp: ;; st8.nta [r2]=r25 // ar.unat st8.nta [r3]=in0 // &__jmp_buf -(p8) br.call.dpnt.few rp=__sigjmp_save + br.call.dpnt.few rp=__sigjmp_save .ret0: // force a new bundle ::q mov r8=0 mov rp=loc1 diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.S b/sysdeps/unix/sysv/linux/ia64/sysdep.S index dcf9803..e327e1f 100644 --- a/sysdeps/unix/sysv/linux/ia64/sysdep.S +++ b/sysdeps/unix/sysv/linux/ia64/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000 Hewlett-Packard Co. +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. Contributed by David Mosberger-Tang <davidm@hpl.hp.com>. The GNU C Library is free software; you can redistribute it and/or @@ -74,11 +74,10 @@ __syscall_error: .endp __syscall_error - .global __ia64_syscall - .proc __ia64_syscall -__ia64_syscall: - break __BREAK_SYSCALL - cmp.eq p6,p0=-1,r10 -(p6) br.cond.spnt.few __syscall_error - ret - .endp __ia64_syscall +ENTRY(__ia64_syscall) + mov r15=r37 /* syscall number */ + break __BREAK_SYSCALL + cmp.eq p6,p0=-1,r10 /* r10 = -1 on error */ +(p6) br.cond.spnt.few __syscall_error + ret +PSEUDO_END(__ia64_syscall) diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.h b/sysdeps/unix/sysv/linux/ia64/sysdep.h index bb4ab29..5f7f3fe 100644 --- a/sysdeps/unix/sysv/linux/ia64/sysdep.h +++ b/sysdeps/unix/sysv/linux/ia64/sysdep.h @@ -34,6 +34,23 @@ #ifdef __ASSEMBLER__ +#undef CALL_MCOUNT +#ifdef PROF +# define CALL_MCOUNT \ + .data; \ +1: data8 0; \ + .previous; \ + alloc out0 = ar.pfs, 8, 0, 4, 0; \ + mov out1 = gp; \ + mov out2 = rp; \ + ;; \ + addl out3 = @ltoff(1b), gp; \ + br.call.sptk.many rp = _mcount \ + ;; +#else +# define CALL_MCOUNT /* Do nothing. */ +#endif + /* Linux uses a negative return value to indicate syscall errors, unlike most Unices, which use the condition codes' carry flag. @@ -48,13 +65,6 @@ table when we define it here. */ #define SYSCALL_ERROR_LABEL __syscall_error -#ifdef PROF -#error "define CALL_MCOUNT" -#else -#define CALL_MCOUNT -#endif - - #undef PSEUDO #define PSEUDO(name, syscall_name, args) \ ENTRY(name) \ |