about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/xstatconv.c2
-rw-r--r--sysdeps/unix/sysv/linux/bits/errno.h3
-rw-r--r--sysdeps/unix/sysv/linux/xstatconv.c2
5 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index cfe5202ba1..2896953cb7 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -38,6 +38,7 @@ sys/klog.h
 sys/module.h
 sys/mount.h
 sys/mtio.h
+sys/prctl.h
 sys/procfs.h
 sys/quota.h
 sys/socketvar.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 8db8094dc1..005278068a 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -13,7 +13,7 @@ sysdep_routines += sysctl clone llseek
 
 sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \
 		  sys/module.h sys/io.h sys/klog.h sys/kdaemon.h \
-		  sys/user.h sys/sysmacros.h sys/procfs.h \
+		  sys/user.h sys/sysmacros.h sys/procfs.h sys/prctl.h \
 		  sys/debugreg.h sys/kd.h sys/soundcard.h sys/vt.h \
 		  sys/quota.h sys/fsuid.h bits/mman.h \
 		  scsi/sg.h
diff --git a/sysdeps/unix/sysv/linux/alpha/xstatconv.c b/sysdeps/unix/sysv/linux/alpha/xstatconv.c
index d1005e7302..cb0269b8af 100644
--- a/sysdeps/unix/sysv/linux/alpha/xstatconv.c
+++ b/sysdeps/unix/sysv/linux/alpha/xstatconv.c
@@ -29,7 +29,7 @@ xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
       /* Nothing to do.  The struct is in the form the kernel expects.
 	 We should have short-circuted before we got here, but for
 	 completeness... */
-      memcpy ((struct kernel_stat *) ubuf, kbuf, sizeof (*kbuf));
+      *(struct kernel_stat *) ubuf = *kbuf;
       break;
 
     case _STAT_VER_GLIBC2:
diff --git a/sysdeps/unix/sysv/linux/bits/errno.h b/sysdeps/unix/sysv/linux/bits/errno.h
index f676d35e49..abcbd9b801 100644
--- a/sysdeps/unix/sysv/linux/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/bits/errno.h
@@ -50,10 +50,11 @@ __set_errno (int __err)
 # endif /* !__ASSEMBLER__ */
 #endif /* _ERRNO_H */
 
-#if !defined (_ERRNO_H) && defined (__need_Emath)
+#if !defined _ERRNO_H && defined __need_Emath
 /* This is ugly but the kernel header is not clean enough.  We must
    define only the values EDOM and ERANGE in case __need_Emath is
    defined.  The value is the same for all Linux ports.  */
 # define EDOM	33	/* Math argument out of domain of function.  */
+# define EILSEQ	84	/* Illegal byte sequence.  */
 # define ERANGE	34	/* Math result not representable.  */
 #endif /* !_ERRNO_H && __need_Emath */
diff --git a/sysdeps/unix/sysv/linux/xstatconv.c b/sysdeps/unix/sysv/linux/xstatconv.c
index 06a28cce30..fcf2f3b9f6 100644
--- a/sysdeps/unix/sysv/linux/xstatconv.c
+++ b/sysdeps/unix/sysv/linux/xstatconv.c
@@ -29,7 +29,7 @@ xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
       /* Nothing to do.  The struct is in the form the kernel expects.
          We should have short-circuted before we got here, but for
          completeness... */
-      memcpy ((struct kernel_stat *) ubuf, kbuf, sizeof (*kbuf));
+      *(struct kernel_stat *) ubuf = *kbuf;
       break;
 
     case _STAT_VER_LINUX: