aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/generic/bp-checks.h2
-rw-r--r--sysdeps/generic/bp-semctl.h4
-rw-r--r--sysdeps/unix/sysv/linux/shmat.c2
4 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b6075c6745..3b9deb208c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-07-27 Greg McGary <greg@mcgary.org>
+
+ * sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
+ * sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
+ in union init. Pass zero for ignored semnum arg to semctl.
+ * sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
+
2000-07-26 Greg McGary <greg@mcgary.org>
* sysdeps/gnu/bits/msq.h: Qualify kernel's
diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h
index 0da4657ae2..f7defa417c 100644
--- a/sysdeps/generic/bp-checks.h
+++ b/sysdeps/generic/bp-checks.h
@@ -92,7 +92,7 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
/* Return a bounded pointer with value PTR that satisfies CHECK_N (PTR, N). */
# define BOUNDED_N(PTR, N) \
- ({ __typeof (*(PTR)) *__bounded _p_; \
+ ({ __typeof (PTR) __bounded _p_; \
__ptrvalue _p_ = __ptrlow _p_ = __ptrvalue (PTR); \
__ptrhigh _p_ = __ptrvalue _p_ + (N); \
_p_; })
diff --git a/sysdeps/generic/bp-semctl.h b/sysdeps/generic/bp-semctl.h
index 86a6b27734..7ba8f43bfd 100644
--- a/sysdeps/generic/bp-semctl.h
+++ b/sysdeps/generic/bp-semctl.h
@@ -43,12 +43,12 @@ check_semctl (union semun *arg, int semid, int cmd)
case SETALL:
{
struct semid_ds ds;
- union semun un = { buf: &ds; };
+ union semun un = { buf: &ds };
unsigned int length = ~0;
/* It's unfortunate that we need to make a recursive
system call to get the size of the semaphore set... */
- if (semctl (semid, semnum, IPC_STAT | ipc64, un) == 0)
+ if (semctl (semid, 0, IPC_STAT | ipc64, un) == 0)
length = ds.sem_nsems;
(void) CHECK_N (arg->array, length);
break;
diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c
index 33dc016b14..dc5a848eaa 100644
--- a/sysdeps/unix/sysv/linux/shmat.c
+++ b/sysdeps/unix/sysv/linux/shmat.c
@@ -43,7 +43,7 @@ shmat (shmid, shmaddr, shmflg)
struct shmid_ds shmds;
/* It's unfortunate that we need to make another system call to get
the shared memory segment length... */
- if (shmctl (shmid, ICP_STAT, &shmds) == 0)
+ if (shmctl (shmid, IPC_STAT, &shmds) == 0)
length = shmds.shm_segsz;
#endif