[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r18577 - in /fsf/trunk/libc: ./ bits/ include/ malloc/ manual/ sunrpc/ sysdeps/ieee754/ldbl-opt/ sysdeps/mach/hurd/bits/ sys...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r18577 - in /fsf/trunk/libc: ./ bits/ include/ malloc/ manual/ sunrpc/ sysdeps/ieee754/ldbl-opt/ sysdeps/mach/hurd/bits/ sys...
- From: eglibc@xxxxxxxxxx
- Date: Thu, 17 May 2012 00:01:39 -0000
Author: eglibc
Date: Thu May 17 00:01:38 2012
New Revision: 18577
Log:
Import glibc-mainline for 2012-05-17
Added:
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/ipctypes.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/siginfo.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/glob.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c
fsf/trunk/libc/sysdeps/x86_64/x32/divdi3.c
fsf/trunk/libc/sysdeps/x86_64/x32/ffs.c
fsf/trunk/libc/sysdeps/x86_64/x32/gmp-mparam.h
fsf/trunk/libc/sysdeps/x86_64/x32/symbol-hacks.h
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/INSTALL
fsf/trunk/libc/Makeconfig
fsf/trunk/libc/Makerules
fsf/trunk/libc/NEWS
fsf/trunk/libc/bits/types.h
fsf/trunk/libc/bits/typesizes.h
fsf/trunk/libc/config.make.in
fsf/trunk/libc/configure
fsf/trunk/libc/configure.in
fsf/trunk/libc/include/stdc-predef.h
fsf/trunk/libc/malloc/malloc.c
fsf/trunk/libc/manual/install.texi
fsf/trunk/libc/sunrpc/Makefile
fsf/trunk/libc/sysdeps/ieee754/ldbl-opt/Makefile
fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h
fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/ipc.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/mqueue.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/a.out.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/msq.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sem.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/shm.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h
fsf/trunk/libc/sysvipc/sys/msg.h
fsf/trunk/libc/time/ctime.c
fsf/trunk/libc/time/time.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu May 17 00:01:38 2012
@@ -1,3 +1,218 @@
+2012-05-16 Paul Pluzhnikov <ppluzhnikov@xxxxxxxxxx>
+
+ [BZ #208]
+ * malloc.c (int_mallinfo): Add parameter to accumulate statistics
+ in instead of returning them. Return void.
+ (__libc_mallinfo): Accumulate over all arenas.
+ (__malloc_stats): Adjust for change in int_mallinfo interface.
+
+2012-05-16 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ [BZ #10375]
+ * configure.in (NM): Add AC_CHECK_TOOL for it.
+ (libc_extra_cflags): New substituted variable.
+ Check for -fstack-protector being used implicitly.
+ * configure: Regenerated.
+ * config.make.in (config-extra-cflags): New variable,
+ gets @libc_extra_cflags@.
+ * Makeconfig (CFLAGS): Add $(config-extra-cflags) near the front.
+
+ [BZ #10375]
+ * configure.in: Check for _FORTIFY_SOURCE being predefined.
+ (CPPUNDEFS): New substituted variable; add -U_FORTIFY_SOURCE if needed.
+ * configure: Regenerated.
+ * config.make.in (CPPUNDEFS): New substituted variable.
+ * Makeconfig (CPPFLAGS): Put $(CPPUNDEFS) at the beginning.
+ * Makerules ($(stdio_lim:h=st)): Use $(CPPUNDEFS).
+ * time/ctime.c: Don't #undef __OPTIMIZE__ and ctime.
+
+2012-05-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/bits/mqueue.h: Include <bits/types.h>.
+ (mq_attr): Use __syscall_slong_t.
+
+2012-05-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/stat.h (_STAT_VER_SVR4):
+ Check __x86_64__ instead of __WORDSIZE.
+ (_STAT_VER_LINUX): Likewise.
+ (stat): Check __x86_64__ instead of __WORDSIZE. Use
+ __syscall_ulong_t and __syscall_slong_t.
+ (stat64): Likewise.
+
+2012-05-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h: New file.
+
+2012-05-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/ipctypes.h: New file.
+
+2012-05-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/bits/ipc.h (ipc_perm): Use
+ __syscall_ulong_t.
+
+ * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Don't
+ include <bits/wordsize.h>. Check __x86_64__ instead of
+ __WORDSIZE.
+ (greg_t): Use "__extension__ long long int" if __x86_64__ is
+ defined.
+ (mcontext_t): Replace "unsigned long" with "unsigned long long".
+
+ * sysdeps/unix/sysv/linux/x86_64/sys/user.h: Don't
+ include <bits/wordsize.h>. Check __x86_64__ instead of
+ __WORDSIZE.
+ (user_regs_struct): Use "__extension__ unsigned long long"
+ instead of "unsigned long" if __x86_64__ is defined.
+ (user): Likewise. Pad after pointer field if __ILP32__ is
+ defined.
+
+2012-05-16 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * configure.in (makeinfo): Require version 4.5 or later. Allow
+ versions 5 to 9.
+ * configure: Regenerated.
+ * manual/install.texi (texinfo): Increase version requirement to
+ 4.5 or later.
+ * INSTALL: Regenerated.
+
+ * include/stdc-predef.h (__STDC_ISO_10646__): Increase to 201103L.
+
+2012-05-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/x86_64/x32/gmp-mparam.h: New file.
+
+ * sysdeps/x86_64/x32/ffs.c: New file.
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/shm.h (shmatt_t): Use
+ __syscall_ulong_t.
+ (shmid_ds): Add __unused1 and __unused2 only if __x86_64__ isn't
+ defined. Use __syscall_ulong_t.
+ (shminfo): Use __syscall_ulong_t.
+ (shm_info): Likewise.
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/sem.h (semid_ds): Use
+ __syscall_ulong_t.
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Don't include
+ <bits/wordsize.h>.
+ (msgqnum_t): Use __syscall_ulong_t.
+ (msglen_t): Likewise.
+ (msqid_ds): Check __x86_64__ instead of __WORDSIZE. Use
+ __syscall_ulong_t.
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/a.out.h: Don't include
+ <bits/wordsize.h>. Check __x86_64__ instead of __WORDSIZE.
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/siginfo.h: New file.
+
+ * sysdeps/x86_64/x32/divdi3.c: New dummy file.
+ * sysdeps/x86_64/x32/symbol-hacks.h: Likewise.
+
+ * sysvipc/sys/msg.h (msgbuf): Replace long int with
+ __syscall_slong_t.
+
+ * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Don't
+ include <bits/wordsize.h>. Check __x86_64__ instead of
+ __WORDSIZE.
+
+ * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h (elf_greg_t): Use
+ "unsigned long long int" if __x86_64__ is defined.
+ (elf_fpregset_t): Check __x86_64__ instead of __WORDSIZE.
+
+ * sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h: Don't include
+ <bits/wordsize.h>. Check __x86_64__ instead of __WORDSIZE.
+ (DR_CONTROL_RESERVED): Use ULL instead of UL suffix.
+
+ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Include
+ <stdint.h>.
+ (GET_PC): Cast to uintptr_t first.
+ (GET_FRAME): Likewise.
+ (GET_STACK): Likewise.
+
+ * sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c: New file.
+ * sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/ftello.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/ftw.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/glob.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/iofopen.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/iofopen64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/lockf.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/mkostemp.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/mkostemp64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/mkstemp.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/mkstemp64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/scandir.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c: Likewise.
+
+2012-05-16 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * Makerules (+depfiles): Also collect depfiles from .oS in
+ $(extra-objs).
+ * sysdeps/ieee754/ldbl-opt/Makefile (extra-objs): Add $(addsuffix
+ .oS, $(libnldbl-routines)).
+
+ * Makerules (native-compile-mkdep-flags): Define.
+ * sunrpc/Makefile (extra-objs): Add $(addprefix
+ cross-,$(rpcgen-objs)), don't add $(cross-rpcgen-objs).
+ ($(cross-rpcgen-objs)): Use $(native-compile-mkdep-flags) instead
+ of $(compile-mkdep-flags). Depend on $(before-compile) instead of
+ calling $(make-target-directory).
+
+2012-05-15 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * bits/types.h (__snseconds_t): Removed.
+ * time/time.h (struct timespec): Replace __snseconds_t with
+ __syscall_slong_t.
+ * bits/typesizes.h (__SNSECONDS_T_TYPE): Removed.
+ * sysdeps/mach/hurd/bits/typesizes.h (__SNSECONDS_T_TYPE):
+ Likewise.
+ * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
+ (__SNSECONDS_T_TYPE): Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+ (__SNSECONDS_T_TYPE): Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+ (__SNSECONDS_T_TYPE): Likewise.
+
+2012-05-15 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * sysdeps/mach/hurd/bits/typesizes.h
+ (__SYSCALL_SLONG_TYPE): New macro.
+ (__SYSCALL_ULONG_TYPE): Likewise.
+
+2012-05-15 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * bits/types.h (__syscall_slong_t): New type.
+ (__syscall_ulong_t): Likewise.
+
+ * bits/typesizes.h (__SYSCALL_SLONG_TYPE): New macro.
+ (__SYSCALL_ULONG_TYPE): Likewise.
+ * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
+ (__SYSCALL_SLONG_TYPE): Likewise.
+ (__SYSCALL_ULONG_TYPE): Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+ (__SYSCALL_SLONG_TYPE): Likewise.
+ (__SYSCALL_ULONG_TYPE): Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+ (__SYSCALL_SLONG_TYPE): Likewise.
+ (__SYSCALL_ULONG_TYPE): Likewise.
+
2012-05-15 H.J. Lu <hongjiu.lu@xxxxxxxxx>
* sysdeps/unix/sysv/linux/x86_64/Makefile (gen-as-const-headers):
Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Thu May 17 00:01:38 2012
@@ -1,10 +1,10 @@
Installing the GNU C Library
****************************
-Before you do anything else, you should read the file `FAQ' located at
-the top level of the source tree. This file answers common questions
+Before you do anything else, you should read the FAQ at
+`http://sourceware.org/glibc/wiki/FAQ'. It answers common questions
and describes problems you may experience with compilation and
-installation. It is updated more frequently than this manual.
+installation.
Features can be added to the GNU C Library via "add-on" bundles.
These are separate tar files, which you unpack into the top level of
@@ -177,9 +177,9 @@
To format the `GNU C Library Reference Manual' for printing, type
`make dvi'. You need a working TeX installation to do this. The
-distribution already includes the on-line formatted version of the
-manual, as Info files. You can regenerate those with `make info', but
-it shouldn't be necessary.
+distribution builds the on-line formatted version of the manual, as
+Info files, as part of the build process. You can build them manually
+with `make info'.
The library has a number of special-purpose configuration parameters
which you can find in `Makeconfig'. These can be overwritten with the
@@ -297,7 +297,7 @@
No other assembler or linker has the necessary functionality at the
moment.
- * GNU `texinfo' 3.12f
+ * GNU `texinfo' 4.5 or later
To correctly translate and install the Texinfo documentation you
need this version of the `texinfo' package. Earlier versions do
@@ -393,7 +393,7 @@
It is a good idea to verify that the problem has not already been
reported. Bugs are documented in two places: The file `BUGS' describes
a number of well known bugs and the bug tracking system has a WWW
-interface at `http://sources.redhat.com/bugzilla/'. The WWW interface
+interface at `http://sourceware.org/bugzilla/'. The WWW interface
gives you access to open and closed reports. A closed report normally
includes a patch or a hint on solving the problem.
Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Thu May 17 00:01:38 2012
@@ -661,13 +661,14 @@
# Note that we can't use -std=* in CPPFLAGS, because it overrides
# the implicit -lang-asm and breaks cpp behavior for .S files--notably
# it causes cpp to stop predefining __ASSEMBLER__.
-CPPFLAGS = $(CPPFLAGS-config) $($(subdir)-CPPFLAGS) $(+includes) $(defines) \
+CPPFLAGS = $(CPPUNDEFS) $(CPPFLAGS-config) $($(subdir)-CPPFLAGS) \
+ $(+includes) $(defines) \
-include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \
$(CPPFLAGS-$(suffix $@)) \
$(foreach lib,$(libof-$(basename $(@F))) \
$(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
$(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
+override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) $(config-extra-cflags) \
$(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
$(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
$(CFLAGS-$(@F)) \
Modified: fsf/trunk/libc/Makerules
==============================================================================
--- fsf/trunk/libc/Makerules (original)
+++ fsf/trunk/libc/Makerules Thu May 17 00:01:38 2012
@@ -368,6 +368,11 @@
compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags)
compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags)
compile-command.cc = $(compile.cc) $(OUTPUT_OPTION) $(compile-mkdep-flags)
+
+# Like compile-mkdep-flags, but for use with $(BUILD_CC). We don't want to
+# track system includes here, they may spuriously trigger an install rule,
+# and would cause the check-local-headers test to fail.
+native-compile-mkdep-flags = -MMD -MP -MF $@.dt -MT $@
# GCC can grok options after the file name, and it looks nicer that way.
compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
@@ -642,6 +647,7 @@
+depfiles := $(sources:.c=.d) \
$(patsubst %.o,%.d,$(filter %.o,$(extra-objs:.os=.o))) \
+ $(patsubst %.oS,%.d,$(filter %.oS,$(extra-objs))) \
$(patsubst %.o,%.d,$(filter %.o,$(extra-test-objs:.os=.o))) \
$(addsuffix .d,$(tests) $(xtests) $(test-srcs))
ifeq ($(build-programs),yes)
@@ -1227,7 +1233,7 @@
echo '#define _LIBC 1'; \
echo '#include "$(..)misc/sys/uio.h"'; } | \
$(CC) -E -dM -MD -MP -MF $(@:st=dT) -MT '$(@:st=h) $(@:st=d)' \
- $(+includes) -xc - -o $(@:st=hT)
+ $(CPPUNDEFS) $(+includes) -xc - -o $(@:st=hT)
sed $(sed-remove-objpfx) $(sed-remove-dotdot) \
$(@:st=dT) > $(@:st=dt)
mv -f $(@:st=dt) $(@:st=d)
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu May 17 00:01:38 2012
@@ -9,25 +9,25 @@
* The following bugs are resolved with this release:
- 174, 350, 369, 411, 706, 766, 887, 2074, 2541, 2547, 2548, 2550, 2551,
- 2552, 2553, 2554, 2562, 2563, 2565, 2566, 2570, 2576, 2636, 2678, 3335,
- 3440, 3748, 3768, 3866, 3868, 3906, 3976, 3992, 4026, 4108, 4596, 4822,
- 5077, 5461, 5805, 5993, 6471, 6486, 6578, 6649, 6730, 6770, 6794, 6884,
- 6890, 6894, 6895, 6907, 6911, 6959, 7064, 9739, 9902, 10110, 10135, 10140,
- 10153, 10210, 10254, 10346, 10545, 10716, 11174, 11322, 11365, 11451,
- 11494, 11521, 11677, 11837, 11959, 12047, 12097, 12193, 12297, 12298,
- 12301, 12340, 12354, 13058, 13361, 13525, 13526, 13527, 13528, 13529,
- 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13556,
- 13559, 13563, 13566, 13583, 13592, 13594, 13613, 13618, 13637, 13656,
- 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13739,
- 13750, 13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824,
- 13840, 13841, 13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873,
- 13879, 13883, 13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911,
- 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921,
- 13922, 13923, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954,
- 13955, 13956, 13963, 13967, 13970, 13973, 13979, 13983, 13986, 14012,
- 14027, 14033, 14034, 14040, 14043, 14044, 14049, 14053, 14055, 14064,
- 14080, 14083, 14103, 14104, 14109
+ 174, 208, 350, 369, 411, 706, 766, 887, 2074, 2541, 2547, 2548, 2550,
+ 2551, 2552, 2553, 2554, 2562, 2563, 2565, 2566, 2570, 2576, 2636, 2678,
+ 3335, 3440, 3748, 3768, 3866, 3868, 3906, 3976, 3992, 4026, 4108, 4596,
+ 4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578, 6649, 6730, 6770, 6794,
+ 6884, 6890, 6894, 6895, 6907, 6911, 6959, 7064, 9739, 9902, 10110,
+ 10135, 10140, 10153, 10210, 10254, 10346, 10375 10545, 10716, 11174,
+ 11322, 11365, 11451, 11494, 11521, 11677, 11837, 11959, 12047, 12097,
+ 12193, 12297, 12298, 12301, 12340, 12354, 13058, 13361, 13525, 13526,
+ 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552,
+ 13553, 13555, 13556, 13559, 13563, 13566, 13583, 13592, 13594, 13613,
+ 13618, 13637, 13656, 13658, 13673, 13691, 13695, 13704, 13705, 13706,
+ 13726, 13738, 13739, 13750, 13758, 13760, 13761, 13775, 13786, 13787,
+ 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, 13852, 13854,
+ 13871, 13872, 13873, 13879, 13883, 13884, 13885, 13886, 13892, 13895,
+ 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918,
+ 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928, 13938,
+ 13941, 13942, 13954, 13955, 13956, 13963, 13967, 13970, 13973, 13979,
+ 13983, 13986, 14012, 14027, 14033, 14034, 14040, 14043, 14044, 14049,
+ 14053, 14055, 14064, 14080, 14083, 14103, 14104, 14109
* ISO C11 support:
Modified: fsf/trunk/libc/bits/types.h
==============================================================================
--- fsf/trunk/libc/bits/types.h (original)
+++ fsf/trunk/libc/bits/types.h Thu May 17 00:01:38 2012
@@ -1,5 +1,6 @@
/* bits/types.h -- definitions of __*_t types underlying *_t types.
- Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 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
@@ -148,7 +149,6 @@
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
-__STD_TYPE __SNSECONDS_T_TYPE __snseconds_t; /* Signed count of nanoseconds. */
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
__STD_TYPE __SWBLK_T_TYPE __swblk_t; /* Type of a swap block maybe? */
@@ -178,6 +178,11 @@
__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
+
+/* Signed long type used in system calls. */
+__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t;
+/* Unsigned long type used in system calls. */
+__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t;
/* These few don't really vary by system, they always correspond
to one of the other defined types. */
Modified: fsf/trunk/libc/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/bits/typesizes.h (original)
+++ fsf/trunk/libc/bits/typesizes.h Thu May 17 00:01:38 2012
@@ -1,5 +1,6 @@
/* bits/typesizes.h -- underlying types for *_t. Generic version.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 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
@@ -57,7 +58,8 @@
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
#define __FSID_T_TYPE struct { int __val[2]; }
#define __SSIZE_T_TYPE __SWORD_TYPE
-#define __SNSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 1024
Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Thu May 17 00:01:38 2012
@@ -34,6 +34,7 @@
cflags-cpu = @libc_cv_cc_submachine@
asflags-cpu = @libc_cv_cc_submachine@
+config-extra-cflags = @libc_extra_cflags@
config-cflags-sse4 = @libc_cv_cc_sse4@
config-cflags-avx = @libc_cv_cc_avx@
config-cflags-sse2avx = @libc_cv_cc_sse2avx@
@@ -104,6 +105,7 @@
BUILD_CC = @BUILD_CC@
CFLAGS = @CFLAGS@
CPPFLAGS-config = @CPPFLAGS@
+CPPUNDEFS = @CPPUNDEFS@
ASFLAGS-config = @ASFLAGS_config@
AR = @AR@
MAKEINFO = @MAKEINFO@
Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Thu May 17 00:01:38 2012
@@ -632,6 +632,8 @@
libc_cv_slibdir
old_glibc_headers
libc_cv_gcc_unwind_find_fde
+libc_extra_cflags
+CPPUNDEFS
sizeof_long_double
EGREP
GREP
@@ -665,6 +667,7 @@
CXX_SYSINCLUDES
SYSINCLUDES
AUTOCONF
+NM
READELF
SED
MAKEINFO
@@ -4985,7 +4988,7 @@
ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 4.*)
+ 4.[5-9]*|4.[1-9][0-9]*|[5-9].*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -5151,6 +5154,98 @@
fi
else
READELF="$ac_cv_prog_READELF"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nm; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ ac_cv_prog_NM="$NM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NM="${ac_tool_prefix}nm"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+NM=$ac_cv_prog_NM
+if test -n "$NM"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
+$as_echo "$NM" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NM"; then
+ ac_ct_NM=$NM
+ # Extract the first word of "nm", so it can be a program name with args.
+set dummy nm; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NM"; then
+ ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NM="nm"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NM=$ac_cv_prog_ac_ct_NM
+if test -n "$ac_ct_NM"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NM" >&5
+$as_echo "$ac_ct_NM" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NM" = x; then
+ NM="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NM=$ac_ct_NM
+ fi
+else
+ NM="$ac_cv_prog_NM"
fi
@@ -7540,6 +7635,85 @@
sizeof_long_double=$ac_cv_sizeof_long_double
+
+
+CPPUNDEFS=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FORTIFY_SOURCE predefine" >&5
+$as_echo_n "checking for _FORTIFY_SOURCE predefine... " >&6; }
+if ${libc_cv_predef_fortify_source+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+#ifdef _FORTIFY_SOURCE
+# error bogon
+#endif
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_cv_predef_fortify_source=no
+else
+ libc_cv_predef_fortify_source=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_predef_fortify_source" >&5
+$as_echo "$libc_cv_predef_fortify_source" >&6; }
+if test $libc_cv_predef_fortify_source = yes; then
+ CPPUNDEFS="${CPPUNDEFS:+$CPPUNDEFS }-U_FORTIFY_SOURCE"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implicitly enables -fstack-protector" >&5
+$as_echo_n "checking whether $CC implicitly enables -fstack-protector... " >&6; }
+if ${libc_cv_predef_stack_protector+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+extern void foobar (char *);
+int
+main ()
+{
+char large_array[2048]; foobar (large_array);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+libc_undefs=`$NM -u conftest.o |
+ LC_ALL=C $AWK '$1 == "U" { print $2 | "sort -u"; next } { exit(1) }' \
+ 2>&5` || {
+ as_fn_error $? "confusing output from $NM -u" "$LINENO" 5
+}
+echo >&5 "libc_undefs='$libc_undefs'"
+case "$libc_undefs" in
+foobar) libc_cv_predef_stack_protector=no ;;
+'__stack_chk_fail
+foobar') libc_cv_predef_stack_protector=yes ;;
+*) as_fn_error $? "unexpected symbols in test: $libc_undefs" "$LINENO" 5 ;;
+esac
+else
+ as_fn_error $? "test compilation failed" "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_predef_stack_protector" >&5
+$as_echo "$libc_cv_predef_stack_protector" >&6; }
+libc_extra_cflags=
+if test $libc_cv_predef_stack_protector = yes; then
+ libc_extra_cflags=-fno-stack-protector
+fi
### End of automated tests.
Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Thu May 17 00:01:38 2012
@@ -919,7 +919,7 @@
MSGFMT=: aux_missing="$aux_missing msgfmt")
AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
[GNU texinfo.* \([0-9][0-9.]*\)],
- [4.*],
+ [4.[5-9]*|4.[1-9][0-9]*|[5-9].*],
MAKEINFO=: aux_missing="$aux_missing makeinfo")
AC_CHECK_PROG_VER(SED, sed, --version,
[GNU sed version \([0-9]*\.[0-9.]*\)],
@@ -927,6 +927,7 @@
SED=: aux_missing="$aux_missing sed")
AC_CHECK_TOOL(READELF, readelf, false)
+AC_CHECK_TOOL(NM, nm, false)
AC_CHECK_PROGS(AUTOCONF, autoconf, no)
case "x$AUTOCONF" in
@@ -2036,6 +2037,55 @@
sizeof_long_double=$ac_cv_sizeof_long_double
AC_SUBST(sizeof_long_double)
+CPPUNDEFS=
+dnl Check for silly hacked compilers predefining _FORTIFY_SOURCE.
+dnl Since we are building the implementations of the fortified functions here,
+dnl having the macro defined interacts very badly.
+AC_CACHE_CHECK([for _FORTIFY_SOURCE predefine], libc_cv_predef_fortify_source,
+[AC_TRY_COMPILE([], [
+#ifdef _FORTIFY_SOURCE
+# error bogon
+#endif],
+ [libc_cv_predef_fortify_source=no],
+ [libc_cv_predef_fortify_source=yes])])
+if test $libc_cv_predef_fortify_source = yes; then
+ CPPUNDEFS="${CPPUNDEFS:+$CPPUNDEFS }-U_FORTIFY_SOURCE"
+fi
+AC_SUBST(CPPUNDEFS)
+
+dnl Check for silly hacked compilers inserting -fstack-protector.
+dnl This breaks badly for the early startup code we compile, since
+dnl the compiled code can refer to a magic machine-dependent location
+dnl for the canary value before we have sufficient setup for that to
+dnl work. It's also questionable to build all of libc with this flag
+dnl even when you're doing that for most applications you build, since
+dnl libc's code is so heavily-used and performance-sensitive. If we
+dnl ever really want to make that work, it should be enabled explicitly
+dnl in the libc build, not inherited from implicit compiler settings.
+AC_CACHE_CHECK([whether $CC implicitly enables -fstack-protector],
+ libc_cv_predef_stack_protector, [
+AC_TRY_COMPILE([extern void foobar (char *);],
+ [char large_array[2048]; foobar (large_array);], [
+libc_undefs=`$NM -u conftest.o |
+ LC_ALL=C $AWK '$1 == "U" { print $2 | "sort -u"; next } { exit(1) }' \
+ 2>&AS_MESSAGE_LOG_FD` || {
+ AC_MSG_ERROR([confusing output from $NM -u])
+}
+echo >&AS_MESSAGE_LOG_FD "libc_undefs='$libc_undefs'"
+case "$libc_undefs" in
+foobar) libc_cv_predef_stack_protector=no ;;
+'__stack_chk_fail
+foobar') libc_cv_predef_stack_protector=yes ;;
+*) AC_MSG_ERROR([unexpected symbols in test: $libc_undefs]) ;;
+esac],
+ [AC_MSG_ERROR([test compilation failed])])
+])
+libc_extra_cflags=
+if test $libc_cv_predef_stack_protector = yes; then
+ libc_extra_cflags=-fno-stack-protector
+fi
+AC_SUBST(libc_extra_cflags)
+
### End of automated tests.
### Now run sysdeps configure fragments.
Modified: fsf/trunk/libc/include/stdc-predef.h
==============================================================================
--- fsf/trunk/libc/include/stdc-predef.h (original)
+++ fsf/trunk/libc/include/stdc-predef.h Thu May 17 00:01:38 2012
@@ -30,8 +30,9 @@
#define __STDC_IEC_559__ 1
#define __STDC_IEC_559_COMPLEX__ 1
-/* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.1. */
-#define __STDC_ISO_10646__ 200009L
+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
+ Unicode 6.0. */
+#define __STDC_ISO_10646__ 201103L
/* We do not support C11 <threads.h>. */
#define __STDC_NO_THREADS__ 1
Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Thu May 17 00:01:38 2012
@@ -4513,12 +4513,12 @@
/*
------------------------------ mallinfo ------------------------------
-*/
-
-static struct mallinfo
-int_mallinfo(mstate av)
+ Accumulate malloc statistics for arena AV into M.
+*/
+
+static void
+int_mallinfo(mstate av, struct mallinfo *m)
{
- struct mallinfo mi;
size_t i;
mbinptr b;
mchunkptr p;
@@ -4558,29 +4558,40 @@
}
}
- mi.smblks = nfastblocks;
- mi.ordblks = nblocks;
- mi.fordblks = avail;
- mi.uordblks = av->system_mem - avail;
- mi.arena = av->system_mem;
- mi.hblks = mp_.n_mmaps;
- mi.hblkhd = mp_.mmapped_mem;
- mi.fsmblks = fastavail;
- mi.keepcost = chunksize(av->top);
- mi.usmblks = mp_.max_total_mem;
- return mi;
+ m->smblks += nfastblocks;
+ m->ordblks += nblocks;
+ m->fordblks += avail;
+ m->uordblks += av->system_mem - avail;
+ m->arena += av->system_mem;
+ m->fsmblks += fastavail;
+ if (av == &main_arena)
+ {
+ m->hblks = mp_.n_mmaps;
+ m->hblkhd = mp_.mmapped_mem;
+ m->usmblks = mp_.max_total_mem;
+ m->keepcost = chunksize(av->top);
+ }
}
struct mallinfo __libc_mallinfo()
{
struct mallinfo m;
+ mstate ar_ptr;
if(__malloc_initialized < 0)
ptmalloc_init ();
- (void)mutex_lock(&main_arena.mutex);
- m = int_mallinfo(&main_arena);
- (void)mutex_unlock(&main_arena.mutex);
+
+ memset(&m, 0, sizeof (m));
+ ar_ptr = &main_arena;
+ do {
+ (void)mutex_lock(&ar_ptr->mutex);
+ int_mallinfo(ar_ptr, &m);
+ (void)mutex_unlock(&ar_ptr->mutex);
+
+ ar_ptr = ar_ptr->next;
+ } while (ar_ptr != &main_arena);
+
return m;
}
@@ -4593,7 +4604,6 @@
{
int i;
mstate ar_ptr;
- struct mallinfo mi;
unsigned int in_use_b = mp_.mmapped_mem, system_b = in_use_b;
#if THREAD_STATS
long stat_lock_direct = 0, stat_lock_loop = 0, stat_lock_wait = 0;
@@ -4605,8 +4615,11 @@
int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
for (i=0, ar_ptr = &main_arena;; i++) {
+ struct mallinfo mi;
+
+ memset(&mi, 0, sizeof(mi));
(void)mutex_lock(&ar_ptr->mutex);
- mi = int_mallinfo(ar_ptr);
+ int_mallinfo(ar_ptr, &mi);
fprintf(stderr, "Arena %d:\n", i);
fprintf(stderr, "system bytes = %10u\n", (unsigned int)mi.arena);
fprintf(stderr, "in use bytes = %10u\n", (unsigned int)mi.uordblks);
Modified: fsf/trunk/libc/manual/install.texi
==============================================================================
--- fsf/trunk/libc/manual/install.texi (original)
+++ fsf/trunk/libc/manual/install.texi Thu May 17 00:01:38 2012
@@ -334,7 +334,7 @@
moment.
@item
-GNU @code{texinfo} 3.12f
+GNU @code{texinfo} 4.5 or later
To correctly translate and install the Texinfo documentation you need
this version of the @code{texinfo} package. Earlier versions do not
Modified: fsf/trunk/libc/sunrpc/Makefile
==============================================================================
--- fsf/trunk/libc/sunrpc/Makefile (original)
+++ fsf/trunk/libc/sunrpc/Makefile Thu May 17 00:01:38 2012
@@ -91,7 +91,7 @@
rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \
rpc_tblout.o rpc_sample.o
-extra-objs = $(rpcgen-objs)
+extra-objs = $(rpcgen-objs) $(addprefix cross-,$(rpcgen-objs))
others += rpcgen
all: # Make this the default target; it will be defined in Rules.
@@ -157,15 +157,13 @@
$(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs))
cross-rpcgen-objs := $(addprefix $(objpfx)cross-,$(rpcgen-objs))
-extra-objs += $(cross-rpcgen-objs)
# When generic makefile support for build system programs is
# available, it should replace this code. See
# <http://sourceware.org/bugzilla/show_bug.cgi?id=14087>.
-$(cross-rpcgen-objs): $(objpfx)cross-%.o: %.c
- $(make-target-directory)
+$(cross-rpcgen-objs): $(objpfx)cross-%.o: %.c $(before-compile)
$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) $< \
- $(OUTPUT_OPTION) $(compile-mkdep-flags) -c
+ $(OUTPUT_OPTION) $(native-compile-mkdep-flags) -c
$(objpfx)cross-rpcgen: $(cross-rpcgen-objs)
$(BUILD_CC) $^ $(BUILD_LDFLAGS) -o $@
Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-opt/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-opt/Makefile (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-opt/Makefile Thu May 17 00:01:38 2012
@@ -44,5 +44,6 @@
libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
libnldbl-inhibit-o = $(object-suffixes)
libnldbl-static-only-routines = $(libnldbl-routines)
+extra-objs += $(addsuffix .oS, $(libnldbl-routines))
endif
Modified: fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h Thu May 17 00:01:38 2012
@@ -1,5 +1,5 @@
/* bits/typesizes.h -- underlying types for *_t. Hurd version.
- Copyright (C) 2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 2002,2003,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
@@ -57,7 +57,8 @@
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
#define __FSID_T_TYPE __UQUAD_TYPE
#define __SSIZE_T_TYPE __SWORD_TYPE
-#define __SNSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 256
Modified: fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h Thu May 17 00:01:38 2012
@@ -1,5 +1,5 @@
/* bits/typesizes.h -- underlying types for *_t. FreeBSD version.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 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
@@ -57,7 +57,8 @@
#define __BLKSIZE_T_TYPE __U32_TYPE
#define __FSID_T_TYPE struct { int __val[2]; }
#define __SSIZE_T_TYPE __SWORD_TYPE
-#define __SNSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 1024
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/ipc.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/ipc.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/ipc.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995-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
@@ -50,6 +50,6 @@
unsigned short int __pad1;
unsigned short int __seq; /* Sequence number. */
unsigned short int __pad2;
- unsigned long int __unused1;
- unsigned long int __unused2;
+ __syscall_ulong_t __unused1;
+ __syscall_ulong_t __unused2;
};
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/mqueue.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/mqueue.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/mqueue.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2004-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
@@ -19,13 +19,15 @@
# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
#endif
+#include <bits/types.h>
+
typedef int mqd_t;
struct mq_attr
{
- long int mq_flags; /* Message queue flags. */
- long int mq_maxmsg; /* Maximum number of messages. */
- long int mq_msgsize; /* Maximum message size. */
- long int mq_curmsgs; /* Number of messages currently queued. */
- long int __pad[4];
+ __syscall_slong_t mq_flags; /* Message queue flags. */
+ __syscall_slong_t mq_maxmsg; /* Maximum number of messages. */
+ __syscall_slong_t mq_msgsize; /* Maximum message size. */
+ __syscall_slong_t mq_curmsgs; /* Number of messages currently queued. */
+ __syscall_slong_t __pad[4];
};
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h Thu May 17 00:01:38 2012
@@ -1,5 +1,5 @@
/* bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 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
@@ -63,7 +63,8 @@
/* size_t is unsigned long int on s390 -m31. */
#define __SSIZE_T_TYPE __SLONGWORD_TYPE
#endif
-#define __SNSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 1024
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h Thu May 17 00:01:38 2012
@@ -1,5 +1,5 @@
/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 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
@@ -57,7 +57,8 @@
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
#define __FSID_T_TYPE struct { int __val[2]; }
#define __SSIZE_T_TYPE __SWORD_TYPE
-#define __SNSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 1024
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/a.out.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/a.out.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/a.out.h Thu May 17 00:01:38 2012
@@ -2,9 +2,7 @@
# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
#endif
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
+#ifdef __x86_64__
/* Signal to users of this header that this architecture really doesn't
support a.out binary format. */
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/ipctypes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/ipctypes.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/ipctypes.h Thu May 17 00:01:38 2012
@@ -1,0 +1,33 @@
+/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#ifndef _BITS_IPCTYPES_H
+#define _BITS_IPCTYPES_H 1
+
+/* Used in `struct shmid_ds'. */
+# ifdef __x86_64__
+typedef int __ipc_pid_t;
+# else
+typedef unsigned short int __ipc_pid_t;
+# endif
+
+#endif /* bits/ipctypes.h */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/msq.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/msq.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/msq.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-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
@@ -20,7 +20,6 @@
#endif
#include <bits/types.h>
-#include <bits/wordsize.h>
/* Define options for message queue functions. */
#define MSG_NOERROR 010000 /* no error if message is too big */
@@ -29,8 +28,8 @@
#endif
/* Types used in the structure definition. */
-typedef unsigned long int msgqnum_t;
-typedef unsigned long int msglen_t;
+typedef __syscall_ulong_t msgqnum_t;
+typedef __syscall_ulong_t msglen_t;
/* Structure of record for one message inside the kernel.
The type `struct msg' is opaque. */
@@ -38,24 +37,24 @@
{
struct ipc_perm msg_perm; /* structure describing operation permission */
__time_t msg_stime; /* time of last msgsnd command */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused1;
#endif
__time_t msg_rtime; /* time of last msgrcv command */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused2;
#endif
__time_t msg_ctime; /* time of last change */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused3;
#endif
- unsigned long int __msg_cbytes; /* current number of bytes on queue */
+ __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
msgqnum_t msg_qnum; /* number of messages currently on queue */
msglen_t msg_qbytes; /* max number of bytes allowed on queue */
__pid_t msg_lspid; /* pid of last msgsnd() */
__pid_t msg_lrpid; /* pid of last msgrcv() */
- unsigned long int __unused4;
- unsigned long int __unused5;
+ __syscall_ulong_t __unused4;
+ __syscall_ulong_t __unused5;
};
#ifdef __USE_MISC
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sem.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sem.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sem.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002-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
@@ -39,12 +39,12 @@
{
struct ipc_perm sem_perm; /* operation permission struct */
__time_t sem_otime; /* last semop() time */
- unsigned long int __unused1;
+ __syscall_ulong_t __unused1;
__time_t sem_ctime; /* last time changed by semctl() */
- unsigned long int __unused2;
- unsigned long int sem_nsems; /* number of semaphores in set */
- unsigned long int __unused3;
- unsigned long int __unused4;
+ __syscall_ulong_t __unused2;
+ __syscall_ulong_t sem_nsems; /* number of semaphores in set */
+ __syscall_ulong_t __unused3;
+ __syscall_ulong_t __unused4;
};
/* The user should define a union like the following to use it for arguments
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/shm.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/shm.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/shm.h Thu May 17 00:01:38 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002, 2004, 2009
- Free Software Foundation, Inc.
+/* Copyright (C) 1995-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
@@ -44,7 +43,7 @@
/* Type to count number of attaches. */
-typedef unsigned long int shmatt_t;
+typedef __syscall_ulong_t shmatt_t;
/* Data structure describing a shared memory segment. */
struct shmid_ds
@@ -52,22 +51,22 @@
struct ipc_perm shm_perm; /* operation permission struct */
size_t shm_segsz; /* size of segment in bytes */
__time_t shm_atime; /* time of last shmat() */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused1;
#endif
__time_t shm_dtime; /* time of last shmdt() */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused2;
#endif
__time_t shm_ctime; /* time of last change by shmctl() */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned long int __unused3;
#endif
__pid_t shm_cpid; /* pid of creator */
__pid_t shm_lpid; /* pid of last shmop */
shmatt_t shm_nattch; /* number of current attaches */
- unsigned long int __unused4;
- unsigned long int __unused5;
+ __syscall_ulong_t __unused4;
+ __syscall_ulong_t __unused5;
};
#ifdef __USE_MISC
@@ -84,25 +83,25 @@
struct shminfo
{
- unsigned long int shmmax;
- unsigned long int shmmin;
- unsigned long int shmmni;
- unsigned long int shmseg;
- unsigned long int shmall;
- unsigned long int __unused1;
- unsigned long int __unused2;
- unsigned long int __unused3;
- unsigned long int __unused4;
+ __syscall_ulong_t shmmax;
+ __syscall_ulong_t shmmin;
+ __syscall_ulong_t shmmni;
+ __syscall_ulong_t shmseg;
+ __syscall_ulong_t shmall;
+ __syscall_ulong_t __unused1;
+ __syscall_ulong_t __unused2;
+ __syscall_ulong_t __unused3;
+ __syscall_ulong_t __unused4;
};
struct shm_info
{
int used_ids;
- unsigned long int shm_tot; /* total allocated shm */
- unsigned long int shm_rss; /* total resident shm */
- unsigned long int shm_swp; /* total swapped shm */
- unsigned long int swap_attempts;
- unsigned long int swap_successes;
+ __syscall_ulong_t shm_tot; /* total allocated shm */
+ __syscall_ulong_t shm_rss; /* total resident shm */
+ __syscall_ulong_t shm_swp; /* total swapped shm */
+ __syscall_ulong_t swap_attempts;
+ __syscall_ulong_t swap_successes;
};
#endif /* __USE_MISC */
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/siginfo.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/siginfo.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/siginfo.h Thu May 17 00:01:38 2012
@@ -1,0 +1,330 @@
+/* siginfo_t, sigevent and constants. Linux x86-64 version.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#if !defined _SIGNAL_H && !defined __need_siginfo_t \
+ && !defined __need_sigevent_t
+# error "Never include this file directly. Use <signal.h> instead"
+#endif
+
+#include <bits/wordsize.h>
+
+#if (!defined __have_sigval_t \
+ && (defined _SIGNAL_H || defined __need_siginfo_t \
+ || defined __need_sigevent_t))
+# define __have_sigval_t 1
+
+/* Type for data associated with a signal. */
+typedef union sigval
+ {
+ int sival_int;
+ void *sival_ptr;
+ } sigval_t;
+#endif
+
+#if (!defined __have_siginfo_t \
+ && (defined _SIGNAL_H || defined __need_siginfo_t))
+# define __have_siginfo_t 1
+
+# define __SI_MAX_SIZE 128
+# if __WORDSIZE == 64
+# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4)
+# else
+# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3)
+# endif
+
+# if defined __x86_64__ && __WORDSIZE == 32
+/* si_utime and si_stime must be 4 byte aligned for x32 to match the
+ kernel. We align siginfo_t to 8 bytes so that si_utime and si_stime
+ are actually aligned to 8 bytes since their offsets are multiple of
+ 8 bytes. */
+typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
+# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
+# else
+typedef __clock_t __sigchld_clock_t;
+# define __SI_ALIGNMENT
+# endif
+
+typedef struct
+ {
+ int si_signo; /* Signal number. */
+ int si_errno; /* If non-zero, an errno value associated with
+ this signal, as defined in <errno.h>. */
+ int si_code; /* Signal code. */
+
+ union
+ {
+ int _pad[__SI_PAD_SIZE];
+
+ /* kill(). */
+ struct
+ {
+ __pid_t si_pid; /* Sending process ID. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ } _kill;
+
+ /* POSIX.1b timers. */
+ struct
+ {
+ int si_tid; /* Timer ID. */
+ int si_overrun; /* Overrun count. */
+ sigval_t si_sigval; /* Signal value. */
+ } _timer;
+
+ /* POSIX.1b signals. */
+ struct
+ {
+ __pid_t si_pid; /* Sending process ID. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ sigval_t si_sigval; /* Signal value. */
+ } _rt;
+
+ /* SIGCHLD. */
+ struct
+ {
+ __pid_t si_pid; /* Which child. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ int si_status; /* Exit value or signal. */
+ __sigchld_clock_t si_utime;
+ __sigchld_clock_t si_stime;
+ } _sigchld;
+
+ /* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */
+ struct
+ {
+ void *si_addr; /* Faulting insn/memory ref. */
+ } _sigfault;
+
+ /* SIGPOLL. */
+ struct
+ {
+ long int si_band; /* Band event for SIGPOLL. */
+ int si_fd;
+ } _sigpoll;
+ } _sifields;
+ } siginfo_t __SI_ALIGNMENT;
+
+
+/* X/Open requires some more fields with fixed names. */
+# define si_pid _sifields._kill.si_pid
+# define si_uid _sifields._kill.si_uid
+# define si_timerid _sifields._timer.si_tid
+# define si_overrun _sifields._timer.si_overrun
+# define si_status _sifields._sigchld.si_status
+# define si_utime _sifields._sigchld.si_utime
+# define si_stime _sifields._sigchld.si_stime
+# define si_value _sifields._rt.si_sigval
+# define si_int _sifields._rt.si_sigval.sival_int
+# define si_ptr _sifields._rt.si_sigval.sival_ptr
+# define si_addr _sifields._sigfault.si_addr
+# define si_band _sifields._sigpoll.si_band
+# define si_fd _sifields._sigpoll.si_fd
+
+
+/* Values for `si_code'. Positive values are reserved for kernel-generated
+ signals. */
+enum
+{
+ SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */
+# define SI_ASYNCNL SI_ASYNCNL
+ SI_TKILL = -6, /* Sent by tkill. */
+# define SI_TKILL SI_TKILL
+ SI_SIGIO, /* Sent by queued SIGIO. */
+# define SI_SIGIO SI_SIGIO
+ SI_ASYNCIO, /* Sent by AIO completion. */
+# define SI_ASYNCIO SI_ASYNCIO
+ SI_MESGQ, /* Sent by real time mesq state change. */
+# define SI_MESGQ SI_MESGQ
+ SI_TIMER, /* Sent by timer expiration. */
+# define SI_TIMER SI_TIMER
+ SI_QUEUE, /* Sent by sigqueue. */
+# define SI_QUEUE SI_QUEUE
+ SI_USER, /* Sent by kill, sigsend. */
+# define SI_USER SI_USER
+ SI_KERNEL = 0x80 /* Send by kernel. */
+#define SI_KERNEL SI_KERNEL
+};
+
+
+/* `si_code' values for SIGILL signal. */
+enum
+{
+ ILL_ILLOPC = 1, /* Illegal opcode. */
+# define ILL_ILLOPC ILL_ILLOPC
+ ILL_ILLOPN, /* Illegal operand. */
+# define ILL_ILLOPN ILL_ILLOPN
+ ILL_ILLADR, /* Illegal addressing mode. */
+# define ILL_ILLADR ILL_ILLADR
+ ILL_ILLTRP, /* Illegal trap. */
+# define ILL_ILLTRP ILL_ILLTRP
+ ILL_PRVOPC, /* Privileged opcode. */
+# define ILL_PRVOPC ILL_PRVOPC
+ ILL_PRVREG, /* Privileged register. */
+# define ILL_PRVREG ILL_PRVREG
+ ILL_COPROC, /* Coprocessor error. */
+# define ILL_COPROC ILL_COPROC
+ ILL_BADSTK /* Internal stack error. */
+# define ILL_BADSTK ILL_BADSTK
+};
+
+/* `si_code' values for SIGFPE signal. */
+enum
+{
+ FPE_INTDIV = 1, /* Integer divide by zero. */
+# define FPE_INTDIV FPE_INTDIV
+ FPE_INTOVF, /* Integer overflow. */
+# define FPE_INTOVF FPE_INTOVF
+ FPE_FLTDIV, /* Floating point divide by zero. */
+# define FPE_FLTDIV FPE_FLTDIV
+ FPE_FLTOVF, /* Floating point overflow. */
+# define FPE_FLTOVF FPE_FLTOVF
+ FPE_FLTUND, /* Floating point underflow. */
+# define FPE_FLTUND FPE_FLTUND
+ FPE_FLTRES, /* Floating point inexact result. */
+# define FPE_FLTRES FPE_FLTRES
+ FPE_FLTINV, /* Floating point invalid operation. */
+# define FPE_FLTINV FPE_FLTINV
+ FPE_FLTSUB /* Subscript out of range. */
+# define FPE_FLTSUB FPE_FLTSUB
+};
+
+/* `si_code' values for SIGSEGV signal. */
+enum
+{
+ SEGV_MAPERR = 1, /* Address not mapped to object. */
+# define SEGV_MAPERR SEGV_MAPERR
+ SEGV_ACCERR /* Invalid permissions for mapped object. */
+# define SEGV_ACCERR SEGV_ACCERR
+};
+
+/* `si_code' values for SIGBUS signal. */
+enum
+{
+ BUS_ADRALN = 1, /* Invalid address alignment. */
+# define BUS_ADRALN BUS_ADRALN
+ BUS_ADRERR, /* Non-existant physical address. */
+# define BUS_ADRERR BUS_ADRERR
+ BUS_OBJERR /* Object specific hardware error. */
+# define BUS_OBJERR BUS_OBJERR
+};
+
+/* `si_code' values for SIGTRAP signal. */
+enum
+{
+ TRAP_BRKPT = 1, /* Process breakpoint. */
+# define TRAP_BRKPT TRAP_BRKPT
+ TRAP_TRACE /* Process trace trap. */
+# define TRAP_TRACE TRAP_TRACE
+};
+
+/* `si_code' values for SIGCHLD signal. */
+enum
+{
+ CLD_EXITED = 1, /* Child has exited. */
+# define CLD_EXITED CLD_EXITED
+ CLD_KILLED, /* Child was killed. */
+# define CLD_KILLED CLD_KILLED
+ CLD_DUMPED, /* Child terminated abnormally. */
+# define CLD_DUMPED CLD_DUMPED
+ CLD_TRAPPED, /* Traced child has trapped. */
+# define CLD_TRAPPED CLD_TRAPPED
+ CLD_STOPPED, /* Child has stopped. */
+# define CLD_STOPPED CLD_STOPPED
+ CLD_CONTINUED /* Stopped child has continued. */
+# define CLD_CONTINUED CLD_CONTINUED
+};
+
+/* `si_code' values for SIGPOLL signal. */
+enum
+{
+ POLL_IN = 1, /* Data input available. */
+# define POLL_IN POLL_IN
+ POLL_OUT, /* Output buffers available. */
+# define POLL_OUT POLL_OUT
+ POLL_MSG, /* Input message available. */
+# define POLL_MSG POLL_MSG
+ POLL_ERR, /* I/O error. */
+# define POLL_ERR POLL_ERR
+ POLL_PRI, /* High priority input available. */
+# define POLL_PRI POLL_PRI
+ POLL_HUP /* Device disconnected. */
+# define POLL_HUP POLL_HUP
+};
+
+# undef __need_siginfo_t
+#endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t). */
+
+
+#if (defined _SIGNAL_H || defined __need_sigevent_t) \
+ && !defined __have_sigevent_t
+# define __have_sigevent_t 1
+
+/* Structure to transport application-defined values with signals. */
+# define __SIGEV_MAX_SIZE 64
+# if __WORDSIZE == 64
+# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
+# else
+# 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;
+ int sigev_signo;
+ int sigev_notify;
+
+ union
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
+ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
+ thread to receive the signal. */
+ __pid_t _tid;
+
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+ pthread_attr_t *_attribute; /* Thread attributes. */
+ } _sigev_thread;
+ } _sigev_un;
+ } sigevent_t;
+
+/* POSIX names to access some of the members. */
+# define sigev_notify_function _sigev_un._sigev_thread._function
+# define sigev_notify_attributes _sigev_un._sigev_thread._attribute
+
+/* `sigev_notify' values. */
+enum
+{
+ SIGEV_SIGNAL = 0, /* Notify via signal. */
+# define SIGEV_SIGNAL SIGEV_SIGNAL
+ SIGEV_NONE, /* Other notification: meaningless. */
+# define SIGEV_NONE SIGEV_NONE
+ SIGEV_THREAD, /* Deliver via thread creation. */
+# define SIGEV_THREAD SIGEV_THREAD
+
+ SIGEV_THREAD_ID = 4 /* Send signal to specific thread. */
+#define SIGEV_THREAD_ID SIGEV_THREAD_ID
+};
+
+#endif /* have _SIGNAL_H. */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2003,2009,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1999-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
@@ -25,7 +25,7 @@
/* Versions of the `struct stat' data structure. */
#define _STAT_VER_KERNEL 0
-#if __WORDSIZE == 32
+#ifndef __x86_64__
# define _STAT_VER_SVR4 2
# define _STAT_VER_LINUX 3
@@ -45,15 +45,15 @@
struct stat
{
__dev_t st_dev; /* Device. */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned short int __pad1;
#endif
-#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
__ino_t st_ino; /* File serial number. */
#else
__ino_t __st_ino; /* 32bit file serial number. */
#endif
-#if __WORDSIZE == 32
+#ifndef __x86_64__
__mode_t st_mode; /* File mode. */
__nlink_t st_nlink; /* Link count. */
#else
@@ -62,20 +62,20 @@
#endif
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
-#if __WORDSIZE == 64
+#ifdef __x86_64__
int __pad0;
#endif
__dev_t st_rdev; /* Device number, if device. */
-#if __WORDSIZE == 32
+#ifndef __x86_64__
unsigned short int __pad2;
#endif
-#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
__off_t st_size; /* Size of file, in bytes. */
#else
__off64_t st_size; /* Size of file, in bytes. */
#endif
__blksize_t st_blksize; /* Optimal block size for I/O. */
-#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
#else
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
@@ -95,14 +95,14 @@
# define st_ctime st_ctim.tv_sec
#else
__time_t st_atime; /* Time of last access. */
- unsigned long int st_atimensec; /* Nscecs of last access. */
+ __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
- unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
- unsigned long int st_ctimensec; /* Nsecs of last status change. */
-#endif
-#if __WORDSIZE == 64
- long int __unused[3];
+ __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
+#endif
+#ifdef __x86_64__
+ __syscall_slong_t __unused[3];
#else
# ifndef __USE_FILE_OFFSET64
unsigned long int __unused4;
@@ -118,7 +118,7 @@
struct stat64
{
__dev_t st_dev; /* Device. */
-# if __WORDSIZE == 64
+# ifdef __x86_64__
__ino64_t st_ino; /* File serial number. */
__nlink_t st_nlink; /* Link count. */
__mode_t st_mode; /* File mode. */
@@ -130,7 +130,7 @@
# endif
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
-# if __WORDSIZE == 64
+# ifdef __x86_64__
int __pad0;
__dev_t st_rdev; /* Device number, if device. */
__off_t st_size; /* Size of file, in bytes. */
@@ -156,14 +156,14 @@
# define st_ctime st_ctim.tv_sec
# else
__time_t st_atime; /* Time of last access. */
- unsigned long int st_atimensec; /* Nscecs of last access. */
+ __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
- unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
- unsigned long int st_ctimensec; /* Nsecs of last status change. */
-# endif
-# if __WORDSIZE == 64
- long int __unused[3];
+ __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
+# endif
+# ifdef __x86_64__
+ __syscall_slong_t __unused[3];
# else
__ino64_t st_ino; /* File serial number. */
# endif
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h Thu May 17 00:01:38 2012
@@ -1,0 +1,74 @@
+/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef _BITS_TYPESIZES_H
+#define _BITS_TYPESIZES_H 1
+
+/* See <bits/types.h> for the meaning of these macros. This file exists so
+ that <bits/types.h> need not vary across different GNU platforms. */
+
+/* X32 kernel interface is 64-bit. */
+#if defined __x86_64__ && defined __ILP32__
+# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
+# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
+#else
+# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
+#endif
+
+#define __DEV_T_TYPE __UQUAD_TYPE
+#define __UID_T_TYPE __U32_TYPE
+#define __GID_T_TYPE __U32_TYPE
+#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
+#define __INO64_T_TYPE __UQUAD_TYPE
+#define __MODE_T_TYPE __U32_TYPE
+#define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
+#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
+#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __PID_T_TYPE __S32_TYPE
+#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
+#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
+#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
+#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
+#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __ID_T_TYPE __U32_TYPE
+#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
+#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
+#define __USECONDS_T_TYPE __U32_TYPE
+#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
+#define __DADDR_T_TYPE __S32_TYPE
+#define __SWBLK_T_TYPE __SYSCALL_SLONG_TYPE
+#define __KEY_T_TYPE __S32_TYPE
+#define __CLOCKID_T_TYPE __S32_TYPE
+#define __TIMER_T_TYPE void *
+#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
+#define __FSID_T_TYPE struct { int __val[2]; }
+#define __SSIZE_T_TYPE __SWORD_TYPE
+
+/* Number of descriptors that can fit in an `fd_set'. */
+#define __FD_SETSIZE 1024
+
+
+#endif /* bits/typesizes.h */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002, 2003, 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
@@ -15,11 +15,16 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <stdint.h>
+
#define SIGCONTEXT siginfo_t *_si, struct ucontext *
#define SIGCONTEXT_EXTRA_ARGS _si,
-#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.gregs[REG_RIP])
-#define GET_FRAME(ctx) ((void *) (ctx)->uc_mcontext.gregs[REG_RBP])
-#define GET_STACK(ctx) ((void *) (ctx)->uc_mcontext.gregs[REG_RSP])
+#define GET_PC(ctx) \
+ ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP])
+#define GET_FRAME(ctx) \
+ ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RBP])
+#define GET_STACK(ctx) \
+ ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RSP])
#define CALL_SIGHANDLER(handler, signo, ctx) \
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2003, 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
@@ -17,7 +17,6 @@
#ifndef _SYS_DEBUGREG_H
#define _SYS_DEBUGREG_H 1
-#include <bits/wordsize.h>
/* Indicate the register numbers for a number of the specific
debug registers. Registers 0-3 contain the addresses we wish to trap on */
@@ -76,8 +75,8 @@
-#if __WORDSIZE == 64
-# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00UL) /* Reserved */
+#ifdef __x86_64__
+# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00ULL) /* Reserved */
#else
# define DR_CONTROL_RESERVED (0x00FC00U) /* Reserved */
#endif
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2004, 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
@@ -35,7 +35,11 @@
__BEGIN_DECLS
/* Type for a general-purpose register. */
+#ifdef __x86_64__
+typedef unsigned long long elf_greg_t;
+#else
typedef unsigned long elf_greg_t;
+#endif
/* And the whole bunch of them. We could have used `struct
user_regs_struct' directly in the typedef, but tradition says that
@@ -44,7 +48,7 @@
#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-#if __WORDSIZE == 32
+#ifndef __x86_64__
/* Register set for the floating-point registers. */
typedef struct user_fpregs_struct elf_fpregset_t;
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002, 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
@@ -17,10 +17,9 @@
#ifndef _SYS_REG_H
#define _SYS_REG_H 1
-#include <bits/wordsize.h>
-#if __WORDSIZE == 64
+#ifdef __x86_64__
/* Index into an array of 8 byte longs returned from ptrace for
location of the users' stored general purpose registers. */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2001-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
@@ -20,16 +20,15 @@
#include <features.h>
#include <signal.h>
-#include <bits/wordsize.h>
/* We need the signal context definitions even if they are not used
included in <signal.h>. */
#include <bits/sigcontext.h>
-#if __WORDSIZE == 64
+#ifdef __x86_64__
/* Type for general register. */
-typedef long int greg_t;
+__extension__ typedef long long int greg_t;
/* Number of general registers. */
#define NGREG 23
@@ -127,7 +126,7 @@
gregset_t gregs;
/* Note that fpregs is a pointer. */
fpregset_t fpregs;
- unsigned long __reserved1 [8];
+ __extension__ unsigned long long __reserved1 [8];
} mcontext_t;
/* Userlevel context. */
@@ -141,7 +140,7 @@
struct _libc_fpstate __fpregs_mem;
} ucontext_t;
-#else /* __WORDSIZE == 32 */
+#else /* !__x86_64__ */
/* Type for general register. */
typedef int greg_t;
@@ -242,6 +241,6 @@
struct _libc_fpstate __fpregs_mem;
} ucontext_t;
-#endif /* __WORDSIZE == 32 */
+#endif /* !__x86_64__ */
#endif /* sys/ucontext.h */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2004, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-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
@@ -22,9 +22,7 @@
too much into it. Don't use it for anything other than GDB unless
you know what you are doing. */
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
+#ifdef __x86_64__
struct user_fpregs_struct
{
@@ -32,8 +30,8 @@
unsigned short int swd;
unsigned short int ftw;
unsigned short int fop;
- unsigned long int rip;
- unsigned long int rdp;
+ __extension__ unsigned long long int rip;
+ __extension__ unsigned long long int rdp;
unsigned int mxcsr;
unsigned int mxcr_mask;
unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
@@ -43,33 +41,33 @@
struct user_regs_struct
{
- unsigned long int r15;
- unsigned long int r14;
- unsigned long int r13;
- unsigned long int r12;
- unsigned long int rbp;
- unsigned long int rbx;
- unsigned long int r11;
- unsigned long int r10;
- unsigned long int r9;
- unsigned long int r8;
- unsigned long int rax;
- unsigned long int rcx;
- unsigned long int rdx;
- unsigned long int rsi;
- unsigned long int rdi;
- unsigned long int orig_rax;
- unsigned long int rip;
- unsigned long int cs;
- unsigned long int eflags;
- unsigned long int rsp;
- unsigned long int ss;
- unsigned long int fs_base;
- unsigned long int gs_base;
- unsigned long int ds;
- unsigned long int es;
- unsigned long int fs;
- unsigned long int gs;
+ __extension__ unsigned long long int r15;
+ __extension__ unsigned long long int r14;
+ __extension__ unsigned long long int r13;
+ __extension__ unsigned long long int r12;
+ __extension__ unsigned long long int rbp;
+ __extension__ unsigned long long int rbx;
+ __extension__ unsigned long long int r11;
+ __extension__ unsigned long long int r10;
+ __extension__ unsigned long long int r9;
+ __extension__ unsigned long long int r8;
+ __extension__ unsigned long long int rax;
+ __extension__ unsigned long long int rcx;
+ __extension__ unsigned long long int rdx;
+ __extension__ unsigned long long int rsi;
+ __extension__ unsigned long long int rdi;
+ __extension__ unsigned long long int orig_rax;
+ __extension__ unsigned long long int rip;
+ __extension__ unsigned long long int cs;
+ __extension__ unsigned long long int eflags;
+ __extension__ unsigned long long int rsp;
+ __extension__ unsigned long long int ss;
+ __extension__ unsigned long long int fs_base;
+ __extension__ unsigned long long int gs_base;
+ __extension__ unsigned long long int ds;
+ __extension__ unsigned long long int es;
+ __extension__ unsigned long long int fs;
+ __extension__ unsigned long long int gs;
};
struct user
@@ -77,18 +75,24 @@
struct user_regs_struct regs;
int u_fpvalid;
struct user_fpregs_struct i387;
- unsigned long int u_tsize;
- unsigned long int u_dsize;
- unsigned long int u_ssize;
- unsigned long int start_code;
- unsigned long int start_stack;
- long int signal;
+ __extension__ unsigned long long int u_tsize;
+ __extension__ unsigned long long int u_dsize;
+ __extension__ unsigned long long int u_ssize;
+ __extension__ unsigned long long int start_code;
+ __extension__ unsigned long long int start_stack;
+ __extension__ long long int signal;
int reserved;
struct user_regs_struct* u_ar0;
+# ifdef __ILP32__
+ unsigned int pad0;
+# endif
struct user_fpregs_struct* u_fpstate;
- unsigned long int magic;
+# ifdef __ILP32__
+ unsigned int pad1;
+# endif
+ __extension__ unsigned long long int magic;
char u_comm [32];
- unsigned long int u_debugreg [8];
+ __extension__ unsigned long long int u_debugreg [8];
};
#else
@@ -161,7 +165,7 @@
char u_comm [32];
int u_debugreg [8];
};
-#endif /* __WORDSIZE */
+#endif /* __x86_64__ */
#define PAGE_SHIFT 12
#define PAGE_SIZE (1UL << PAGE_SHIFT)
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/alphasort.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/alphasort64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/fseeko.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/fseeko64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/ftello.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/ftello64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/ftw.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/ftw64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/glob.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/glob.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/glob.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/glob.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/iofgetpos.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/iofgetpos64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/iofopen.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofopen64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/iofopen64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/iofsetpos.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/iofsetpos64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/lockf.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/lockf64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/mkostemp.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkostemp64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/mkostemp64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/mkstemp.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/mkstemp64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/mkstemp64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/scandir.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/scandir64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/scandirat.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/scandirat64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/tmpfile.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/tmpfile64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/tmpfile64.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/versionsort.c>
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/wordsize-64/versionsort64.c>
Added: fsf/trunk/libc/sysdeps/x86_64/x32/divdi3.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/x32/divdi3.c (added)
+++ fsf/trunk/libc/sysdeps/x86_64/x32/divdi3.c Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+/* Fortunately nothing to do. */
Added: fsf/trunk/libc/sysdeps/x86_64/x32/ffs.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/x32/ffs.c (added)
+++ fsf/trunk/libc/sysdeps/x86_64/x32/ffs.c Thu May 17 00:01:38 2012
@@ -1,0 +1,4 @@
+#define ffsl __something_else
+#include <sysdeps/x86_64/ffs.c>
+#undef ffsl
+weak_alias (__ffs, ffsl)
Added: fsf/trunk/libc/sysdeps/x86_64/x32/gmp-mparam.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/x32/gmp-mparam.h (added)
+++ fsf/trunk/libc/sysdeps/x86_64/x32/gmp-mparam.h Thu May 17 00:01:38 2012
@@ -1,0 +1,33 @@
+/* gmp-mparam.h -- Compiler/machine parameter header file.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or (at your
+option) any later version.
+
+The GNU MP 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 MP Library; see the file COPYING.LIB. If not, see
+<http://www.gnu.org/licenses/>. */
+
+#if defined __GMP_H__ && ! defined _LONG_LONG_LIMB
+#error "Included too late for _LONG_LONG_LIMB to take effect"
+#endif
+
+#define _LONG_LONG_LIMB
+#define BITS_PER_MP_LIMB 64
+#define BYTES_PER_MP_LIMB 8
+#define BITS_PER_LONGINT 32
+#define BITS_PER_INT 32
+#define BITS_PER_SHORTINT 16
+#define BITS_PER_CHAR 8
+
+#define IEEE_DOUBLE_BIG_ENDIAN 0
Added: fsf/trunk/libc/sysdeps/x86_64/x32/symbol-hacks.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/x32/symbol-hacks.h (added)
+++ fsf/trunk/libc/sysdeps/x86_64/x32/symbol-hacks.h Thu May 17 00:01:38 2012
@@ -1,0 +1,1 @@
+/* Fortunately nothing to do. */
Modified: fsf/trunk/libc/sysvipc/sys/msg.h
==============================================================================
--- fsf/trunk/libc/sysvipc/sys/msg.h (original)
+++ fsf/trunk/libc/sysvipc/sys/msg.h Thu May 17 00:01:38 2012
@@ -51,7 +51,7 @@
/* Template for struct to be used as argument for `msgsnd' and `msgrcv'. */
struct msgbuf
{
- long int mtype; /* type of received/sent message */
+ __syscall_slong_t mtype; /* type of received/sent message */
char mtext[1]; /* text of the message */
};
#endif
Modified: fsf/trunk/libc/time/ctime.c
==============================================================================
--- fsf/trunk/libc/time/ctime.c (original)
+++ fsf/trunk/libc/time/ctime.c Thu May 17 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991-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
@@ -15,11 +15,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#undef __OPTIMIZE__ /* Avoid inline `ctime' function. */
#include <time.h>
-
-#undef ctime
-
/* Return a string as returned by asctime which
is the representation of *T in that form. */
Modified: fsf/trunk/libc/time/time.h
==============================================================================
--- fsf/trunk/libc/time/time.h (original)
+++ fsf/trunk/libc/time/time.h Thu May 17 00:01:38 2012
@@ -120,7 +120,7 @@
struct timespec
{
__time_t tv_sec; /* Seconds. */
- __snseconds_t tv_nsec; /* Nanoseconds. */
+ __syscall_slong_t tv_nsec; /* Nanoseconds. */
};
#endif /* timespec not defined and <time.h> or need timespec. */
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits