aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-01-13 09:15:58 +0000
committerRichard Henderson <rth@redhat.com>2004-01-13 09:15:58 +0000
commit141749ca169d3a5f3a328d3cb91473e3af4256b1 (patch)
tree71d67ad08bbdd27d1e3c93665d0c9d03b337e919 /sysdeps/unix
parent1705f0a392f382bf3facda8d95cc7547ef708bf7 (diff)
downloadglibc-141749ca169d3a5f3a328d3cb91473e3af4256b1.tar
glibc-141749ca169d3a5f3a328d3cb91473e3af4256b1.tar.gz
glibc-141749ca169d3a5f3a328d3cb91473e3af4256b1.tar.bz2
glibc-141749ca169d3a5f3a328d3cb91473e3af4256b1.zip
* sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_xxx_8_int): Cast old up to uint64_t before back down to inner width. (__arch_compare_and_exchange_xxx_16_int): Likewise. (__arch_compare_and_exchange_xxx_32_int): Likewise. (__arch_compare_and_exchange_xxx_64_int): Likewise. (__arch_compare_and_exchange_val_8_int): Cast result to the type of the memory. (__arch_compare_and_exchange_val_16_int): Likewise. (__arch_compare_and_exchange_val_32_int): Likewise. (__arch_compare_and_exchange_val_64_int): Likewise. (atomic_compare_and_exchange_bool_acq): Use __atomic_bool_bysize. (atomic_compare_and_exchange_bool_rel): Likewise.
* sysdeps/unix/alpha/sysdep.h: Select inline_syscall_r0_asm based on HAVE___THREAD instead of USE_TLS. * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIMEX32): New. (__adjtimex_tv64): Use it. * sysdeps/unix/sysv/linux/alpha/semctl.c (__new_semctl): Cast to void* rather than directly to the compatibility structure type. * sysdeps/unix/sysv/linux/alpha/shmctl.c (__new_shmctl): Likewise. * sysdeps/unix/sysv/linux/alpha/sigaction.c (struct kernel_sigaction): Forward declare. * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_xxx_8_int): Cast old up to uint64_t before back down to inner width. (__arch_compare_and_exchange_xxx_16_int): Likewise. (__arch_compare_and_exchange_xxx_32_int): Likewise. (__arch_compare_and_exchange_xxx_64_int): Likewise. (__arch_compare_and_exchange_val_8_int): Cast result to the type of the memory. (__arch_compare_and_exchange_val_16_int): Likewise. (__arch_compare_and_exchange_val_32_int): Likewise. (__arch_compare_and_exchange_val_64_int): Likewise. (atomic_compare_and_exchange_bool_acq): Use __atomic_bool_bysize. (atomic_compare_and_exchange_bool_rel): Likewise. * sysdeps/unix/alpha/sysdep.h: Select inline_syscall_r0_asm based on HAVE___THREAD instead of USE_TLS. * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIMEX32): New. (__adjtimex_tv64): Use it. * sysdeps/unix/sysv/linux/alpha/semctl.c (__new_semctl): Cast to void* rather than directly to the compatibility structure type. * sysdeps/unix/sysv/linux/alpha/shmctl.c (__new_shmctl): Likewise. * sysdeps/unix/sysv/linux/alpha/sigaction.c (struct kernel_sigaction): Forward declare. 2004-01-13 Richard Henderson <rth@redhat.com> Paolo Bonzini <bonzini@gnu.org> Compare the node sets after all the other comparisons. the old thread-m.h header too.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/alpha/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/adjtime.c3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/semctl.c2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/shmctl.c2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigaction.c1
5 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h
index f12edef7a7..26cf918c1c 100644
--- a/sysdeps/unix/alpha/sysdep.h
+++ b/sysdeps/unix/alpha/sysdep.h
@@ -205,7 +205,7 @@ __LABEL(name) \
output. We don't do this unconditionally to allow compilation with
older compilers. */
-#ifdef USE_TLS
+#ifdef HAVE___THREAD
#define inline_syscall_r0_asm
#define inline_syscall_r0_out_constraint "=v"
#else
diff --git a/sysdeps/unix/sysv/linux/alpha/adjtime.c b/sysdeps/unix/sysv/linux/alpha/adjtime.c
index 69f63d4c32..e036896216 100644
--- a/sysdeps/unix/sysv/linux/alpha/adjtime.c
+++ b/sysdeps/unix/sysv/linux/alpha/adjtime.c
@@ -60,6 +60,7 @@ struct timex32 {
#define TIMEX timex32
#define ADJTIME __adjtime_tv32
#define ADJTIMEX(x) INLINE_SYSCALL (old_adjtimex, 1, x)
+#define ADJTIMEX32(x) INLINE_SYSCALL (old_adjtimex, 1, x)
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
#define LINKAGE
#else
@@ -180,7 +181,7 @@ __adjtimex_tv64 (struct timex *tx)
tx32.errcnt = tx->errcnt;
tx32.stbcnt = tx->stbcnt;
- ret = __adjtimex_tv32 (&tx32);
+ ret = ADJTIMEX32 (&tx32);
if (ret == 0)
{
tx->modes = tx32.modes;
diff --git a/sysdeps/unix/sysv/linux/alpha/semctl.c b/sysdeps/unix/sysv/linux/alpha/semctl.c
index 224baf399b..6925c3f058 100644
--- a/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ b/sysdeps/unix/sysv/linux/alpha/semctl.c
@@ -97,7 +97,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
__set_errno(save_errno);
buf = arg.buf;
- arg.buf = (struct semid_ds *)&old;
+ arg.buf = (void *)&old;
if (cmd == IPC_SET)
{
old.sem_perm.uid = buf->sem_perm.uid;
diff --git a/sysdeps/unix/sysv/linux/alpha/shmctl.c b/sysdeps/unix/sysv/linux/alpha/shmctl.c
index 7dec3a737c..4a9d9445ef 100644
--- a/sysdeps/unix/sysv/linux/alpha/shmctl.c
+++ b/sysdeps/unix/sysv/linux/alpha/shmctl.c
@@ -116,7 +116,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
}
else if (result != -1 && cmd == IPC_INFO)
{
- struct __old_shminfo *oldi = (struct __old_shminfo *)&old;
+ struct __old_shminfo *oldi = (void *)&old;
struct shminfo *i = (struct shminfo *)buf;
memset(i, 0, sizeof(*i));
diff --git a/sysdeps/unix/sysv/linux/alpha/sigaction.c b/sysdeps/unix/sysv/linux/alpha/sigaction.c
index 952ee40eee..21a2063c30 100644
--- a/sysdeps/unix/sysv/linux/alpha/sigaction.c
+++ b/sysdeps/unix/sysv/linux/alpha/sigaction.c
@@ -30,6 +30,7 @@
? __syscall_rt_sigaction(args) \
: INLINE_SYSCALL1(name, nr, args))
+struct kernel_sigaction;
extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
struct kernel_sigaction *__unbounded, size_t);