[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r18550 - in /fsf/trunk/ports: ./ sysdeps/ia64/fpu/ sysdeps/tile/ sysdeps/tile/elf/ sysdeps/tile/tilegx/ sysdeps/unix/sysv/li...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r18550 - in /fsf/trunk/ports: ./ sysdeps/ia64/fpu/ sysdeps/tile/ sysdeps/tile/elf/ sysdeps/tile/tilegx/ sysdeps/unix/sysv/li...
- From: eglibc@xxxxxxxxxx
- Date: Tue, 15 May 2012 00:02:15 -0000
Author: eglibc
Date: Tue May 15 00:02:13 2012
New Revision: 18550
Log:
Import glibc-ports-mainline for 2012-05-15
Added:
fsf/trunk/ports/sysdeps/tile/crti.S
fsf/trunk/ports/sysdeps/tile/crtn.S
fsf/trunk/ports/sysdeps/tile/elf/stackguard-macros.h
fsf/trunk/ports/sysdeps/tile/stackguard-macros.h
fsf/trunk/ports/sysdeps/tile/start.S
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/ld.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libBrokenLocale.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libanl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libdl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libnsl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libresolv.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/librt.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libthread_db.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libutil.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/ld.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libBrokenLocale.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libanl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libdl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libnsl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libresolv.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/librt.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libthread_db.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libutil.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/ld.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libBrokenLocale.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libanl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libdl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libnsl.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libresolv.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/librt.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libthread_db.abilist
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libutil.abilist
Removed:
fsf/trunk/ports/sysdeps/tile/elf/start.S
Modified:
fsf/trunk/ports/ChangeLog.arm
fsf/trunk/ports/ChangeLog.ia64
fsf/trunk/ports/ChangeLog.linux-generic
fsf/trunk/ports/ChangeLog.m68k
fsf/trunk/ports/ChangeLog.mips
fsf/trunk/ports/ChangeLog.tile
fsf/trunk/ports/sysdeps/ia64/fpu/libm-symbols.h
fsf/trunk/ports/sysdeps/tile/Makefile
fsf/trunk/ports/sysdeps/tile/__tls_get_addr.S
fsf/trunk/ports/sysdeps/tile/dl-machine.h
fsf/trunk/ports/sysdeps/tile/dl-start.S
fsf/trunk/ports/sysdeps/tile/tilegx/memchr.c
fsf/trunk/ports/sysdeps/tile/tilegx/memcpy.c
fsf/trunk/ports/sysdeps/tile/tilegx/memset.c
fsf/trunk/ports/sysdeps/tile/tilegx/rawmemchr.c
fsf/trunk/ports/sysdeps/tile/tilegx/strchr.c
fsf/trunk/ports/sysdeps/tile/tilegx/strchrnul.c
fsf/trunk/ports/sysdeps/tile/tilegx/string-endian.h
fsf/trunk/ports/sysdeps/tile/tilegx/strrchr.c
fsf/trunk/ports/sysdeps/tile/tls-macros.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigaction.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list
fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure
fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in
fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread64.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite64.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/sigaction.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/Makefile
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/clone.S
fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/sys/dataplane.h
Modified: fsf/trunk/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/ports/ChangeLog.arm (original)
+++ fsf/trunk/ports/ChangeLog.arm Tue May 15 00:02:13 2012
@@ -1,3 +1,9 @@
+2012-05-14 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/arm/sigaction.c
+ [!__ASSUME_REALTIME_SIGNALS]: Remove conditional code.
+ [__ASSUME_REALTIME_SIGNALS]: Make code unconditional.
+
2012-05-07 Carlos O'Donell <carlos_odonell@xxxxxxxxxx>
* sysdeps/arm/configure.in: Set libc_cv_arm_pcs_vfp.
Modified: fsf/trunk/ports/ChangeLog.ia64
==============================================================================
--- fsf/trunk/ports/ChangeLog.ia64 (original)
+++ fsf/trunk/ports/ChangeLog.ia64 Tue May 15 00:02:13 2012
@@ -1,3 +1,7 @@
+2012-05-14 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * sysdeps/ia64/fpu/libm-symbols.h: Delete __ELF__ checks.
+
2012-05-07 Mike Frysinger <vapier@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Include errno.h.
Modified: fsf/trunk/ports/ChangeLog.linux-generic
==============================================================================
--- fsf/trunk/ports/ChangeLog.linux-generic (original)
+++ fsf/trunk/ports/ChangeLog.linux-generic Tue May 15 00:02:13 2012
@@ -1,3 +1,19 @@
+2012-05-14 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/generic/bits/stat.h,
+ sysdeps/unix/sysv/linux/generic/bits/statfs.h:
+ Use "__aligned__" instead of "aligned" in public headers.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list:
+ Add entries for prlimit64 and fanotify_mark.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/generic/bits/typesizes.h
+ (__SNSECONDS_T_TYPE): New macro.
+
2012-03-09 Paul Eggert <eggert@xxxxxxxxxxx>
[BZ #13673]
Modified: fsf/trunk/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/ports/ChangeLog.m68k (original)
+++ fsf/trunk/ports/ChangeLog.m68k Tue May 15 00:02:13 2012
@@ -1,3 +1,8 @@
+2012-05-14 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/m68k/configure.in (arch_minimum_kernel)
+ [$machine != m68k/coldfire]: Don't set.
+
2012-05-10 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update.
Modified: fsf/trunk/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/ports/ChangeLog.mips (original)
+++ fsf/trunk/ports/ChangeLog.mips Tue May 15 00:02:13 2012
@@ -1,3 +1,21 @@
+2012-05-14 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/pread.c [!__ASSUME_PREAD_SYSCALL]:
+ Remove conditional code.
+ [__ASSUME_PREAD_SYSCALL]: Make code unconditional.
+ * sysdeps/unix/sysv/linux/mips/pread64.c
+ [!__ASSUME_PREAD_SYSCALL]: Remove conditional code.
+ [__ASSUME_PREAD_SYSCALL]: Make code unconditional.
+ * sysdeps/unix/sysv/linux/mips/pwrite.c
+ [!__ASSUME_PWRITE_SYSCALL]: Remove conditional code.
+ [__ASSUME_PWRITE_SYSCALL]: Make code unconditional.
+ * sysdeps/unix/sysv/linux/mips/pwrite64.c
+ [!__ASSUME_PWRITE_SYSCALL]: Remove conditional code.
+ [__ASSUME_PWRITE_SYSCALL]: Make code unconditional.
+ * sysdeps/unix/sysv/linux/mips/sigaction.c
+ [!__ASSUME_REALTIME_SIGNALS]: Remove conditional code.
+ [__ASSUME_REALTIME_SIGNALS]: Make code unconditional.
+
2012-05-11 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/mips/dl-lookup.c: Update from generic version.
Modified: fsf/trunk/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/ports/ChangeLog.tile (original)
+++ fsf/trunk/ports/ChangeLog.tile Tue May 15 00:02:13 2012
@@ -1,3 +1,140 @@
+2012-05-14 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/ld.abilist:
+ New file.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libBrokenLocale.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libanl.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libcrypt.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libdl.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libnsl.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libresolv.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/librt.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libthread_db.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libutil.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/ld.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libBrokenLocale.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libanl.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libcrypt.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libdl.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libnsl.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libresolv.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/librt.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libthread_db.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libutil.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/ld.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libBrokenLocale.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libanl.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libcrypt.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libdl.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libnsl.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libresolv.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/librt.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libthread_db.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libutil.abilist: Likewise.
+
+2012-05-14 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/dl-start.S: Align stack for tilegx32.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/sys/dataplane.h: Add <features.h>.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/nptl/clone.S: Add missing CFI.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/tls-macros.h: Fix buggy TLS_GD, etc., macros.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/tilegx/memchr.c: Use new copy_byte() function
+ to efficiently generate a large constant for masking.
+ * sysdeps/tile/tilegx/memset.c: Likewise.
+ * sysdeps/tile/tilegx/rawmemchr.c: Likewise.
+ * sysdeps/tile/tilegx/strchr.c: Likewise.
+ * sysdeps/tile/tilegx/strchrnul.c: Likewise.
+ * sysdeps/tile/tilegx/strrchr.c: Likewise.
+ * sysdeps/tile/tilegx/string-endian.h (copy_byte): New function.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/tilegx/memcpy.c: Allow memcpy(p, p, n)
+ without corrupting memory at "p".
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/__tls_get_addr.S: Use __WORDSIZE, not _LP64.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/stackguard-macros.h: New file.
+ * sysdeps/tile/elf/stackguard-macros.h: New stub include file.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/Makefile (ELF_MACHINE_PLTREL_OVERLAP):
+ Remove variable no longer used by core.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/bits/siginfo.h: Don't name
+ siginfo_t struct. Add forward declaration of pthread_attr_t and
+ use it in sigevent.
+ * sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h: Name
+ pthread_attr_t union.
+
+2012-05-12 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/crti.S: New file, based on compiler output
+ for sysdeps/generic/initfini.c.
+ * sysdeps/tile/crtn.S: Likewise.
+ * sysdeps/tile/Makefile (CFLAGS-initfini.s): Remove variable.
+ * sysdeps/unix/sysv/linux/tile/nptl/Makefile
+ (CFLAGS-pt-initfini.s): Likewise.
+ * sysdeps/tile/elf/start.S: Moved to ...
+ * sysdeps/tile/start.S: ...here.
+
2012-04-15 Mike Frysinger <vapier@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h: Include
Modified: fsf/trunk/ports/sysdeps/ia64/fpu/libm-symbols.h
==============================================================================
--- fsf/trunk/ports/sysdeps/ia64/fpu/libm-symbols.h (original)
+++ fsf/trunk/ports/sysdeps/ia64/fpu/libm-symbols.h Tue May 15 00:02:13 2012
@@ -3,13 +3,8 @@
/* Support for compatible assembler handling. */
-#ifdef __ELF__
-# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-# define ASM_TYPE_DIRECTIVE(name,T) .type name,T
-#else
-# define ASM_SIZE_DIRECTIVE(name)
-# define ASM_TYPE_DIRECTIVE(name,T)
-#endif
+#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+#define ASM_TYPE_DIRECTIVE(name,T) .type name,T
#define LOCAL_LIBM_ENTRY(name) \
.proc name; \
Modified: fsf/trunk/ports/sysdeps/tile/Makefile
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/Makefile (original)
+++ fsf/trunk/ports/sysdeps/tile/Makefile Tue May 15 00:02:13 2012
@@ -11,8 +11,3 @@
# Extra shared linker files to link only into dl-allobjs.so.
sysdep-rtld-routines += dl-start __tls_get_addr
endif
-
-ifeq ($(subdir),csu)
-# Avoid .cfi_startproc/endproc markers when creating init and fini pieces.
-CFLAGS-initfini.s += -fno-asynchronous-unwind-tables
-endif
Modified: fsf/trunk/ports/sysdeps/tile/__tls_get_addr.S
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/__tls_get_addr.S (original)
+++ fsf/trunk/ports/sysdeps/tile/__tls_get_addr.S Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -18,8 +18,9 @@
#include <sysdep.h>
#include <tls.h>
+#include <bits/wordsize.h>
-#ifdef _LP64
+#if __WORDSIZE == 64
#define LOG_SIZEOF_DTV_T 4
#else
#define LOG_SIZEOF_DTV_T 3
Added: fsf/trunk/ports/sysdeps/tile/crti.S
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/crti.S (added)
+++ fsf/trunk/ports/sysdeps/tile/crti.S Tue May 15 00:02:13 2012
@@ -1,0 +1,111 @@
+/* Special .init and .fini section support for tile.
+ 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.
+
+ In addition to the permissions in the GNU Lesser General Public
+ License, the Free Software Foundation gives you unlimited
+ permission to link the compiled version of this file with other
+ programs, and to distribute those programs without any restriction
+ coming from the use of this file. (The GNU Lesser General Public
+ License restrictions do apply in other respects; for example, they
+ cover modification of the file, and distribution when not linked
+ into another program.)
+
+ Note that people who make modified versions of this file are not
+ obligated to grant this special exception for their modified
+ versions; it is their choice whether to do so. The GNU Lesser
+ General Public License gives permission to release a modified
+ version without this exception; this exception also makes it
+ possible to release a modified version which carries forward this
+ exception.
+
+ 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/>. */
+
+/* crti.S puts a function prologue at the beginning of the .init and
+ .fini sections and defines global symbols for those addresses, so
+ they can be called as functions. The symbols _init and _fini are
+ magic and cause the linker to emit DT_INIT and DT_FINI. */
+
+#include <libc-symbols.h>
+#include <sysdep.h>
+
+#ifndef PREINIT_FUNCTION
+# define PREINIT_FUNCTION __gmon_start__
+#endif
+
+#ifndef PREINIT_FUNCTION_WEAK
+# define PREINIT_FUNCTION_WEAK 1
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+ weak_extern (PREINIT_FUNCTION)
+#else
+ .hidden PREINIT_FUNCTION
+#endif
+
+ .section .init,"ax",@progbits
+ .align 8
+ .globl _init
+ .type _init, @function
+_init:
+ {
+ move r29, sp
+ ADDI_PTR r28, sp, -REGSIZE
+ ST sp, lr
+ }
+ ADDI_PTR sp, sp, -(2 * REGSIZE)
+ ST r28, r29
+#if PREINIT_FUNCTION_WEAK
+ lnk r2
+0:
+#ifdef __tilegx__
+ {
+ moveli r1, hw1_last(_GLOBAL_OFFSET_TABLE_ - 0b)
+ moveli r0, hw1_last_got(PREINIT_FUNCTION)
+ }
+ {
+ shl16insli r1, r1, hw0(_GLOBAL_OFFSET_TABLE_ - 0b)
+ shl16insli r0, r0, hw0_got(PREINIT_FUNCTION)
+ }
+#else
+ {
+ moveli r1, lo16(_GLOBAL_OFFSET_TABLE_ - 0b)
+ moveli r0, got_lo16(PREINIT_FUNCTION)
+ }
+ {
+ auli r1, r1, ha16(_GLOBAL_OFFSET_TABLE_ - 0b)
+ auli r0, r0, got_ha16(PREINIT_FUNCTION)
+ }
+#endif
+ ADD_PTR r0, r0, r1
+ ADD_PTR r0, r0, r2
+ LD_PTR r0, r0
+ BEQZ r0, .Lno_weak_fn
+#endif
+ jal plt(PREINIT_FUNCTION)
+.Lno_weak_fn:
+
+ .section .fini,"ax",@progbits
+ .align 8
+ .globl _fini
+ .type _fini, @function
+_fini:
+ {
+ move r29, sp
+ ADDI_PTR r28, sp, -REGSIZE
+ ST sp, lr
+ }
+ ADDI_PTR sp, sp, -(2 * REGSIZE)
+ ST r28, r29
Added: fsf/trunk/ports/sysdeps/tile/crtn.S
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/crtn.S (added)
+++ fsf/trunk/ports/sysdeps/tile/crtn.S Tue May 15 00:02:13 2012
@@ -1,0 +1,55 @@
+/* Special .init and .fini section support for tile.
+ 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.
+
+ In addition to the permissions in the GNU Lesser General Public
+ License, the Free Software Foundation gives you unlimited
+ permission to link the compiled version of this file with other
+ programs, and to distribute those programs without any restriction
+ coming from the use of this file. (The GNU Lesser General Public
+ License restrictions do apply in other respects; for example, they
+ cover modification of the file, and distribution when not linked
+ into another program.)
+
+ Note that people who make modified versions of this file are not
+ obligated to grant this special exception for their modified
+ versions; it is their choice whether to do so. The GNU Lesser
+ General Public License gives permission to release a modified
+ version without this exception; this exception also makes it
+ possible to release a modified version which carries forward this
+ exception.
+
+ 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/>. */
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+ corresponding to the prologues in crti.S. */
+
+#include <sysdep.h>
+
+ .section .init,"ax",@progbits
+ ADDI_PTR r29, sp, (2 * REGSIZE)
+ {
+ ADDI_PTR sp, sp, (2 * REGSIZE)
+ LD lr, r29
+ }
+ jrp lr
+
+ .section .fini,"ax",@progbits
+ ADDI_PTR r29, sp, (2 * REGSIZE)
+ {
+ ADDI_PTR sp, sp, (2 * REGSIZE)
+ LD lr, r29
+ }
+ jrp lr
Modified: fsf/trunk/ports/sysdeps/tile/dl-machine.h
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/dl-machine.h (original)
+++ fsf/trunk/ports/sysdeps/tile/dl-machine.h Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
Based on work contributed by by Carl Pederson & Martin Schwidefsky.
@@ -223,9 +223,6 @@
/* TILE never uses Elf32_Rel relocations. */
#define ELF_MACHINE_NO_REL 1
-
-/* TILE overlaps DT_RELA and DT_PLTREL. */
-#define ELF_MACHINE_PLTREL_OVERLAP 1
/* We define an initialization functions. This is called very early in
_dl_sysdep_start. */
Modified: fsf/trunk/ports/sysdeps/tile/dl-start.S
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/dl-start.S (original)
+++ fsf/trunk/ports/sysdeps/tile/dl-start.S Tue May 15 00:02:13 2012
@@ -77,6 +77,7 @@
ST_PTR r52, r0
SHL_PTR_ADD sp, r4, sp
}
+ andi sp, sp, -8
.Lno_skip:
/* Call_dl_init (_dl_loaded, argc, argv, envp). See elf/start.s
Added: fsf/trunk/ports/sysdeps/tile/elf/stackguard-macros.h
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/elf/stackguard-macros.h (added)
+++ fsf/trunk/ports/sysdeps/tile/elf/stackguard-macros.h Tue May 15 00:02:13 2012
@@ -1,0 +1,3 @@
+/* Tests in nptl/ look for <elf/stackguard-macros.h> while tests
+ in elf/ look for <stackguard-macros.h>. Provide both. */
+#include "../stackguard-macros.h"
Removed: fsf/trunk/ports/sysdeps/tile/elf/start.S
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/elf/start.S (original)
+++ fsf/trunk/ports/sysdeps/tile/elf/start.S (removed)
@@ -1,183 +1,0 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
-
- 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- 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/>. */
-
-/* This is the canonical entry point, usually the first thing in the text
- segment. The ELF standard tells us that the stack is set up like this on
- entry (the left side is the offset from "sp"), in units of
- __SIZEOF_POINTER__ entries:
-
- +0 argc
- +1 argv[0]
- ...
- +(argc+1) NULL
- +(argc+2) envp[0]
- ...
- NULL
- ... ElfInfo
-
- The ElfInfo is pairs of key/value long words following the envp
- pointers and terminated by a zero-valued key.
-
- Although not mandated by the standard, it happens to be the case
- that we store the actual argv and envp strings immediately after
- the ElfInfo data on the stack.
-
- On entry r0 points to the shared library termination function, or 0
- if there isn't one.
-*/
-
-#include <features.h>
-#include <sysdep.h>
-#include <arch/abi.h>
-
- .text
- .global _start
- .type _start,@function
- .align 8
-_start:
- /* Linux starts us with sp pointing at the conventional Elf layout,
- but we need to allow two "caller" words for our ABI convention. */
- {
- /* Load argc (stored as a "long", equivalent to a pointer type). */
- LD_PTR r1, sp
-
- /* Save incoming 'sp', which points to the Elf argument block. */
- move r52, sp
- }
-
- {
- /* Allocate stack frame callee space for __libc_start_main. */
- ADDI_PTR r12, sp, -(2 * REGSIZE)
- }
-
- {
- /* Get our PC. */
- lnk r13
-
- /* sp is not necessarily properly aligned on startup because
- of the way ld.so pops off leading argv elements. So align it. */
- andi sp, r12, -8
- }
-.Lmy_pc:
-
- {
- /* Pass the address of the shared library termination function. */
- move r5, r0
-
- /* Compute location where __libc_start_main's caller is supposed to
- store its frame pointer. */
- ADDI_PTR r12, sp, REGSIZE
-
- /* Zero out callee space for return address. Unnecessary but free.
- This is just paranoia to help backtracing not go awry. */
- ST sp, zero
- }
- {
- /* Zero out our frame pointer for __libc_start_main. */
- ST r12, zero
-
- /* Zero out lr to make __libc_start_main the end of backtrace. */
- move lr, zero
-
- /* Compute a pointer to argv. envp will be determined
- later in __libc_start_main. We set up the first argument
- (the address of main) below. */
- ADDI_PTR r2, r52, __SIZEOF_POINTER__
- }
- {
- /* Pass the highest stack address to user code. */
- ADDI_PTR r6, sp, (2 * REGSIZE)
-
- /* Pass address of main() in r0, and of our own entry
- points to .fini and .init in r3 and r4. */
-#ifdef __tilegx__
- moveli r0, hw2_last(main - .Lmy_pc)
- }
- {
- moveli r3, hw2_last(__libc_csu_init - .Lmy_pc)
- shl16insli r0, r0, hw1(main - .Lmy_pc)
- }
- {
- shl16insli r3, r3, hw1(__libc_csu_init - .Lmy_pc)
- shl16insli r0, r0, hw0(main - .Lmy_pc)
- }
- {
- shl16insli r3, r3, hw0(__libc_csu_init - .Lmy_pc)
- moveli r4, hw2_last(__libc_csu_fini - .Lmy_pc)
- }
- {
- ADD_PTR r0, r0, r13
- shl16insli r4, r4, hw1(__libc_csu_fini - .Lmy_pc)
- }
- {
- ADD_PTR r3, r3, r13
- shl16insli r4, r4, hw0(__libc_csu_fini - .Lmy_pc)
- }
- {
- ADD_PTR r4, r4, r13
-#else
- addli r0, r13, lo16(main - .Lmy_pc)
- }
- {
- auli r0, r0, ha16(main - .Lmy_pc)
- addli r3, r13, lo16(__libc_csu_init - .Lmy_pc)
- }
- {
- auli r3, r3, ha16(__libc_csu_init - .Lmy_pc)
- addli r4, r13, lo16(__libc_csu_fini - .Lmy_pc)
- }
- {
- auli r4, r4, ha16(__libc_csu_fini - .Lmy_pc)
-
-#endif
-
- /* Call the user's main function, and exit with its value.
- But let the libc call main. */
- j plt(__libc_start_main)
- }
- {
- /* Tell backtracer to give up (_start has no caller). */
- info INFO_OP_CANNOT_BACKTRACE
- }
-.size _start, .-_start
-
-/* Define a symbol for the first piece of initialized data. */
- .data
- .global __data_start
- .align 8
-__data_start:
- .long 0
- .weak data_start
- data_start = __data_start
Added: fsf/trunk/ports/sysdeps/tile/stackguard-macros.h
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/stackguard-macros.h (added)
+++ fsf/trunk/ports/sysdeps/tile/stackguard-macros.h Tue May 15 00:02:13 2012
@@ -1,0 +1,7 @@
+#ifdef __tilegx__
+# define STACK_CHK_GUARD \
+ ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; })
+#else
+# define STACK_CHK_GUARD \
+ ({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; })
+#endif
Added: fsf/trunk/ports/sysdeps/tile/start.S
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/start.S (added)
+++ fsf/trunk/ports/sysdeps/tile/start.S Tue May 15 00:02:13 2012
@@ -1,0 +1,183 @@
+/* Copyright (C) 2011 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
+
+ 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.
+
+ In addition to the permissions in the GNU Lesser General Public
+ License, the Free Software Foundation gives you unlimited
+ permission to link the compiled version of this file with other
+ programs, and to distribute those programs without any restriction
+ coming from the use of this file. (The GNU Lesser General Public
+ License restrictions do apply in other respects; for example, they
+ cover modification of the file, and distribution when not linked
+ into another program.)
+
+ Note that people who make modified versions of this file are not
+ obligated to grant this special exception for their modified
+ versions; it is their choice whether to do so. The GNU Lesser
+ General Public License gives permission to release a modified
+ version without this exception; this exception also makes it
+ possible to release a modified version which carries forward this
+ exception.
+
+ 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/>. */
+
+/* This is the canonical entry point, usually the first thing in the text
+ segment. The ELF standard tells us that the stack is set up like this on
+ entry (the left side is the offset from "sp"), in units of
+ __SIZEOF_POINTER__ entries:
+
+ +0 argc
+ +1 argv[0]
+ ...
+ +(argc+1) NULL
+ +(argc+2) envp[0]
+ ...
+ NULL
+ ... ElfInfo
+
+ The ElfInfo is pairs of key/value long words following the envp
+ pointers and terminated by a zero-valued key.
+
+ Although not mandated by the standard, it happens to be the case
+ that we store the actual argv and envp strings immediately after
+ the ElfInfo data on the stack.
+
+ On entry r0 points to the shared library termination function, or 0
+ if there isn't one.
+*/
+
+#include <features.h>
+#include <sysdep.h>
+#include <arch/abi.h>
+
+ .text
+ .global _start
+ .type _start,@function
+ .align 8
+_start:
+ /* Linux starts us with sp pointing at the conventional Elf layout,
+ but we need to allow two "caller" words for our ABI convention. */
+ {
+ /* Load argc (stored as a "long", equivalent to a pointer type). */
+ LD_PTR r1, sp
+
+ /* Save incoming 'sp', which points to the Elf argument block. */
+ move r52, sp
+ }
+
+ {
+ /* Allocate stack frame callee space for __libc_start_main. */
+ ADDI_PTR r12, sp, -(2 * REGSIZE)
+ }
+
+ {
+ /* Get our PC. */
+ lnk r13
+
+ /* sp is not necessarily properly aligned on startup because
+ of the way ld.so pops off leading argv elements. So align it. */
+ andi sp, r12, -8
+ }
+.Lmy_pc:
+
+ {
+ /* Pass the address of the shared library termination function. */
+ move r5, r0
+
+ /* Compute location where __libc_start_main's caller is supposed to
+ store its frame pointer. */
+ ADDI_PTR r12, sp, REGSIZE
+
+ /* Zero out callee space for return address. Unnecessary but free.
+ This is just paranoia to help backtracing not go awry. */
+ ST sp, zero
+ }
+ {
+ /* Zero out our frame pointer for __libc_start_main. */
+ ST r12, zero
+
+ /* Zero out lr to make __libc_start_main the end of backtrace. */
+ move lr, zero
+
+ /* Compute a pointer to argv. envp will be determined
+ later in __libc_start_main. We set up the first argument
+ (the address of main) below. */
+ ADDI_PTR r2, r52, __SIZEOF_POINTER__
+ }
+ {
+ /* Pass the highest stack address to user code. */
+ ADDI_PTR r6, sp, (2 * REGSIZE)
+
+ /* Pass address of main() in r0, and of our own entry
+ points to .fini and .init in r3 and r4. */
+#ifdef __tilegx__
+ moveli r0, hw2_last(main - .Lmy_pc)
+ }
+ {
+ moveli r3, hw2_last(__libc_csu_init - .Lmy_pc)
+ shl16insli r0, r0, hw1(main - .Lmy_pc)
+ }
+ {
+ shl16insli r3, r3, hw1(__libc_csu_init - .Lmy_pc)
+ shl16insli r0, r0, hw0(main - .Lmy_pc)
+ }
+ {
+ shl16insli r3, r3, hw0(__libc_csu_init - .Lmy_pc)
+ moveli r4, hw2_last(__libc_csu_fini - .Lmy_pc)
+ }
+ {
+ ADD_PTR r0, r0, r13
+ shl16insli r4, r4, hw1(__libc_csu_fini - .Lmy_pc)
+ }
+ {
+ ADD_PTR r3, r3, r13
+ shl16insli r4, r4, hw0(__libc_csu_fini - .Lmy_pc)
+ }
+ {
+ ADD_PTR r4, r4, r13
+#else
+ addli r0, r13, lo16(main - .Lmy_pc)
+ }
+ {
+ auli r0, r0, ha16(main - .Lmy_pc)
+ addli r3, r13, lo16(__libc_csu_init - .Lmy_pc)
+ }
+ {
+ auli r3, r3, ha16(__libc_csu_init - .Lmy_pc)
+ addli r4, r13, lo16(__libc_csu_fini - .Lmy_pc)
+ }
+ {
+ auli r4, r4, ha16(__libc_csu_fini - .Lmy_pc)
+
+#endif
+
+ /* Call the user's main function, and exit with its value.
+ But let the libc call main. */
+ j plt(__libc_start_main)
+ }
+ {
+ /* Tell backtracer to give up (_start has no caller). */
+ info INFO_OP_CANNOT_BACKTRACE
+ }
+.size _start, .-_start
+
+/* Define a symbol for the first piece of initialized data. */
+ .data
+ .global __data_start
+ .align 8
+__data_start:
+ .long 0
+ .weak data_start
+ data_start = __data_start
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/memchr.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/memchr.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/memchr.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -41,7 +41,7 @@
p = (const uint64_t *) (s_int & -8);
/* Create eight copies of the byte for which we are looking. */
- goal = 0x0101010101010101ULL * (uint8_t) c;
+ goal = copy_byte(c);
/* Read the first word, but munge it so that bytes before the array
will not match goal. */
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/memcpy.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/memcpy.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/memcpy.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -106,6 +106,17 @@
for (; (uintptr_t) dst8 & (CHIP_L2_LINE_SIZE () - 1);
n -= sizeof (word_t))
*dst8++ = *src8++;
+
+ /* If copying to self, return. The test is cheap enough
+ that we do it despite the fact that the memcpy() contract
+ doesn't require us to support overlapping dst and src.
+ This is the most common case of overlap, and any close
+ overlap will cause corruption due to the wh64 below.
+ This case is particularly important since the compiler
+ will emit memcpy() calls for aggregate copies even if it
+ can't prove that src != dst. */
+ if (__builtin_expect (dst8 == src8, 0))
+ return dstv;
for (; n >= CHIP_L2_LINE_SIZE ();)
{
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/memset.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/memset.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/memset.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -19,6 +19,7 @@
#include <arch/chip.h>
#include <string.h>
#include <stdint.h>
+#include "string-endian.h"
void *
__memset (void *s, int c, size_t n)
@@ -71,7 +72,7 @@
n64 = n >> 3;
/* Tile input byte out to 64 bits. */
- v64 = 0x0101010101010101ULL * (uint8_t) c;
+ v64 = copy_byte(c);
/* This must be at least 8 or the following loop doesn't work. */
#define CACHE_LINE_SIZE_IN_DOUBLEWORDS (CHIP_L2_LINE_SIZE() / 8)
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/rawmemchr.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/rawmemchr.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/rawmemchr.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -28,7 +28,7 @@
const uint64_t *p = (const uint64_t *) (s_int & -8);
/* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = 0x0101010101010101ULL * (uint8_t) c;
+ const uint64_t goal = copy_byte(c);
/* Read the first word, but munge it so that bytes before the array
will not match goal. */
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/strchr.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/strchr.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/strchr.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -32,7 +32,7 @@
const uint64_t *p = (const uint64_t *) (s_int & -8);
/* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = 0x0101010101010101ULL * (uint8_t) c;
+ const uint64_t goal = copy_byte(c);
/* Read the first aligned word, but force bytes before the string to
match neither zero nor goal (we make sure the high bit of each byte
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/strchrnul.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/strchrnul.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/strchrnul.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -30,7 +30,7 @@
const uint64_t *p = (const uint64_t *) (s_int & -8);
/* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = 0x0101010101010101ULL * (uint8_t) c;
+ const uint64_t goal = copy_byte(c);
/* Read the first aligned word, but force bytes before the string to
match neither zero nor goal (we make sure the high bit of each byte
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/string-endian.h
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/string-endian.h (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/string-endian.h Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -33,3 +33,13 @@
#define CFZ(x) __insn_clz(x)
#define REVCZ(x) __insn_ctz(x)
#endif
+
+/* Create eight copies of the byte in a uint64_t. */
+static inline uint64_t copy_byte(uint8_t byte)
+{
+ uint64_t word = byte;
+ word = __insn_bfins(word, word, 8, 15);
+ word = __insn_bfins(word, word, 16, 31);
+ word = __insn_bfins(word, word, 32, 63);
+ return word;
+}
Modified: fsf/trunk/ports/sysdeps/tile/tilegx/strrchr.c
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tilegx/strrchr.c (original)
+++ fsf/trunk/ports/sysdeps/tile/tilegx/strrchr.c Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -28,7 +28,7 @@
const uint64_t *p = (const uint64_t *) (s_int & -8);
/* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = 0x0101010101010101ULL * (uint8_t) c;
+ const uint64_t goal = copy_byte(c);
/* Read the first aligned word, but force bytes before the string to
match neither zero nor goal (we make sure the high bit of each byte
Modified: fsf/trunk/ports/sysdeps/tile/tls-macros.h
==============================================================================
--- fsf/trunk/ports/sysdeps/tile/tls-macros.h (original)
+++ fsf/trunk/ports/sysdeps/tile/tls-macros.h Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -17,13 +17,14 @@
<http://www.gnu.org/licenses/>. */
#ifdef __tilegx__
-#define TLS_GD_REL "hw0_last_tls_gd"
-#define TLS_IE_REL "hw0_last_tls_ie"
-#define LD_TLS "ld_tls"
+#define TLS_GD_OFFSET(x) \
+ "moveli r0, hw1_last_tls_gd(" #x ")\n\t" \
+ "shl16insli r0, r0, hw0_tls_gd(" #x ")\n\t" \
+ "addi r0, %1, tls_add(" #x ")\n\t"
#else
-#define TLS_GD_REL "tls_gd_lo16"
-#define TLS_IE_REL "tls_ie_lo16"
-#define LD_TLS "lw_tls"
+#define TLS_GD_OFFSET(x) \
+ "auli r0, %1, tls_gd_ha16(" #x ")\n\t" \
+ "addli r0, r0, tls_gd_lo16(" #x ")\n\t"
#endif
#define TLS_GD(x) \
@@ -31,26 +32,53 @@
int *__retval; \
extern char _GLOBAL_OFFSET_TABLE_[]; \
\
- asm ("addli r0, %1, " TLS_GD_REL "(" #x ")\n\t" \
+ asm (TLS_GD_OFFSET(x) \
"jal tls_gd_call(" #x ")\n\t" \
"addi %0, r0, tls_gd_add(" #x ")" : \
- "=r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_) : \
- "r25", "r26", "r27", "r28", "r29"); \
+ "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_) : \
+ "r0", "r25", "r26", "r27", "r28", "r29"); \
__retval; })
/* No special support for LD mode. */
#define TLS_LD TLS_GD
+
+#ifdef __tilegx__
+#define TLS_IE_OFFSET(x) \
+ "moveli %0, hw1_last_tls_ie(" #x ")\n\t" \
+ "shl16insli %0, %0, hw0_tls_ie(" #x ")\n\t" \
+ "addi %0, %1, tls_add(" #x ")\n\t"
+#define LD_TLS "ld_tls"
+#else
+#define TLS_IE_OFFSET(x) \
+ "auli %0, %1, tls_ie_ha16(" #x ")\n\t" \
+ "addli %0, %0, tls_ie_lo16(" #x ")\n\t"
+#define LD_TLS "lw_tls"
+#endif
#define TLS_IE(x) \
({ \
int *__retval; \
extern char _GLOBAL_OFFSET_TABLE_[]; \
\
- asm ("addli %0, %1, " TLS_IE_REL "(" #x ")\n\t" \
- LD_TLS " %0, %0, tls_ie_load(" #x ")\n\t" \
+ asm (TLS_IE_OFFSET(x) \
+ LD_TLS " %0, %0, tls_ie_load(" #x ")\n\t" \
"add %0, %0, tp" : \
- "=r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_)); \
+ "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_)); \
__retval; })
-/* No special support for LE mode. */
-#define TLS_LE TLS_IE
+#ifdef __tilegx__
+#define _TLS_LE(x) \
+ "moveli %0, hw1_last_tls_le(" #x ")\n\t" \
+ "shl16insli %0, %0, hw0_tls_le(" #x ")\n\t" \
+ "add %0, %0, tp"
+#else
+#define _TLS_LE(x) \
+ "auli %0, tp, tls_le_ha16(" #x ")\n\t" \
+ "addli %0, %0, tls_le_lo16(" #x ")\n\t"
+#endif
+
+#define TLS_LE(x) \
+ ({ \
+ int *__retval; \
+ asm (_TLS_LE(x) : "=r" (__retval)); \
+ __retval; })
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigaction.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigaction.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/sigaction.c Tue May 15 00:02:13 2012
@@ -27,10 +27,6 @@
kernel is not the same as we use in the libc. Therefore we must
translate it here. */
#include <kernel_sigaction.h>
-
-/* The variable is shared between all wrappers around signal handling
- functions which have RT equivalents. */
-int __libc_missing_rt_sigs;
#define SA_RESTORER 0x04000000
@@ -69,97 +65,42 @@
const struct sigaction *act;
struct sigaction *oact;
{
-#ifndef __ASSUME_REALTIME_SIGNALS
- struct old_kernel_sigaction k_sigact, k_osigact;
-#endif
int result;
-#ifdef __NR_rt_sigaction
- /* First try the RT signals. */
-# ifndef __ASSUME_REALTIME_SIGNALS
- if (!__libc_missing_rt_sigs)
-# endif
- {
- struct kernel_sigaction kact, koact;
-# ifndef __ASSUME_REALTIME_SIGNALS
- int saved_errno = errno;
-# endif
+ struct kernel_sigaction kact, koact;
- if (act)
- {
- kact.k_sa_handler = act->sa_handler;
- memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
- kact.sa_flags = act->sa_flags;
-# ifdef HAVE_SA_RESTORER
- if (kact.sa_flags & SA_RESTORER)
- kact.sa_restorer = act->sa_restorer;
- else
- {
- kact.sa_restorer = choose_restorer (kact.sa_flags);
- kact.sa_flags |= SA_RESTORER;
- }
-# endif
- }
-
- /* XXX The size argument hopefully will have to be changed to the
- real size of the user-level sigset_t. */
- result = INLINE_SYSCALL (rt_sigaction, 4, sig,
- act ? __ptrvalue (&kact) : NULL,
- oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
-
-# ifndef __ASSUME_REALTIME_SIGNALS
- if (result >= 0 || errno != ENOSYS)
-# endif
- {
- if (oact && result >= 0)
- {
- oact->sa_handler = koact.k_sa_handler;
- memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
- oact->sa_flags = koact.sa_flags;
-# ifdef HAVE_SA_RESTORER
- oact->sa_restorer = koact.sa_restorer;
-# endif
- }
- return result;
- }
-
-# ifndef __ASSUME_REALTIME_SIGNALS
- __set_errno (saved_errno);
- __libc_missing_rt_sigs = 1;
-# endif
- }
-#endif
-
-#ifndef __ASSUME_REALTIME_SIGNALS
if (act)
{
- k_sigact.k_sa_handler = act->sa_handler;
- k_sigact.sa_mask = act->sa_mask.__val[0];
- k_sigact.sa_flags = act->sa_flags;
-# ifdef HAVE_SA_RESTORER
- if (k_sigact.sa_flags & SA_RESTORER)
- k_sigact.sa_restorer = act->sa_restorer;
+ kact.k_sa_handler = act->sa_handler;
+ memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+ kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+ if (kact.sa_flags & SA_RESTORER)
+ kact.sa_restorer = act->sa_restorer;
else
{
- k_sigact.sa_restorer = choose_restorer (k_sigact.sa_flags);
- k_sigact.sa_flags |= SA_RESTORER;
+ kact.sa_restorer = choose_restorer (kact.sa_flags);
+ kact.sa_flags |= SA_RESTORER;
}
-# endif
+#endif
}
- result = INLINE_SYSCALL (sigaction, 3, sig,
- act ? __ptrvalue (&k_sigact) : NULL,
- oact ? __ptrvalue (&k_osigact) : NULL);
+
+ /* XXX The size argument hopefully will have to be changed to the
+ real size of the user-level sigset_t. */
+ result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+ act ? __ptrvalue (&kact) : NULL,
+ oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
+
if (oact && result >= 0)
{
- oact->sa_handler = k_osigact.k_sa_handler;
- oact->sa_mask.__val[0] = k_osigact.sa_mask;
- oact->sa_flags = k_osigact.sa_flags;
-# ifdef HAVE_SA_RESTORER
- oact->sa_restorer = k_osigact.sa_restorer;
-# endif
+ oact->sa_handler = koact.k_sa_handler;
+ memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+ oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+ oact->sa_restorer = koact.sa_restorer;
+#endif
}
return result;
-#endif
}
libc_hidden_def (__libc_sigaction)
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h Tue May 15 00:02:13 2012
@@ -46,10 +46,10 @@
# define __field64(type, type64, name) type name
#elif __BYTE_ORDER == __LITTLE_ENDIAN
# define __field64(type, type64, name) \
- type name __attribute__((aligned(8))); int __##name##_pad
+ type name __attribute__((__aligned__(8))); int __##name##_pad
#else
# define __field64(type, type64, name) \
- int __##name##_pad __attribute__((aligned(8))); type name
+ int __##name##_pad __attribute__((__aligned__(8))); type name
#endif
struct stat
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h Tue May 15 00:02:13 2012
@@ -38,10 +38,10 @@
# define __field64(type, type64, name) type name
#elif __BYTE_ORDER == __LITTLE_ENDIAN
# define __field64(type, type64, name) \
- type name __attribute__((aligned(8))); int __##name##_pad
+ type name __attribute__((__aligned__(8))); int __##name##_pad
#else
# define __field64(type, type64, name) \
- int __##name##_pad __attribute__((aligned(8))); type name
+ int __##name##_pad __attribute__((__aligned__(8))); type name
#endif
struct statfs
@@ -58,7 +58,7 @@
__SWORD_TYPE f_frsize;
__SWORD_TYPE f_flags;
__SWORD_TYPE f_spare[4];
- } __attribute__((aligned(8)));
+ } __attribute__((__aligned__(8)));
#undef __field64
@@ -77,7 +77,7 @@
__SWORD_TYPE f_frsize;
__SWORD_TYPE f_flags;
__SWORD_TYPE f_spare[4];
- } __attribute__((aligned(8)));
+ } __attribute__((__aligned__(8)));
#endif
/* Tell code we have these members. */
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h Tue May 15 00:02:13 2012
@@ -1,5 +1,5 @@
/* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -58,6 +58,7 @@
#define __BLKSIZE_T_TYPE __S32_TYPE
#define __FSID_T_TYPE struct { int __val[2]; }
#define __SSIZE_T_TYPE __SWORD_TYPE
+#define __SNSECONDS_T_TYPE __SLONGWORD_TYPE
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 1024
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list Tue May 15 00:02:13 2012
@@ -3,3 +3,5 @@
# rlimit APIs
getrlimit - getrlimit i:ip __getrlimit getrlimit
setrlimit - setrlimit i:ip __setrlimit setrlimit
+prlimit64 EXTRA prlimit64 i:iipp prlimit64
+fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure Tue May 15 00:02:13 2012
@@ -4,7 +4,6 @@
arch_minimum_kernel=2.6.10
;;
*)
- arch_minimum_kernel=2.0.10
libc_cv_gcc_unwind_find_fde=yes
;;
esac
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/configure.in Tue May 15 00:02:13 2012
@@ -5,7 +5,6 @@
arch_minimum_kernel=2.6.10
;;
*)
- arch_minimum_kernel=2.0.10
libc_cv_gcc_unwind_find_fde=yes
;;
esac
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h Tue May 15 00:02:13 2012
@@ -25,7 +25,6 @@
# define __ASSUME_FCNTL64 1
# define __ASSUME_VFORK_SYSCALL 1
# define __ASSUME_NEW_GETRLIMIT_SYSCALL 1
-# define __ASSUME_VFORK_SYSCALL 1
#endif
/* Many syscalls were added in 2.6.10 for m68k. */
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread.c Tue May 15 00:02:13 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
- Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -38,12 +37,6 @@
# define __NR_pread __NR_pread64
#endif
-#if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
-
-# if __ASSUME_PREAD_SYSCALL == 0
-static ssize_t __emulate_pread (int fd, void *buf, size_t count,
- off_t offset) internal_function;
-# endif
ssize_t
__libc_pread (fd, buf, count, offset)
@@ -60,7 +53,6 @@
if (SINGLE_THREAD_P)
{
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
offset);
@@ -68,28 +60,17 @@
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));
#endif
-# if __ASSUME_PREAD_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pread (fd, buf, count, offset);
-# endif
return result;
}
int oldtype = LIBC_CANCEL_ASYNC ();
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
#else
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));
#endif
-# if __ASSUME_PREAD_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pread (fd, buf, count, offset);
-# endif
LIBC_CANCEL_RESET (oldtype);
@@ -98,11 +79,3 @@
strong_alias (__libc_pread, __pread)
weak_alias (__libc_pread, pread)
-
-# define __libc_pread(fd, buf, count, offset) \
- static internal_function __emulate_pread (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PREAD_SYSCALL == 0
-# include <sysdeps/posix/pread.c>
-#endif
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread64.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread64.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pread64.c Tue May 15 00:02:13 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
- Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -37,12 +36,6 @@
# define __NR_pread __NR_pread64
#endif
-#if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
-
-# if __ASSUME_PREAD_SYSCALL == 0
-static ssize_t __emulate_pread64 (int fd, void *buf, size_t count,
- off64_t offset) internal_function;
-# endif
ssize_t
__libc_pread64 (fd, buf, count, offset)
@@ -56,7 +49,6 @@
if (SINGLE_THREAD_P)
{
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
offset);
@@ -65,17 +57,11 @@
__LONG_LONG_PAIR ((off_t) (offset >> 32),
(off_t) (offset & 0xffffffff)));
#endif
-# if __ASSUME_PREAD_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pread64 (fd, buf, count, offset);
-# endif
return result;
}
int oldtype = LIBC_CANCEL_ASYNC ();
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
#else
@@ -83,11 +69,6 @@
__LONG_LONG_PAIR ((off_t) (offset >> 32),
(off_t) (offset & 0xffffffff)));
#endif
-# if __ASSUME_PREAD_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pread64 (fd, buf, count, offset);
-# endif
LIBC_CANCEL_RESET (oldtype);
@@ -96,11 +77,3 @@
weak_alias (__libc_pread64, __pread64)
weak_alias (__libc_pread64, pread64)
-
-# define __libc_pread64(fd, buf, count, offset) \
- static internal_function __emulate_pread64 (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PREAD_SYSCALL == 0
-# include <sysdeps/posix/pread64.c>
-#endif
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite.c Tue May 15 00:02:13 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
- Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -38,12 +37,6 @@
# define __NR_pwrite __NR_pwrite64
#endif
-#if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
-
-# if __ASSUME_PWRITE_SYSCALL == 0
-static ssize_t __emulate_pwrite (int fd, const void *buf, size_t count,
- off_t offset) internal_function;
-# endif
ssize_t
__libc_pwrite (fd, buf, count, offset)
@@ -60,7 +53,6 @@
if (SINGLE_THREAD_P)
{
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
offset);
@@ -68,28 +60,17 @@
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));
#endif
-# if __ASSUME_PWRITE_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pwrite (fd, buf, count, offset);
-# endif
return result;
}
int oldtype = LIBC_CANCEL_ASYNC ();
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
#else
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));
#endif
-# if __ASSUME_PWRITE_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pwrite (fd, buf, count, offset);
-# endif
LIBC_CANCEL_RESET (oldtype);
@@ -98,11 +79,3 @@
strong_alias (__libc_pwrite, __pwrite)
weak_alias (__libc_pwrite, pwrite)
-
-# define __libc_pwrite(fd, buf, count, offset) \
- static internal_function __emulate_pwrite (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PWRITE_SYSCALL == 0
-# include <sysdeps/posix/pwrite.c>
-#endif
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite64.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite64.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/pwrite64.c Tue May 15 00:02:13 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
- Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ralf Baechle <ralf@xxxxxxx>, 1998.
@@ -37,12 +36,6 @@
# define __NR_pwrite __NR_pwrite64
#endif
-#if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
-
-# if __ASSUME_PWRITE_SYSCALL == 0
-static ssize_t __emulate_pwrite64 (int fd, const void *buf, size_t count,
- off64_t offset) internal_function;
-# endif
ssize_t
__libc_pwrite64 (fd, buf, count, offset)
@@ -55,7 +48,6 @@
if (SINGLE_THREAD_P)
{
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
offset);
@@ -64,18 +56,12 @@
__LONG_LONG_PAIR ((off_t) (offset >> 32),
(off_t) (offset & 0xffffffff)));
#endif
-# if __ASSUME_PWRITE_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pwrite64 (fd, buf, count, offset);
-# endif
return result;
}
int oldtype = LIBC_CANCEL_ASYNC ();
- /* First try the syscall. */
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
#else
@@ -83,11 +69,6 @@
__LONG_LONG_PAIR ((off_t) (offset >> 32),
(off_t) (offset & 0xffffffff)));
#endif
-# if __ASSUME_PWRITE_SYSCALL == 0
- if (result == -1 && errno == ENOSYS)
- /* No system call available. Use the emulation. */
- result = __emulate_pwrite64 (fd, buf, count, offset);
-# endif
LIBC_CANCEL_RESET (oldtype);
@@ -97,11 +78,3 @@
weak_alias (__libc_pwrite64, __pwrite64)
libc_hidden_weak (__pwrite64)
weak_alias (__libc_pwrite64, pwrite64)
-
-# define __libc_pwrite64(fd, buf, count, offset) \
- static internal_function __emulate_pwrite64 (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PWRITE_SYSCALL == 0
-# include <sysdeps/posix/pwrite64.c>
-#endif
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/sigaction.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/sigaction.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/sigaction.c Tue May 15 00:02:13 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2004,2006
- Free Software Foundation, Inc.
+/* Copyright (C) 1997-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
@@ -33,13 +32,6 @@
translate it here. */
#include <kernel_sigaction.h>
-#if __ASSUME_REALTIME_SIGNALS == 0
-/* The variable is shared between all wrappers around signal handling
- functions which have RT equivalents. This is the definition. */
-int __libc_missing_rt_sigs;
-
-#endif
-
#if _MIPS_SIM != _ABIO32
# ifdef __NR_rt_sigreturn
@@ -58,97 +50,42 @@
const struct sigaction *act;
struct sigaction *oact;
{
-#if __ASSUME_REALTIME_SIGNALS == 0
- struct old_kernel_sigaction k_sigact, k_osigact;
-#endif
int result;
-#if defined __NR_rt_sigaction || __ASSUME_REALTIME_SIGNALS > 0
- /* First try the RT signals. */
-# if __ASSUME_REALTIME_SIGNALS == 0
- if (!__libc_missing_rt_sigs)
-# endif
- {
- struct kernel_sigaction kact, koact;
- /* Save the current error value for later. We need not do this
- if we are guaranteed to have realtime signals. */
-# if __ASSUME_REALTIME_SIGNALS == 0
- int saved_errno = errno;
-# endif
+ struct kernel_sigaction kact, koact;
- if (act)
- {
- kact.k_sa_handler = act->sa_handler;
- memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kernel_sigset_t));
- kact.sa_flags = act->sa_flags;
-# ifdef HAVE_SA_RESTORER
-# if _MIPS_SIM == _ABIO32
- kact.sa_restorer = act->sa_restorer;
-# else
- kact.sa_restorer = &restore_rt;
-# endif
-# endif
- }
-
- /* XXX The size argument hopefully will have to be changed to the
- real size of the user-level sigset_t. */
- result = INLINE_SYSCALL (rt_sigaction, 4, sig,
- act ? __ptrvalue (&kact) : NULL,
- oact ? __ptrvalue (&koact) : NULL,
- sizeof (kernel_sigset_t));
-
-# if __ASSUME_REALTIME_SIGNALS == 0
- if (result >= 0 || errno != ENOSYS)
-# endif
- {
- if (oact && result >= 0)
- {
- oact->sa_handler = koact.k_sa_handler;
- memcpy (&oact->sa_mask, &koact.sa_mask,
- sizeof (kernel_sigset_t));
- oact->sa_flags = koact.sa_flags;
-# ifdef HAVE_SA_RESTORER
- oact->sa_restorer = koact.sa_restorer;
-# endif
- }
- return result;
- }
-
-# if __ASSUME_REALTIME_SIGNALS == 0
- __set_errno (saved_errno);
- __libc_missing_rt_sigs = 1;
-# endif
- }
-#endif
-
-#if __ASSUME_REALTIME_SIGNALS == 0
if (act)
{
- k_sigact.k_sa_handler = act->sa_handler;
- k_sigact.sa_mask = act->sa_mask.__val[0];
- k_sigact.sa_flags = act->sa_flags;
-# ifdef HAVE_SA_RESTORER
- k_sigact.sa_restorer = act->sa_restorer;
+ kact.k_sa_handler = act->sa_handler;
+ memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kernel_sigset_t));
+ kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+# if _MIPS_SIM == _ABIO32
+ kact.sa_restorer = act->sa_restorer;
+# else
+ kact.sa_restorer = &restore_rt;
# endif
+#endif
}
- result = INLINE_SYSCALL (sigaction, 3, sig,
- act ? __ptrvalue (&k_sigact) : NULL,
- oact ? __ptrvalue (&k_osigact) : NULL);
+
+ /* XXX The size argument hopefully will have to be changed to the
+ real size of the user-level sigset_t. */
+ result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+ act ? __ptrvalue (&kact) : NULL,
+ oact ? __ptrvalue (&koact) : NULL,
+ sizeof (kernel_sigset_t));
+
if (oact && result >= 0)
{
- oact->sa_handler = k_osigact.k_sa_handler;
- oact->sa_mask.__val[0] = k_osigact.sa_mask;
- oact->sa_flags = k_osigact.sa_flags;
-# ifdef HAVE_SA_RESTORER
-# if _MIPS_SIM == _ABIO32
- oact->sa_restorer = k_osigact.sa_restorer;
-# else
- oact->sa_restorer = &restore;
-# endif
-# endif
+ oact->sa_handler = koact.k_sa_handler;
+ memcpy (&oact->sa_mask, &koact.sa_mask,
+ sizeof (kernel_sigset_t));
+ oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+ oact->sa_restorer = koact.sa_restorer;
+#endif
}
return result;
-#endif
}
libc_hidden_def (__libc_sigaction)
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/bits/siginfo.h Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -47,7 +47,7 @@
# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3)
# endif
-typedef struct siginfo
+typedef struct
{
int si_signo; /* Signal number. */
int si_errno; /* If non-zero, an errno value associated with
@@ -275,6 +275,12 @@
# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
# endif
+/* Forward declaration. */
+# ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t 1
+# endif
+
typedef struct sigevent
{
sigval_t sigev_value;
@@ -292,7 +298,7 @@
struct
{
void (*_function) (sigval_t); /* Function to start. */
- void *_attribute; /* Really pthread_attr_t. */
+ pthread_attr_t *_attribute; /* Thread attributes. */
} _sigev_thread;
} _sigev_un;
} sigevent_t;
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/Makefile
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/Makefile (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/Makefile Tue May 15 00:02:13 2012
@@ -1,7 +1,2 @@
# pull in __syscall_error routine
libpthread-routines += sysdep
-
-ifeq ($(subdir),nptl)
-# Avoid .cfi_startproc/endproc markers when creating init and fini pieces.
-CFLAGS-pt-initfini.s += -fno-asynchronous-unwind-tables
-endif
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Based on work contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -50,12 +50,15 @@
typedef unsigned long int pthread_t;
-typedef union
+union pthread_attr_t
{
char __size[__SIZEOF_PTHREAD_ATTR_T];
long int __align;
-} pthread_attr_t;
-
+};
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
#if __WORDSIZE == 64
typedef struct __pthread_internal_list
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/clone.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/clone.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/nptl/clone.S Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -167,6 +167,7 @@
in getpid(). Otherwise (if CLONE_VM isn't set), it's a
fork-like clone, and we go ahead and write the cached values
from the true system pid (retrieved via __NR_getpid syscall). */
+ cfi_def_cfa_offset (FRAME_SIZE)
#ifdef __tilegx__
{
moveli r0, hw1_last(CLONE_VM)
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/sys/dataplane.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/sys/dataplane.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/sys/dataplane.h Tue May 15 00:02:13 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@xxxxxxxxxx>, 2011.
@@ -19,6 +19,8 @@
#ifndef _SYS_DATAPLANE_H
#define _SYS_DATAPLANE_H 1
+#include <features.h>
+
/* Get the kernel definition for the flag bits. */
#include <asm/dataplane.h>
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/ld.abilist
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/ld.abilist (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/ld.abilist Tue May 15 00:02:13 2012
@@ -1,0 +1,11 @@
+GLIBC_2.12
+ GLIBC_2.12 A
+ __libc_memalign F
+ __libc_stack_end D 0x4
+ __tls_get_addr F
+ _dl_mcount F
+ _r_debug D 0x14
+ calloc F
+ free F
+ malloc F
+ realloc F
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libBrokenLocale.abilist
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libBrokenLocale.abilist (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libBrokenLocale.abilist Tue May 15 00:02:13 2012
@@ -1,0 +1,3 @@
+GLIBC_2.12
+ GLIBC_2.12 A
+ __ctype_get_mb_cur_max F
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libanl.abilist
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libanl.abilist (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libanl.abilist Tue May 15 00:02:13 2012
@@ -1,0 +1,6 @@
+GLIBC_2.12
+ GLIBC_2.12 A
+ gai_cancel F
+ gai_error F
+ gai_suspend F
+ getaddrinfo_a F
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist Tue May 15 00:02:13 2012
@@ -1,0 +1,2080 @@
+GLIBC_2.12
+ GLIBC_2.12 A
+ _Exit F
+ _IO_2_1_stderr_ D 0xa0
+ _IO_2_1_stdin_ D 0xa0
+ _IO_2_1_stdout_ D 0xa0
+ _IO_adjust_column F
+ _IO_adjust_wcolumn F
+ _IO_default_doallocate F
+ _IO_default_finish F
+ _IO_default_pbackfail F
+ _IO_default_uflow F
+ _IO_default_xsgetn F
+ _IO_default_xsputn F
+ _IO_do_write F
+ _IO_doallocbuf F
+ _IO_fclose F
+ _IO_fdopen F
+ _IO_feof F
+ _IO_ferror F
+ _IO_fflush F
+ _IO_fgetpos F
+ _IO_fgetpos64 F
+ _IO_fgets F
+ _IO_file_attach F
+ _IO_file_close F
+ _IO_file_close_it F
+ _IO_file_doallocate F
+ _IO_file_finish F
+ _IO_file_fopen F
+ _IO_file_init F
+ _IO_file_jumps D 0x54
+ _IO_file_open F
+ _IO_file_overflow F
+ _IO_file_read F
+ _IO_file_seek F
+ _IO_file_seekoff F
+ _IO_file_setbuf F
+ _IO_file_stat F
+ _IO_file_sync F
+ _IO_file_underflow F
+ _IO_file_write F
+ _IO_file_xsputn F
+ _IO_flockfile F
+ _IO_flush_all F
+ _IO_flush_all_linebuffered F
+ _IO_fopen F
+ _IO_fprintf F
+ _IO_fputs F
+ _IO_fread F
+ _IO_free_backup_area F
+ _IO_free_wbackup_area F
+ _IO_fsetpos F
+ _IO_fsetpos64 F
+ _IO_ftell F
+ _IO_ftrylockfile F
+ _IO_funlockfile F
+ _IO_fwrite F
+ _IO_getc F
+ _IO_getline F
+ _IO_getline_info F
+ _IO_gets F
+ _IO_init F
+ _IO_init_marker F
+ _IO_init_wmarker F
+ _IO_iter_begin F
+ _IO_iter_end F
+ _IO_iter_file F
+ _IO_iter_next F
+ _IO_least_wmarker F
+ _IO_link_in F
+ _IO_list_all D 0x4
+ _IO_list_lock F
+ _IO_list_resetlock F
+ _IO_list_unlock F
+ _IO_marker_delta F
+ _IO_marker_difference F
+ _IO_padn F
+ _IO_peekc_locked F
+ _IO_popen F
+ _IO_printf F
+ _IO_proc_close F
+ _IO_proc_open F
+ _IO_putc F
+ _IO_puts F
+ _IO_remove_marker F
+ _IO_seekmark F
+ _IO_seekoff F
+ _IO_seekpos F
+ _IO_seekwmark F
+ _IO_setb F
+ _IO_setbuffer F
+ _IO_setvbuf F
+ _IO_sgetn F
+ _IO_sprintf F
+ _IO_sputbackc F
+ _IO_sputbackwc F
+ _IO_sscanf F
+ _IO_str_init_readonly F
+ _IO_str_init_static F
+ _IO_str_overflow F
+ _IO_str_pbackfail F
+ _IO_str_seekoff F
+ _IO_str_underflow F
+ _IO_sungetc F
+ _IO_sungetwc F
+ _IO_switch_to_get_mode F
+ _IO_switch_to_main_wget_area F
+ _IO_switch_to_wbackup_area F
+ _IO_switch_to_wget_mode F
+ _IO_un_link F
+ _IO_ungetc F
+ _IO_unsave_markers F
+ _IO_unsave_wmarkers F
+ _IO_vfprintf F
+ _IO_vfscanf F
+ _IO_vsprintf F
+ _IO_wdefault_doallocate F
+ _IO_wdefault_finish F
+ _IO_wdefault_pbackfail F
+ _IO_wdefault_uflow F
+ _IO_wdefault_xsgetn F
+ _IO_wdefault_xsputn F
+ _IO_wdo_write F
+ _IO_wdoallocbuf F
+ _IO_wfile_jumps D 0x54
+ _IO_wfile_overflow F
+ _IO_wfile_seekoff F
+ _IO_wfile_sync F
+ _IO_wfile_underflow F
+ _IO_wfile_xsputn F
+ _IO_wmarker_delta F
+ _IO_wsetb F
+ ___brk_addr D 0x4
+ __adjtimex F
+ __after_morecore_hook D 0x4
+ __argz_count F
+ __argz_next F
+ __argz_stringify F
+ __asprintf F
+ __asprintf_chk F
+ __assert F
+ __assert_fail F
+ __assert_perror_fail F
+ __backtrace F
+ __backtrace_symbols F
+ __backtrace_symbols_fd F
+ __bsd_getpgrp F
+ __bzero F
+ __check_rhosts_file D 0x4
+ __chk_fail F
+ __clone F
+ __close F
+ __cmsg_nxthdr F
+ __confstr_chk F
+ __connect F
+ __ctype_b_loc F
+ __ctype_get_mb_cur_max F
+ __ctype_tolower_loc F
+ __ctype_toupper_loc F
+ __curbrk D 0x4
+ __cxa_at_quick_exit F
+ __cxa_atexit F
+ __cxa_finalize F
+ __cyg_profile_func_enter F
+ __cyg_profile_func_exit F
+ __daylight D 0x4
+ __dcgettext F
+ __default_morecore F
+ __dgettext F
+ __dprintf_chk F
+ __dup2 F
+ __duplocale F
+ __endmntent F
+ __environ D 0x4
+ __errno_location F
+ __fbufsize F
+ __fcntl F
+ __ffs F
+ __fgets_chk F
+ __fgets_unlocked_chk F
+ __fgetws_chk F
+ __fgetws_unlocked_chk F
+ __finite F
+ __finitef F
+ __flbf F
+ __fork F
+ __fpending F
+ __fprintf_chk F
+ __fpu_control D 0x4
+ __fpurge F
+ __fread_chk F
+ __fread_unlocked_chk F
+ __freadable F
+ __freading F
+ __free_hook D 0x4
+ __freelocale F
+ __fsetlocking F
+ __fwprintf_chk F
+ __fwritable F
+ __fwriting F
+ __fxstat F
+ __fxstat64 F
+ __fxstatat F
+ __fxstatat64 F
+ __getcwd_chk F
+ __getdelim F
+ __getdomainname_chk F
+ __getgroups_chk F
+ __gethostname_chk F
+ __getlogin_r_chk F
+ __getmntent_r F
+ __getpagesize F
+ __getpgid F
+ __getpid F
+ __gets_chk F
+ __gettimeofday F
+ __getwd_chk F
+ __gmtime_r F
+ __h_errno_location F
+ __isalnum_l F
+ __isalpha_l F
+ __isascii_l F
+ __isblank_l F
+ __iscntrl_l F
+ __isctype F
+ __isdigit_l F
+ __isgraph_l F
+ __isinf F
+ __isinff F
+ __islower_l F
+ __isnan F
+ __isnanf F
+ __isoc99_fscanf F
+ __isoc99_fwscanf F
+ __isoc99_scanf F
+ __isoc99_sscanf F
+ __isoc99_swscanf F
+ __isoc99_vfscanf F
+ __isoc99_vfwscanf F
+ __isoc99_vscanf F
+ __isoc99_vsscanf F
+ __isoc99_vswscanf F
+ __isoc99_vwscanf F
+ __isoc99_wscanf F
+ __isprint_l F
+ __ispunct_l F
+ __isspace_l F
+ __isupper_l F
+ __iswalnum_l F
+ __iswalpha_l F
+ __iswblank_l F
+ __iswcntrl_l F
+ __iswctype F
+ __iswctype_l F
+ __iswdigit_l F
+ __iswgraph_l F
+ __iswlower_l F
+ __iswprint_l F
+ __iswpunct_l F
+ __iswspace_l F
+ __iswupper_l F
+ __iswxdigit_l F
+ __isxdigit_l F
+ __ivaliduser F
+ __key_decryptsession_pk_LOCAL D 0x4
+ __key_encryptsession_pk_LOCAL D 0x4
+ __key_gendes_LOCAL D 0x4
+ __libc_allocate_rtsig F
+ __libc_calloc F
+ __libc_current_sigrtmax F
+ __libc_current_sigrtmin F
+ __libc_free F
+ __libc_freeres F
+ __libc_init_first F
+ __libc_mallinfo F
+ __libc_malloc F
+ __libc_mallopt F
+ __libc_memalign F
+ __libc_pvalloc F
+ __libc_realloc F
+ __libc_sa_len F
+ __libc_start_main F
+ __libc_valloc F
+ __longjmp_chk F
+ __lseek F
+ __lxstat F
+ __lxstat64 F
+ __malloc_hook D 0x4
+ __malloc_initialize_hook D 0x4
+ __mbrlen F
+ __mbrtowc F
+ __mbsnrtowcs_chk F
+ __mbsrtowcs_chk F
+ __mbstowcs_chk F
+ __mcount F
+ __memalign_hook D 0x4
+ __memcpy_chk F
+ __memmove_chk F
+ __mempcpy F
+ __mempcpy_chk F
+ __mempcpy_small F
+ __memset_chk F
+ __monstartup F
+ __morecore D 0x4
+ __nanosleep F
+ __newlocale F
+ __nl_langinfo_l F
+ __nss_configure_lookup F
+ __nss_database_lookup F
+ __nss_group_lookup F
+ __nss_hostname_digits_dots F
+ __nss_hosts_lookup F
+ __nss_next F
+ __nss_passwd_lookup F
+ __obstack_printf_chk F
+ __obstack_vprintf_chk F
+ __open F
+ __open64 F
+ __open64_2 F
+ __open_2 F
+ __openat64_2 F
+ __openat_2 F
+ __overflow F
+ __pipe F
+ __poll F
+ __posix_getopt F
+ __pread64 F
+ __pread64_chk F
+ __pread_chk F
+ __printf_chk F
+ __printf_fp F
+ __profile_frequency F
+ __progname D 0x4
+ __progname_full D 0x4
+ __ptsname_r_chk F
+ __pwrite64 F
+ __rawmemchr F
+ __rcmd_errstr D 0x4
+ __read F
+ __read_chk F
+ __readlink_chk F
+ __readlinkat_chk F
+ __realloc_hook D 0x4
+ __realpath_chk F
+ __recv_chk F
+ __recvfrom_chk F
+ __register_atfork F
+ __res_init F
+ __res_nclose F
+ __res_ninit F
+ __res_randomid F
+ __res_state F
+ __rpc_thread_createerr F
+ __rpc_thread_svc_fdset F
+ __rpc_thread_svc_max_pollfd F
+ __rpc_thread_svc_pollfd F
+ __sbrk F
+ __sched_cpualloc F
+ __sched_cpucount F
+ __sched_cpufree F
+ __sched_get_priority_max F
+ __sched_get_priority_min F
+ __sched_getparam F
+ __sched_getscheduler F
+ __sched_setscheduler F
+ __sched_yield F
+ __secure_getenv F
+ __select F
+ __setmntent F
+ __setpgid F
+ __sigaction F
+ __sigaddset F
+ __sigdelset F
+ __sigismember F
+ __signbit F
+ __signbitf F
+ __sigpause F
+ __sigsetjmp F
+ __sigsuspend F
+ __snprintf_chk F
+ __sprintf_chk F
+ __stack_chk_fail F
+ __statfs F
+ __stpcpy F
+ __stpcpy_chk F
+ __stpcpy_small F
+ __stpncpy F
+ __stpncpy_chk F
+ __strcasecmp F
+ __strcasecmp_l F
+ __strcasestr F
+ __strcat_chk F
+ __strcoll_l F
+ __strcpy_chk F
+ __strcpy_small F
+ __strcspn_c1 F
+ __strcspn_c2 F
+ __strcspn_c3 F
+ __strdup F
+ __strerror_r F
+ __strfmon_l F
+ __strftime_l F
+ __strncasecmp_l F
+ __strncat_chk F
+ __strncpy_chk F
+ __strndup F
+ __strpbrk_c2 F
+ __strpbrk_c3 F
+ __strsep_1c F
+ __strsep_2c F
+ __strsep_3c F
+ __strsep_g F
+ __strspn_c1 F
+ __strspn_c2 F
+ __strspn_c3 F
+ __strtod_internal F
+ __strtod_l F
+ __strtof_internal F
+ __strtof_l F
+ __strtok_r F
+ __strtok_r_1c F
+ __strtol_internal F
+ __strtol_l F
+ __strtold_internal F
+ __strtold_l F
+ __strtoll_internal F
+ __strtoll_l F
+ __strtoul_internal F
+ __strtoul_l F
+ __strtoull_internal F
+ __strtoull_l F
+ __strverscmp F
+ __strxfrm_l F
+ __swprintf_chk F
+ __sysconf F
+ __syslog_chk F
+ __sysv_signal F
+ __timezone D 0x4
+ __toascii_l F
+ __tolower_l F
+ __toupper_l F
+ __towctrans F
+ __towctrans_l F
+ __towlower_l F
+ __towupper_l F
+ __ttyname_r_chk F
+ __tzname D 0x8
+ __uflow F
+ __underflow F
+ __uselocale F
+ __vasprintf_chk F
+ __vdprintf_chk F
+ __vfork F
+ __vfprintf_chk F
+ __vfscanf F
+ __vfwprintf_chk F
+ __vprintf_chk F
+ __vsnprintf F
+ __vsnprintf_chk F
+ __vsprintf_chk F
+ __vsscanf F
+ __vswprintf_chk F
+ __vsyslog_chk F
+ __vwprintf_chk F
+ __wait F
+ __waitpid F
+ __wcpcpy_chk F
+ __wcpncpy_chk F
+ __wcrtomb_chk F
+ __wcscasecmp_l F
+ __wcscat_chk F
+ __wcscoll_l F
+ __wcscpy_chk F
+ __wcsftime_l F
+ __wcsncasecmp_l F
+ __wcsncat_chk F
+ __wcsncpy_chk F
+ __wcsnrtombs_chk F
+ __wcsrtombs_chk F
+ __wcstod_internal F
+ __wcstod_l F
+ __wcstof_internal F
+ __wcstof_l F
+ __wcstol_internal F
+ __wcstol_l F
+ __wcstold_internal F
+ __wcstold_l F
+ __wcstoll_internal F
+ __wcstoll_l F
+ __wcstombs_chk F
+ __wcstoul_internal F
+ __wcstoul_l F
+ __wcstoull_internal F
+ __wcstoull_l F
+ __wcsxfrm_l F
+ __wctomb_chk F
+ __wctrans_l F
+ __wctype_l F
+ __wmemcpy_chk F
+ __wmemmove_chk F
+ __wmempcpy_chk F
+ __wmemset_chk F
+ __woverflow F
+ __wprintf_chk F
+ __write F
+ __wuflow F
+ __wunderflow F
+ __xmknod F
+ __xmknodat F
+ __xpg_basename F
+ __xpg_sigpause F
+ __xpg_strerror_r F
+ __xstat F
+ __xstat64 F
+ _authenticate F
+ _dl_mcount_wrapper F
+ _dl_mcount_wrapper_check F
+ _environ D 0x4
+ _exit F
+ _flush_cache F
+ _flushlbf F
+ _libc_intl_domainname D 0x5
+ _longjmp F
+ _mcleanup F
+ _mcount F
+ _nl_default_dirname D 0x12
+ _nl_domain_bindings D 0x4
+ _nl_msg_cat_cntr D 0x4
+ _null_auth D 0xc
+ _obstack_allocated_p F
+ _obstack_begin F
+ _obstack_begin_1 F
+ _obstack_free F
+ _obstack_memory_used F
+ _obstack_newchunk F
+ _res D 0x200
+ _res_hconf D 0x30
+ _rpc_dtablesize F
+ _seterr_reply F
+ _setjmp F
+ _sys_errlist D 0x21c
+ _sys_nerr D 0x4
+ _sys_siglist D 0x104
+ _tolower F
+ _toupper F
+ a64l F
+ abort F
+ abs F
+ accept F
+ accept4 F
+ access F
+ acct F
+ addmntent F
+ addseverity F
+ adjtime F
+ adjtimex F
+ advance F
+ alarm F
+ alphasort F
+ alphasort64 F
+ argp_err_exit_status D 0x4
+ argp_error F
+ argp_failure F
+ argp_help F
+ argp_parse F
+ argp_program_bug_address D 0x4
+ argp_program_version D 0x4
+ argp_program_version_hook D 0x4
+ argp_state_help F
+ argp_usage F
+ argz_add F
+ argz_add_sep F
+ argz_append F
+ argz_count F
+ argz_create F
+ argz_create_sep F
+ argz_delete F
+ argz_extract F
+ argz_insert F
+ argz_next F
+ argz_replace F
+ argz_stringify F
+ asctime F
+ asctime_r F
+ asprintf F
+ atof F
+ atoi F
+ atol F
+ atoll F
+ authdes_create F
+ authdes_getucred F
+ authdes_pk_create F
+ authnone_create F
+ authunix_create F
+ authunix_create_default F
+ backtrace F
+ backtrace_symbols F
+ backtrace_symbols_fd F
+ basename F
+ bcmp F
+ bcopy F
+ bdflush F
+ bind F
+ bind_textdomain_codeset F
+ bindresvport F
+ bindtextdomain F
+ brk F
+ bsd_signal F
+ bsearch F
+ btowc F
+ bzero F
+ cacheflush F
+ calloc F
+ callrpc F
+ canonicalize_file_name F
+ capget F
+ capset F
+ catclose F
+ catgets F
+ catopen F
+ cbc_crypt F
+ cfgetispeed F
+ cfgetospeed F
+ cfmakeraw F
+ cfree F
+ cfsetispeed F
+ cfsetospeed F
+ cfsetspeed F
+ chdir F
+ chflags F
+ chmod F
+ chown F
+ chroot F
+ clearenv F
+ clearerr F
+ clearerr_unlocked F
+ clnt_broadcast F
+ clnt_create F
+ clnt_pcreateerror F
+ clnt_perrno F
+ clnt_perror F
+ clnt_spcreateerror F
+ clnt_sperrno F
+ clnt_sperror F
+ clntraw_create F
+ clnttcp_create F
+ clntudp_bufcreate F
+ clntudp_create F
+ clntunix_create F
+ clock F
+ clone F
+ close F
+ closedir F
+ closelog F
+ confstr F
+ connect F
+ copysign F
+ copysignf F
+ copysignl F
+ creat F
+ creat64 F
+ create_module F
+ ctermid F
+ ctime F
+ ctime_r F
+ cuserid F
+ daemon F
+ daylight D 0x4
+ dcgettext F
+ dcngettext F
+ delete_module F
+ des_setparity F
+ dgettext F
+ difftime F
+ dirfd F
+ dirname F
+ div F
+ dl_iterate_phdr F
+ dngettext F
+ dprintf F
+ drand48 F
+ drand48_r F
+ dup F
+ dup2 F
+ dup3 F
+ duplocale F
+ dysize F
+ eaccess F
+ ecb_crypt F
+ ecvt F
+ ecvt_r F
+ endaliasent F
+ endfsent F
+ endgrent F
+ endhostent F
+ endmntent F
+ endnetent F
+ endnetgrent F
+ endprotoent F
+ endpwent F
+ endrpcent F
+ endservent F
+ endsgent F
+ endspent F
+ endttyent F
+ endusershell F
+ endutent F
+ endutxent F
+ environ D 0x4
+ envz_add F
+ envz_entry F
+ envz_get F
+ envz_merge F
+ envz_remove F
+ envz_strip F
+ epoll_create F
+ epoll_create1 F
+ epoll_ctl F
+ epoll_pwait F
+ epoll_wait F
+ erand48 F
+ erand48_r F
+ err F
+ error F
+ error_at_line F
+ error_message_count D 0x4
+ error_one_per_line D 0x4
+ error_print_progname D 0x4
+ errx F
+ ether_aton F
+ ether_aton_r F
+ ether_hostton F
+ ether_line F
+ ether_ntoa F
+ ether_ntoa_r F
+ ether_ntohost F
+ euidaccess F
+ eventfd F
+ eventfd_read F
+ eventfd_write F
+ execl F
+ execle F
+ execlp F
+ execv F
+ execve F
+ execvp F
+ execvpe F
+ exit F
+ faccessat F
+ fallocate F
+ fallocate64 F
+ fattach F
+ fchdir F
+ fchflags F
+ fchmod F
+ fchmodat F
+ fchown F
+ fchownat F
+ fclose F
+ fcloseall F
+ fcntl F
+ fcvt F
+ fcvt_r F
+ fdatasync F
+ fdetach F
+ fdopen F
+ fdopendir F
+ feof F
+ feof_unlocked F
+ ferror F
+ ferror_unlocked F
+ fexecve F
+ fflush F
+ fflush_unlocked F
+ ffs F
+ ffsl F
+ ffsll F
+ fgetc F
+ fgetc_unlocked F
+ fgetgrent F
+ fgetgrent_r F
+ fgetpos F
+ fgetpos64 F
+ fgetpwent F
+ fgetpwent_r F
+ fgets F
+ fgets_unlocked F
+ fgetsgent F
+ fgetsgent_r F
+ fgetspent F
+ fgetspent_r F
+ fgetwc F
+ fgetwc_unlocked F
+ fgetws F
+ fgetws_unlocked F
+ fgetxattr F
+ fileno F
+ fileno_unlocked F
+ finite F
+ finitef F
+ finitel F
+ flistxattr F
+ flock F
+ flockfile F
+ fmemopen F
+ fmtmsg F
+ fnmatch F
+ fopen F
+ fopen64 F
+ fopencookie F
+ fork F
+ fpathconf F
+ fprintf F
+ fputc F
+ fputc_unlocked F
+ fputs F
+ fputs_unlocked F
+ fputwc F
+ fputwc_unlocked F
+ fputws F
+ fputws_unlocked F
+ fread F
+ fread_unlocked F
+ free F
+ freeaddrinfo F
+ freeifaddrs F
+ freelocale F
+ fremovexattr F
+ freopen F
+ freopen64 F
+ frexp F
+ frexpf F
+ frexpl F
+ fscanf F
+ fseek F
+ fseeko F
+ fseeko64 F
+ fsetpos F
+ fsetpos64 F
+ fsetxattr F
+ fstatfs F
+ fstatfs64 F
+ fstatvfs F
+ fstatvfs64 F
+ fsync F
+ ftell F
+ ftello F
+ ftello64 F
+ ftime F
+ ftok F
+ ftruncate F
+ ftruncate64 F
+ ftrylockfile F
+ fts_children F
+ fts_close F
+ fts_open F
+ fts_read F
+ fts_set F
+ ftw F
+ ftw64 F
+ funlockfile F
+ futimens F
+ futimes F
+ futimesat F
+ fwide F
+ fwprintf F
+ fwrite F
+ fwrite_unlocked F
+ fwscanf F
+ gai_strerror F
+ gcvt F
+ get_avphys_pages F
+ get_current_dir_name F
+ get_kernel_syms F
+ get_myaddress F
+ get_nprocs F
+ get_nprocs_conf F
+ get_phys_pages F
+ getaddrinfo F
+ getaliasbyname F
+ getaliasbyname_r F
+ getaliasent F
+ getaliasent_r F
+ getc F
+ getc_unlocked F
+ getchar F
+ getchar_unlocked F
+ getcontext F
+ getcwd F
+ getdate F
+ getdate_err D 0x4
+ getdate_r F
+ getdelim F
+ getdirentries F
+ getdirentries64 F
+ getdomainname F
+ getdtablesize F
+ getegid F
+ getenv F
+ geteuid F
+ getfsent F
+ getfsfile F
+ getfsspec F
+ getgid F
+ getgrent F
+ getgrent_r F
+ getgrgid F
+ getgrgid_r F
+ getgrnam F
+ getgrnam_r F
+ getgrouplist F
+ getgroups F
+ gethostbyaddr F
+ gethostbyaddr_r F
+ gethostbyname F
+ gethostbyname2 F
+ gethostbyname2_r F
+ gethostbyname_r F
+ gethostent F
+ gethostent_r F
+ gethostid F
+ gethostname F
+ getifaddrs F
+ getipv4sourcefilter F
+ getitimer F
+ getline F
+ getloadavg F
+ getlogin F
+ getlogin_r F
+ getmntent F
+ getmntent_r F
+ getmsg F
+ getnameinfo F
+ getnetbyaddr F
+ getnetbyaddr_r F
+ getnetbyname F
+ getnetbyname_r F
+ getnetent F
+ getnetent_r F
+ getnetgrent F
+ getnetgrent_r F
+ getnetname F
+ getopt F
+ getopt_long F
+ getopt_long_only F
+ getpagesize F
+ getpass F
+ getpeername F
+ getpgid F
+ getpgrp F
+ getpid F
+ getpmsg F
+ getppid F
+ getpriority F
+ getprotobyname F
+ getprotobyname_r F
+ getprotobynumber F
+ getprotobynumber_r F
+ getprotoent F
+ getprotoent_r F
+ getpt F
+ getpublickey F
+ getpw F
+ getpwent F
+ getpwent_r F
+ getpwnam F
+ getpwnam_r F
+ getpwuid F
+ getpwuid_r F
+ getresgid F
+ getresuid F
+ getrlimit F
+ getrlimit64 F
+ getrpcbyname F
+ getrpcbyname_r F
+ getrpcbynumber F
+ getrpcbynumber_r F
+ getrpcent F
+ getrpcent_r F
+ getrpcport F
+ getrusage F
+ gets F
+ getsecretkey F
+ getservbyname F
+ getservbyname_r F
+ getservbyport F
+ getservbyport_r F
+ getservent F
+ getservent_r F
+ getsgent F
+ getsgent_r F
+ getsgnam F
+ getsgnam_r F
+ getsid F
+ getsockname F
+ getsockopt F
+ getsourcefilter F
+ getspent F
+ getspent_r F
+ getspnam F
+ getspnam_r F
+ getsubopt F
+ gettext F
+ gettimeofday F
+ getttyent F
+ getttynam F
+ getuid F
+ getusershell F
+ getutent F
+ getutent_r F
+ getutid F
+ getutid_r F
+ getutline F
+ getutline_r F
+ getutmp F
+ getutmpx F
+ getutxent F
+ getutxid F
+ getutxline F
+ getw F
+ getwc F
+ getwc_unlocked F
+ getwchar F
+ getwchar_unlocked F
+ getwd F
+ getxattr F
+ glob F
+ glob64 F
+ glob_pattern_p F
+ globfree F
+ globfree64 F
+ gmtime F
+ gmtime_r F
+ gnu_dev_major F
+ gnu_dev_makedev F
+ gnu_dev_minor F
+ gnu_get_libc_release F
+ gnu_get_libc_version F
+ grantpt F
+ group_member F
+ gsignal F
+ gtty F
+ h_errlist D 0x14
+ h_nerr D 0x4
+ hasmntopt F
+ hcreate F
+ hcreate_r F
+ hdestroy F
+ hdestroy_r F
+ herror F
+ host2netname F
+ hsearch F
+ hsearch_r F
+ hstrerror F
+ htonl F
+ htons F
+ iconv F
+ iconv_close F
+ iconv_open F
+ if_freenameindex F
+ if_indextoname F
+ if_nameindex F
+ if_nametoindex F
+ imaxabs F
+ imaxdiv F
+ in6addr_any D 0x10
+ in6addr_loopback D 0x10
+ index F
+ inet6_opt_append F
+ inet6_opt_find F
+ inet6_opt_finish F
+ inet6_opt_get_val F
+ inet6_opt_init F
+ inet6_opt_next F
+ inet6_opt_set_val F
+ inet6_option_alloc F
+ inet6_option_append F
+ inet6_option_find F
+ inet6_option_init F
+ inet6_option_next F
+ inet6_option_space F
+ inet6_rth_add F
+ inet6_rth_getaddr F
+ inet6_rth_init F
+ inet6_rth_reverse F
+ inet6_rth_segments F
+ inet6_rth_space F
+ inet_addr F
+ inet_aton F
+ inet_lnaof F
+ inet_makeaddr F
+ inet_netof F
+ inet_network F
+ inet_nsap_addr F
+ inet_nsap_ntoa F
+ inet_ntoa F
+ inet_ntop F
+ inet_pton F
+ init_module F
+ initgroups F
+ initstate F
+ initstate_r F
+ innetgr F
+ inotify_add_watch F
+ inotify_init F
+ inotify_init1 F
+ inotify_rm_watch F
+ insque F
+ ioctl F
+ iruserok F
+ iruserok_af F
+ isalnum F
+ isalnum_l F
+ isalpha F
+ isalpha_l F
+ isascii F
+ isastream F
+ isatty F
+ isblank F
+ isblank_l F
+ iscntrl F
+ iscntrl_l F
+ isctype F
+ isdigit F
+ isdigit_l F
+ isfdtype F
+ isgraph F
+ isgraph_l F
+ isinf F
+ isinff F
+ isinfl F
+ islower F
+ islower_l F
+ isnan F
+ isnanf F
+ isnanl F
+ isprint F
+ isprint_l F
+ ispunct F
+ ispunct_l F
+ isspace F
+ isspace_l F
+ isupper F
+ isupper_l F
+ iswalnum F
+ iswalnum_l F
+ iswalpha F
+ iswalpha_l F
+ iswblank F
+ iswblank_l F
+ iswcntrl F
+ iswcntrl_l F
+ iswctype F
+ iswctype_l F
+ iswdigit F
+ iswdigit_l F
+ iswgraph F
+ iswgraph_l F
+ iswlower F
+ iswlower_l F
+ iswprint F
+ iswprint_l F
+ iswpunct F
+ iswpunct_l F
+ iswspace F
+ iswspace_l F
+ iswupper F
+ iswupper_l F
+ iswxdigit F
+ iswxdigit_l F
+ isxdigit F
+ isxdigit_l F
+ jrand48 F
+ jrand48_r F
+ key_decryptsession F
+ key_decryptsession_pk F
+ key_encryptsession F
+ key_encryptsession_pk F
+ key_gendes F
+ key_get_conv F
+ key_secretkey_is_set F
+ key_setnet F
+ key_setsecret F
+ kill F
+ killpg F
+ klogctl F
+ l64a F
+ labs F
+ lchmod F
+ lchown F
+ lckpwdf F
+ lcong48 F
+ lcong48_r F
+ ldexp F
+ ldexpf F
+ ldexpl F
+ ldiv F
+ lfind F
+ lgetxattr F
+ link F
+ linkat F
+ listen F
+ listxattr F
+ llabs F
+ lldiv F
+ llistxattr F
+ llseek F
+ loc1 D 0x4
+ loc2 D 0x4
+ localeconv F
+ localtime F
+ localtime_r F
+ lockf F
+ lockf64 F
+ locs D 0x4
+ longjmp F
+ lrand48 F
+ lrand48_r F
+ lremovexattr F
+ lsearch F
+ lseek F
+ lseek64 F
+ lsetxattr F
+ lutimes F
+ madvise F
+ makecontext F
+ mallinfo F
+ malloc F
+ malloc_get_state F
+ malloc_info F
+ malloc_set_state F
+ malloc_stats F
+ malloc_trim F
+ malloc_usable_size F
+ mallopt F
+ mallwatch D 0x4
+ mblen F
+ mbrlen F
+ mbrtowc F
+ mbsinit F
+ mbsnrtowcs F
+ mbsrtowcs F
+ mbstowcs F
+ mbtowc F
+ mcheck F
+ mcheck_check_all F
+ mcheck_pedantic F
+ mcount F
+ memalign F
+ memccpy F
+ memchr F
+ memcmp F
+ memcpy F
+ memfrob F
+ memmem F
+ memmove F
+ mempcpy F
+ memrchr F
+ memset F
+ mincore F
+ mkdir F
+ mkdirat F
+ mkdtemp F
+ mkfifo F
+ mkfifoat F
+ mkostemp F
+ mkostemp64 F
+ mkostemps F
+ mkostemps64 F
+ mkstemp F
+ mkstemp64 F
+ mkstemps F
+ mkstemps64 F
+ mktemp F
+ mktime F
+ mlock F
+ mlockall F
+ mmap F
+ mmap64 F
+ modf F
+ modff F
+ modfl F
+ moncontrol F
+ monstartup F
+ mount F
+ mprobe F
+ mprotect F
+ mrand48 F
+ mrand48_r F
+ mremap F
+ msgctl F
+ msgget F
+ msgrcv F
+ msgsnd F
+ msync F
+ mtrace F
+ munlock F
+ munlockall F
+ munmap F
+ muntrace F
+ nanosleep F
+ netname2host F
+ netname2user F
+ newlocale F
+ nfsservctl F
+ nftw F
+ nftw64 F
+ ngettext F
+ nice F
+ nl_langinfo F
+ nl_langinfo_l F
+ nrand48 F
+ nrand48_r F
+ ntohl F
+ ntohs F
+ ntp_adjtime F
+ ntp_gettime F
+ ntp_gettimex F
+ obstack_alloc_failed_handler D 0x4
+ obstack_exit_failure D 0x4
+ obstack_free F
+ obstack_printf F
+ obstack_vprintf F
+ on_exit F
+ open F
+ open64 F
+ open_memstream F
+ open_wmemstream F
+ openat F
+ openat64 F
+ opendir F
+ openlog F
+ optarg D 0x4
+ opterr D 0x4
[... 7919 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits