[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21420 - in /fsf/trunk/libc: ./ manual/ nptl/ nptl/sysdeps/unix/sysv/linux/sparc/ nptl/sysdeps/unix/sysv/linux/sparc/sparc32...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21420 - in /fsf/trunk/libc: ./ manual/ nptl/ nptl/sysdeps/unix/sysv/linux/sparc/ nptl/sysdeps/unix/sysv/linux/sparc/sparc32...
- From: eglibc@xxxxxxxxxx
- Date: Tue, 30 Oct 2012 00:01:44 -0000
Author: eglibc
Date: Tue Oct 30 00:01:43 2012
New Revision: 21420
Log:
Import glibc-mainline for 2012-10-30
Added:
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/bits/libc-vdso.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/gettimeofday.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/init-first.c
Removed:
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Makefile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/manual/message.texi
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
fsf/trunk/libc/ports/ChangeLog.mips
fsf/trunk/libc/ports/ChangeLog.tile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile
fsf/trunk/libc/sysdeps/mach/hurd/fdatasync.c
fsf/trunk/libc/sysdeps/mach/hurd/fsync.c
fsf/trunk/libc/sysdeps/pthread/aio_notify.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Oct 30 00:01:43 2012
@@ -1,3 +1,17 @@
+2012-10-29 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * manual/message.texi: Delete @cartouche tags.
+
+2012-10-29 Pino Toscano <toscano.pino@xxxxxxxxxx>
+
+ * sysdeps/mach/hurd/fdatasync.c: Turn ERR into EINVAL if it is
+ EOPNOTSUPP.
+ * sysdeps/mach/hurd/fsync.c: Likewise.
+
+ * sysdeps/pthread/aio_notify.c (__aio_notify_only)
+ [_POSIX_REALTIME_SIGNALS]: Change condition to
+ [_POSIX_REALTIME_SIGNALS > 0].
+
2012-10-27 Andreas Jaeger <aj@xxxxxxx>
* sysdeps/unix/sysv/linux/x86/bits/fcntl.h (__O_LARGEFILE)
Modified: fsf/trunk/libc/manual/message.texi
==============================================================================
--- fsf/trunk/libc/manual/message.texi (original)
+++ fsf/trunk/libc/manual/message.texi Tue Oct 30 00:01:43 2012
@@ -699,7 +699,6 @@
file is named @file{hello.msg} and the program source file @file{hello.c}):
@smallexample
-@cartouche
% gencat -H msgnrs.h -o hello.cat hello.msg
% cat msgnrs.h
#define MainSet 0x1 /* hello.msg:4 */
@@ -711,7 +710,6 @@
% ./hello
Hallo, Welt!
%
-@end cartouche
@end smallexample
The call of the @code{gencat} program creates the missing header file
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Tue Oct 30 00:01:43 2012
@@ -1,3 +1,15 @@
+2012-10-28 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (BUSY_WAIT_NOP):
+ Define when we have v9 instructions available.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S: New file.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S: New
+ file.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile: New
+ file.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Add cpu_relax
+ to libpthread-routines.
+
2012-10-25 Roland McGrath <roland@xxxxxxxxxxxxx>
* tst-cond-except.c (TEST_FUNCTION): New macro.
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h Tue Oct 30 00:01:43 2012
@@ -50,6 +50,11 @@
#define LLL_PRIVATE 0
#define LLL_SHARED FUTEX_PRIVATE_FLAG
+#ifndef __sparc32_atomic_do_lock
+/* Delay in spinlock loop. */
+extern void __cpu_relax(void);
+#define BUSY_WAIT_NOP __cpu_relax()
+#endif
#if !defined NOT_IN_libc || defined IS_IN_rtld
/* In libc.so or ld.so all futexes are private. */
Added: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile (added)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile Tue Oct 30 00:01:43 2012
@@ -1,0 +1,1 @@
+libpthread-routines += cpu_relax
Added: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S (added)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S Tue Oct 30 00:01:43 2012
@@ -1,0 +1,1 @@
+#include <sparc64/cpu_relax.S>
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile Tue Oct 30 00:01:43 2012
@@ -1,3 +1,5 @@
+libpthread-routines += cpu_relax
+
ifeq ($(subdir),nptl)
CFLAGS-pause.c += -fexceptions
CFLAGS-sigsuspend.c += -fexceptions
Added: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S (added)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S Tue Oct 30 00:01:43 2012
@@ -1,0 +1,67 @@
+/* CPU strand yielding for busy loops.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ Contributed by David S. Miller (davem@xxxxxxxxxxxxx)
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+
+ .text
+__cpu_relax_generic:
+ rd %ccr, %g0
+ rd %ccr, %g0
+ rd %ccr, %g0
+ retl
+ nop
+ .size __cpu_relax_generic,.-__cpu_relax_generic
+
+__cpu_relax_pause:
+ wr %g0, 128, %asr27
+ retl
+ nop
+ .size __cpu_relax_pause,.-__cpu_relax_pause
+
+ENTRY(__cpu_relax)
+ .type __cpu_relax, @gnu_indirect_function
+# ifdef SHARED
+ SETUP_PIC_REG_LEAF(o3, o5)
+# endif
+ set HWCAP_SPARC_PAUSE, %o1
+ andcc %o0, %o1, %g0
+ be 1f
+ nop
+# ifdef SHARED
+ sethi %gdop_hix22(__cpu_relax_pause), %o1
+ xor %o1, %gdop_lox10(__cpu_relax_pause), %o1
+# else
+ set __cpu_relax_pause, %o1
+# endif
+ ba 10f
+ nop
+1:
+# ifdef SHARED
+ sethi %gdop_hix22(__cpu_relax_generic), %o1
+ xor %o1, %gdop_lox10(__cpu_relax_generic), %o1
+# else
+ set __cpu_relax_generic, %o1
+# endif
+10:
+# ifdef SHARED
+ add %o3, %o1, %o1
+# endif
+ retl
+ mov %o1, %o0
+END(__cpu_relax)
Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Tue Oct 30 00:01:43 2012
@@ -1,3 +1,31 @@
+2012-10-29 Steve Ellcey <sellcey@xxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/mips32/Makefile: Remove.
+ * sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile: Remove.
+ * sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile: Remove.
+ * sysdeps/unix/sysv/linux/mips/configure.in: Create default_abi.make.
+ * sysdeps/unix/sysv/linux/mips/configure: Regenerate.
+ * sysdeps/unix/sysv/linux/mips/Makefile: Include default_abi.make.
+ (abi-variants): Add hard and soft float versions.
+ (abi-o32-options): Remove.
+ (abi-o32-condition): Remove.
+ (abi-n32-options): Remove.
+ (abi-n32-condition): Remove.
+ (abi-n64-options): Remove.
+ (abi-n64-condition): Remove.
+ (abi-o32_soft-options): New.
+ (abi-o32_soft-condition): New.
+ (abi-o32_hard-options): New.
+ (abi-o32_hard-condition): New.
+ (abi-n32_soft-options): New.
+ (abi-n32_soft-condition): New.
+ (abi-n32_hard-options): New.
+ (abi-n32_hard-condition): New.
+ (abi-n64_soft-options): New.
+ (abi-n64_soft-condition): New.
+ (abi-n64_hard-options): New.
+ (abi-n64_hard-condition): New.
+
2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Tue Oct 30 00:01:43 2012
@@ -1,3 +1,11 @@
+2012-10-26 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/Makefile (sysdep_routines):
+ Include dl-vdso.
+ * sysdeps/unix/sysv/linux/tile/bits/libc-vdso.h: New file.
+ * sysdeps/unix/sysv/linux/tile/gettimeofday.c: New file.
+ * sysdeps/unix/sysv/linux/tile/init-first.c: New file.
+
2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist:
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile Tue Oct 30 00:01:43 2012
@@ -8,15 +8,42 @@
sysdep_headers += sys/cachectl.h sys/sysmips.h sys/tas.h
endif
+# Get value of default-abi.
+include $(common-objpfx)default-abi.make
+
+abi-variants := o32_soft o32_hard n32_soft n32_hard n64_soft n64_hard
+
+ifeq (,$(filter $(default-abi),$(abi-variants)))
+Unknown ABI, must be one of $(abi-variants)
+endif
+
+abi-includes := sgidefs.h
+
# _MIPS_SIM_ABI32 == 1, _MIPS_SIM_NABI32 == 2, _MIPS_SIM_ABI64 == 3
-abi-variants := o32 n32 n64
-abi-includes := sgidefs.h
-abi-o32-options := -D_MIPS_SIM=1
-abi-o32-condition := _MIPS_SIM == _MIPS_SIM_ABI32
-abi-n32-options := -D_MIPS_SIM=2
-abi-n32-condition := _MIPS_SIM == _MIPS_SIM_NABI32
-abi-n64-options := -D_MIPS_SIM=3
-abi-n64-condition := _MIPS_SIM == _MIPS_SIM_ABI64
+abi-o32_soft-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+ -D__mips_soft_float -U__mips_hard_float
+abi-o32_soft-condition := defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_hard-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+ -D__mips_hard_float -U__mips_soft_float
+abi-o32_hard-condition := defined(__mips_hard_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-n32_soft-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+ -D__mips_soft_float -U__mips_hard_float
+abi-n32_soft-condition := defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_hard-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+ -D__mips_hard_float -U__mips_soft_float
+abi-n32_hard-condition := defined(__mips_hard_float) \
+ && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n64_soft-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+ -D__mips_soft_float -U__mips_hard_float
+abi-n64_soft-condition := defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_hard-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+ -D__mips_hard_float -U__mips_soft_float
+abi-n64_hard-condition := defined(__mips_hard_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI64)
ifeq ($(subdir),elf)
ifeq ($(build-shared),yes)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure Tue Oct 30 00:01:43 2012
@@ -1,5 +1,111 @@
# This file is generated from configure.in by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/unix/sysv/linux/mips.
+
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #if (_MIPS_SIM != _ABIO32)
+ #error Not O32 ABI
+ #endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_mips_abi=o32
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #if (_MIPS_SIM != _ABIN32)
+ #error Not N32 ABI
+ #endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_mips_abi=n32
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #if (_MIPS_SIM != _ABI64)
+ #error Not 64 ABI
+ #endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_mips_abi=n64
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test -z "$libc_mips_abi"; then
+ as_fn_error "could not determine what ABI the compiler is using" "$LINENO" 5
+fi
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #if !defined(__mips_soft_float)
+ #error Not soft ABI
+ #endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_mips_float=soft
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #if !defined(__mips_hard_float)
+ #error Not hard ABI
+ #endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_mips_float=hard
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test -z "$libc_mips_float"; then
+ as_fn_error "could not determine if compiler is using hard or soft floating point ABI" "$LINENO" 5
+fi
+
+echo "default-abi := ${libc_mips_abi}_${libc_mips_float}" > default-abi.make
case "$prefix" in
/usr | /usr/)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in Tue Oct 30 00:01:43 2012
@@ -1,6 +1,50 @@
sinclude(./aclocal.m4)dnl Autoconf lossage
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/unix/sysv/linux/mips.
+
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([
+ #if (_MIPS_SIM != _ABIO32)
+ #error Not O32 ABI
+ #endif])],
+ [libc_mips_abi=o32],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([
+ #if (_MIPS_SIM != _ABIN32)
+ #error Not N32 ABI
+ #endif])],
+ [libc_mips_abi=n32],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([
+ #if (_MIPS_SIM != _ABI64)
+ #error Not 64 ABI
+ #endif])],
+ [libc_mips_abi=n64],
+ [])])])
+
+if test -z "$libc_mips_abi"; then
+ AC_MSG_ERROR([could not determine what ABI the compiler is using])
+fi
+
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([
+ #if !defined(__mips_soft_float)
+ #error Not soft ABI
+ #endif])],
+ [libc_mips_float=soft],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([
+ #if !defined(__mips_hard_float)
+ #error Not hard ABI
+ #endif])],
+ [libc_mips_float=hard],
+ [])])
+
+if test -z "$libc_mips_float"; then
+ AC_MSG_ERROR([could not determine if compiler is using hard or soft floating point ABI])
+fi
+
+echo "default-abi := ${libc_mips_abi}_${libc_mips_float}" > default-abi.make
case "$prefix" in
/usr | /usr/)
Removed: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Makefile (removed)
@@ -1,1 +1,0 @@
-default-abi := o32
Removed: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile (removed)
@@ -1,1 +1,0 @@
-default-abi := n32
Removed: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile (removed)
@@ -1,1 +1,0 @@
-default-abi := n64
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile Tue Oct 30 00:01:43 2012
@@ -13,3 +13,7 @@
sysdep_routines += set_dataplane
endif
+
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+endif
Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/bits/libc-vdso.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/bits/libc-vdso.h (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/bits/libc-vdso.h Tue Oct 30 00:01:43 2012
@@ -1,0 +1,30 @@
+/* Resolve function pointers to VDSO functions.
+ Copyright (C) 2012 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+extern long int (*__vdso_gettimeofday) (struct timeval *, void *)
+ attribute_hidden;
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/gettimeofday.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/gettimeofday.c (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/gettimeofday.c Tue Oct 30 00:01:43 2012
@@ -1,0 +1,38 @@
+/* Copyright (C) 2012 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include <stddef.h>
+#include <sys/time.h>
+#include <time.h>
+
+#undef __gettimeofday
+#include <bits/libc-vdso.h>
+
+int
+__gettimeofday (struct timeval *tv, struct timezone *tz)
+{
+#ifdef SHARED
+ /* If the vDSO is available we use it. */
+ if (__vdso_gettimeofday != NULL)
+ return __vdso_gettimeofday (tv, tz);
+#endif
+ return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
+}
+
+strong_alias (__gettimeofday, __gettimeofday_internal)
+weak_alias (__gettimeofday, gettimeofday)
Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/init-first.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/init-first.c (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/init-first.c Tue Oct 30 00:01:43 2012
@@ -1,0 +1,34 @@
+/* Copyright (C) 2012 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifdef SHARED
+#include <dl-vdso.h>
+#include <bits/libc-vdso.h>
+
+long int (*__vdso_gettimeofday) (struct timeval *, void *) attribute_hidden;
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+ PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
+ __vdso_gettimeofday = _dl_vdso_vsym ("__vdso_gettimeofday", &linux26);
+}
+
+#define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include "../init-first.c"
Modified: fsf/trunk/libc/sysdeps/mach/hurd/fdatasync.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/fdatasync.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/fdatasync.c Tue Oct 30 00:01:43 2012
@@ -26,6 +26,12 @@
{
error_t err = HURD_DPORT_USE (fd, __file_sync (port, 1, 1));
if (err)
- return __hurd_dfail (fd, err);
+ {
+ if (err == EOPNOTSUPP)
+ /* If the file descriptor does not support sync, return EINVAL
+ as POSIX specifies. */
+ err = EINVAL;
+ return __hurd_dfail (fd, err);
+ }
return 0;
}
Modified: fsf/trunk/libc/sysdeps/mach/hurd/fsync.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/fsync.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/fsync.c Tue Oct 30 00:01:43 2012
@@ -27,6 +27,12 @@
{
error_t err = HURD_DPORT_USE (fd, __file_sync (port, 1, 0));
if (err)
- return __hurd_dfail (fd, err);
+ {
+ if (err == EOPNOTSUPP)
+ /* If the file descriptor does not support sync, return EINVAL
+ as POSIX specifies. */
+ err = EINVAL;
+ return __hurd_dfail (fd, err);
+ }
return 0;
}
Modified: fsf/trunk/libc/sysdeps/pthread/aio_notify.c
==============================================================================
--- fsf/trunk/libc/sysdeps/pthread/aio_notify.c (original)
+++ fsf/trunk/libc/sysdeps/pthread/aio_notify.c Tue Oct 30 00:01:43 2012
@@ -95,7 +95,7 @@
else if (sigev->sigev_notify == SIGEV_SIGNAL)
{
/* We have to send a signal. */
-#if _POSIX_REALTIME_SIGNALS
+#if _POSIX_REALTIME_SIGNALS > 0
/* Note that the standard gives us the option of using a plain
non-queuing signal here when SA_SIGINFO is not set for the signal. */
# ifdef BROKEN_THREAD_SIGNALS
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits