summaryrefslogtreecommitdiff
path: root/ports/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2010-08-19 20:32:31 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2010-08-19 20:32:31 +0000
commit096e9b4c79c701a316691af323848344be3e9800 (patch)
treebf1952d85658602b6ecdd6c24419192d6e9696d5 /ports/sysdeps/unix/sysv
parentd630be5a2a0c9627406472140d9aa289dd8c0027 (diff)
downloadeglibc2-096e9b4c79c701a316691af323848344be3e9800.tar.gz
Merge changes between r11185 and r11304 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@11305 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'ports/sysdeps/unix/sysv')
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c6
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h4
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/syscalls.list2
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/sysdep.h5
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/syscalls.list2
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/bits/resource.h30
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/bits/statfs.h8
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/bits/termios.h5
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/kernel-features.h6
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list3
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list2
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list3
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h4
13 files changed, 69 insertions, 11 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
index 5c913f51a..03e1511dc 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
@@ -47,12 +47,12 @@
#if !defined PROCINFO_DECL && defined SHARED
._dl_arm_cap_flags
#else
-PROCINFO_CLASS const char _dl_arm_cap_flags[10][10]
+PROCINFO_CLASS const char _dl_arm_cap_flags[15][10]
#endif
#ifndef PROCINFO_DECL
= {
- "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp",
- "java", "iwmmxt",
+ "swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp",
+ "java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16",
}
#endif
#if !defined SHARED || defined PROCINFO_DECL
diff --git a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
index 0c675c60d..d3fc38557 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
@@ -24,7 +24,7 @@
#include <ldsodefs.h>
#include <sysdep.h>
-#define _DL_HWCAP_COUNT 10
+#define _DL_HWCAP_COUNT 15
/* The kernel provides platform data but it is not interesting. */
#define _DL_HWCAP_PLATFORM 0
@@ -54,7 +54,7 @@ _dl_hwcap_string (int idx)
return GLRO(dl_arm_cap_flags)[idx];
};
-#define HWCAP_IMPORTANT (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT)
+#define HWCAP_IMPORTANT (HWCAP_ARM_VFP | HWCAP_ARM_NEON)
static inline int
__attribute__ ((unused))
diff --git a/ports/sysdeps/unix/sysv/linux/arm/syscalls.list b/ports/sysdeps/unix/sysv/linux/arm/syscalls.list
index 1db0030b5..cc75737c2 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/syscalls.list
+++ b/ports/sysdeps/unix/sysv/linux/arm/syscalls.list
@@ -3,3 +3,5 @@
syscall - syscall 7 syscall
oldgetrlimit EXTRA getrlimit i:ip __old_getrlimit getrlimit@GLIBC_2.0
oldsetrlimit EXTRA setrlimit i:ip __old_setrlimit setrlimit@GLIBC_2.0
+
+prlimit64 EXTRA prlimit64 i:iipp prlimit64
diff --git a/ports/sysdeps/unix/sysv/linux/arm/sysdep.h b/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
index bd5b2ce3e..e647d42ea 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -55,6 +55,11 @@
#define HWCAP_ARM_EDSP 128
#define HWCAP_ARM_JAVA 256
#define HWCAP_ARM_IWMMXT 512
+#define HWCAP_ARM_CRUNCH 1024
+#define HWCAP_ARM_THUMBEE 2048
+#define HWCAP_ARM_NEON 4096
+#define HWCAP_ARM_VFPv3 8192
+#define HWCAP_ARM_VFPv3D16 16384
#ifdef __ASSEMBLER__
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/syscalls.list b/ports/sysdeps/unix/sysv/linux/m68k/syscalls.list
index 5367ef0d0..3a1b7dbf8 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/syscalls.list
+++ b/ports/sysdeps/unix/sysv/linux/m68k/syscalls.list
@@ -1,3 +1,5 @@
# File name Caller Syscall name Args Strong name Weak names
cacheflush EXTRA cacheflush i:iiii __cacheflush cacheflush
+prlimit64 EXTRA prlimit64 i:iipp prlimit64
+fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark
diff --git a/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h b/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h
index 39d17d74f..a6454c484 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h
@@ -1,6 +1,6 @@
/* Bit values & structures for resource limits. Linux/MIPS version.
Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005, 2006, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -240,3 +240,31 @@ enum __priority_which
PRIO_USER = 2 /* WHO is a user ID. */
#define PRIO_USER PRIO_USER
};
+
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Modify and return resource limits of a process atomically. */
+# ifndef __USE_FILE_OFFSET64
+extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
+ __const struct rlimit *__new_limit,
+ struct rlimit *__old_limit) __THROW;
+# else
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
+ enum __rlimit_resource __resource,
+ __const struct rlimit *__new_limit,
+ struct rlimit *__old_limit), prlimit64);
+# else
+# define prlimit prlimit64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
+ __const struct rlimit64 *__new_limit,
+ struct rlimit64 *__old_limit) __THROW;
+# endif
+#endif
+
+__END_DECLS
diff --git a/ports/sysdeps/unix/sysv/linux/mips/bits/statfs.h b/ports/sysdeps/unix/sysv/linux/mips/bits/statfs.h
index 2f9bd54ed..22a9ddead 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/bits/statfs.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/bits/statfs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2000, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -45,7 +45,8 @@ struct statfs
/* Linux specials */
__fsid_t f_fsid;
long int f_namelen;
- long int f_spare[6];
+ long int f_flags;
+ long int f_spare[5];
};
#ifdef __USE_LARGEFILE64
@@ -64,7 +65,8 @@ struct statfs64
/* Linux specials */
__fsid_t f_fsid;
long int f_namelen;
- long int f_spare[6];
+ long int f_flags;
+ long int f_spare[5];
};
#endif
diff --git a/ports/sysdeps/unix/sysv/linux/mips/bits/termios.h b/ports/sysdeps/unix/sysv/linux/mips/bits/termios.h
index 4ff6e37ad..7a90f99ac 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/bits/termios.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/bits/termios.h
@@ -1,5 +1,5 @@
/* termios type and macro definitions. Linux/MIPS version.
- Copyright (C) 1993, 94, 95, 96, 97, 99 Free Software Foundation, Inc.
+ Copyright (C) 1993, 94, 95, 96, 97, 99, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -194,6 +194,9 @@ struct termios
#endif
#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
#define ITOSTOP TOSTOP
+#ifdef __USE_BSD
+# define EXTPROC 0200000
+#endif
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
diff --git a/ports/sysdeps/unix/sysv/linux/mips/kernel-features.h b/ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
index 6fe9b0883..092c35d9f 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
@@ -38,3 +38,9 @@
#endif
#include_next <kernel-features.h>
+
+/* The n32 syscall ABI did not have a getdents64 syscall until
+ 2.6.35. */
+#if _MIPS_SIM == _ABIN32 && __LINUX_KERNEL_VERSION < 0x020623
+# undef __ASSUME_GETDENTS64_SYSCALL
+#endif
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list b/ports/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list
new file mode 100644
index 000000000..dbeb184d7
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list
@@ -0,0 +1,3 @@
+# File name Caller Syscall name # args Strong name Weak names
+
+prlimit64 EXTRA prlimit64 i:iipp prlimit64
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
index 5ade6f007..7a6a77779 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
@@ -4,3 +4,5 @@ readahead - readahead i:iii __readahead readahead
sync_file_range - sync_file_range i:iiii sync_file_range
ftruncate - ftruncate i:ii __ftruncate ftruncate ftruncate64 __ftruncate64
truncate - truncate i:si truncate truncate64
+
+prlimit64 EXTRA prlimit64 i:iipp prlimit64
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
new file mode 100644
index 000000000..a7bccdd37
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
@@ -0,0 +1,3 @@
+# File name Caller Syscall name # args Strong name Weak names
+
+prlimit EXTRA prlimit64 i:iipp prlimit prlimit64
diff --git a/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h b/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h
index 49f39470e..d1d050921 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -72,6 +72,8 @@ struct inotify_event
#define IN_ONLYDIR 0x01000000 /* Only watch the path if it is a
directory. */
#define IN_DONT_FOLLOW 0x02000000 /* Do not follow a sym link. */
+#define IN_EXCL_UNLINK 0x04000000 /* Exclude events on unlinked
+ objects. */
#define IN_MASK_ADD 0x20000000 /* Add to the mask of an already
existing watch. */
#define IN_ISDIR 0x40000000 /* Event occurred against dir. */