From 096e9b4c79c701a316691af323848344be3e9800 Mon Sep 17 00:00:00 2001 From: joseph Date: Thu, 19 Aug 2010 20:32:31 +0000 Subject: Merge changes between r11185 and r11304 from /fsf/trunk. git-svn-id: svn://svn.eglibc.org/trunk@11305 7b3dc134-2b1b-0410-93df-9e9f96275f8d --- ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c | 6 ++--- ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h | 4 +-- ports/sysdeps/unix/sysv/linux/arm/syscalls.list | 2 ++ ports/sysdeps/unix/sysv/linux/arm/sysdep.h | 5 ++++ ports/sysdeps/unix/sysv/linux/m68k/syscalls.list | 2 ++ ports/sysdeps/unix/sysv/linux/mips/bits/resource.h | 30 +++++++++++++++++++++- ports/sysdeps/unix/sysv/linux/mips/bits/statfs.h | 8 +++--- ports/sysdeps/unix/sysv/linux/mips/bits/termios.h | 5 +++- .../sysdeps/unix/sysv/linux/mips/kernel-features.h | 6 +++++ .../unix/sysv/linux/mips/mips32/syscalls.list | 3 +++ .../unix/sysv/linux/mips/mips64/n32/syscalls.list | 2 ++ .../unix/sysv/linux/mips/mips64/n64/syscalls.list | 3 +++ ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h | 4 ++- 13 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 ports/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list create mode 100644 ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list (limited to 'ports/sysdeps/unix/sysv') 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 #include -#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 + +/* 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. */ -- cgit v1.2.1