about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/i386/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/semctl.c8
3 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 5940f6d211..6b4c4a3475 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+1999-09-17  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/i386/Makefile (CFLAGS-initfini.s): Add also -mcpu=i386
+	to override user settings.
+
+1999-09-17  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/semctl.c: Copy the argument instead of
+	using a pointer to it.
+
 1999-09-16  Ulrich Drepper  <drepper@cygnus.com>
 
 	* time/getdate.c (__getdate_r): Pass correct year to check_mday.
diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
index 1d62d10d8a..3e1642232a 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -8,7 +8,7 @@ long-double-fcts = yes
 ifeq ($(subdir),csu)
 # On i686 we must avoid generating the trampoline functions generated
 # to get the GOT pointer.
-CFLAGS-initfini.s += -march=i386
+CFLAGS-initfini.s += -march=i386 -mcpu=i386
 endif
 
 ifeq ($(subdir),db2)
diff --git a/sysdeps/unix/sysv/linux/semctl.c b/sysdeps/unix/sysv/linux/semctl.c
index 4bc63bd71c..7a29d7c109 100644
--- a/sysdeps/unix/sysv/linux/semctl.c
+++ b/sysdeps/unix/sysv/linux/semctl.c
@@ -40,15 +40,15 @@ union semun
 int
 semctl (int semid, int semnum, int cmd, ...)
 {
-  union semun *arg;
+  union semun arg;
   va_list ap;
 
   va_start (ap, cmd);
 
-  /* Get a pointer the argument.  */
-  arg = &va_arg (ap, union semun);
+  /* Get the argument.  */
+  arg = va_arg (ap, union semun);
 
   va_end (ap);
 
-  return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, arg);
+  return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, &arg);
 }