[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21776 - in /trunk: ./ libc/ libc/conform/data/ libc/conform/data/sys/ libc/crypt/ libc/debug/ libc/elf/ libc/iconv/ libc/io...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21776 - in /trunk: ./ libc/ libc/conform/data/ libc/conform/data/sys/ libc/crypt/ libc/debug/ libc/elf/ libc/iconv/ libc/io...
- From: joseph@xxxxxxxxxx
- Date: Sat, 17 Nov 2012 17:50:15 -0000
Author: joseph
Date: Sat Nov 17 17:50:14 2012
New Revision: 21776
Log:
Merge changes between r21628 and r21775 from /fsf/trunk.
Added:
trunk/libc/crypt/md5-block.c
- copied unchanged from r21775, fsf/trunk/libc/crypt/md5-block.c
trunk/libc/crypt/sha256-block.c
- copied unchanged from r21775, fsf/trunk/libc/crypt/sha256-block.c
trunk/libc/crypt/sha512-block.c
- copied unchanged from r21775, fsf/trunk/libc/crypt/sha512-block.c
trunk/libc/elf/tst-audit8.c
- copied unchanged from r21775, fsf/trunk/libc/elf/tst-audit8.c
trunk/libc/localedata/locales/ayc_PE
- copied unchanged from r21775, fsf/trunk/libc/localedata/locales/ayc_PE
trunk/libc/localedata/locales/doi_IN
- copied unchanged from r21775, fsf/trunk/libc/localedata/locales/doi_IN
trunk/libc/localedata/locales/mni_IN
- copied unchanged from r21775, fsf/trunk/libc/localedata/locales/mni_IN
trunk/libc/localedata/locales/nhn_MX
- copied unchanged from r21775, fsf/trunk/libc/localedata/locales/nhn_MX
trunk/libc/localedata/locales/sat_IN
- copied unchanged from r21775, fsf/trunk/libc/localedata/locales/sat_IN
trunk/libc/localedata/locales/szl_PL
- copied unchanged from r21775, fsf/trunk/libc/localedata/locales/szl_PL
trunk/libc/posix/getconf-speclist.c
- copied unchanged from r21775, fsf/trunk/libc/posix/getconf-speclist.c
trunk/libc/posix/posix-envs.def
- copied unchanged from r21775, fsf/trunk/libc/posix/posix-envs.def
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/md5-block.c
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/md5-block.c
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/md5-crop.S
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/md5-crop.S
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-block.c
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-block.c
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-crop.S
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-crop.S
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-block.c
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-block.c
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-crop.S
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-crop.S
trunk/libc/sysdeps/sparc/sparc64/multiarch/md5-block.c
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc64/multiarch/md5-block.c
trunk/libc/sysdeps/sparc/sparc64/multiarch/md5-crop.S
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc64/multiarch/md5-crop.S
trunk/libc/sysdeps/sparc/sparc64/multiarch/sha256-block.c
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc64/multiarch/sha256-block.c
trunk/libc/sysdeps/sparc/sparc64/multiarch/sha256-crop.S
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc64/multiarch/sha256-crop.S
trunk/libc/sysdeps/sparc/sparc64/multiarch/sha512-block.c
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc64/multiarch/sha512-block.c
trunk/libc/sysdeps/sparc/sparc64/multiarch/sha512-crop.S
- copied unchanged from r21775, fsf/trunk/libc/sysdeps/sparc/sparc64/multiarch/sha512-crop.S
Removed:
trunk/libc/posix/confstr.inc
trunk/libc/posix/cross-getconf.c
trunk/libc/timezone/version.h
Modified:
trunk/ (props changed)
trunk/libc/ChangeLog
trunk/libc/Makefile
trunk/libc/NEWS
trunk/libc/conform/data/semaphore.h-data
trunk/libc/conform/data/sys/socket.h-data
trunk/libc/conform/data/time.h-data
trunk/libc/conform/data/unistd.h-data
trunk/libc/conform/data/wchar.h-data
trunk/libc/crypt/Makefile
trunk/libc/crypt/md5.c
trunk/libc/crypt/sha256.c
trunk/libc/crypt/sha512.c
trunk/libc/debug/pcprofiledump.c
trunk/libc/elf/Makefile
trunk/libc/elf/dl-runtime.c
trunk/libc/elf/tst-array1.c
trunk/libc/elf/tst-array2dep.c
trunk/libc/iconv/iconv_prog.c
trunk/libc/io/Makefile
trunk/libc/libio/fileops.c
trunk/libc/libio/iopadn.c
trunk/libc/libio/iowpadn.c
trunk/libc/libio/libioP.h
trunk/libc/locale/Makefile
trunk/libc/localedata/ChangeLog
trunk/libc/localedata/SUPPORTED
trunk/libc/localedata/locales/bo_CN
trunk/libc/localedata/locales/bo_IN
trunk/libc/localedata/locales/km_KH
trunk/libc/malloc/memusagestat.c
trunk/libc/math/libm-test.inc
trunk/libc/misc/Makefile
trunk/libc/nptl/ChangeLog
trunk/libc/nptl/Makefile
trunk/libc/ports/ChangeLog.arm
trunk/libc/ports/ChangeLog.mips
trunk/libc/ports/sysdeps/mips/bits/atomic.h
trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data (props changed)
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data (props changed)
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data (props changed)
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data (props changed)
trunk/libc/posix/Makefile
trunk/libc/posix/confstr.c
trunk/libc/resolv/netdb.h
trunk/libc/scripts/check-local-headers.sh
trunk/libc/soft-fp/op-common.h
trunk/libc/soft-fp/soft-fp.h
trunk/libc/stdio-common/tst-put-error.c
trunk/libc/stdio-common/vfprintf.c
trunk/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
trunk/libc/sysdeps/posix/sysconf.c
trunk/libc/sysdeps/sparc/sparc-ifunc.h
trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
trunk/libc/sysdeps/sparc/sparc64/multiarch/Makefile
trunk/libc/sysdeps/unix/sysv/linux/fxstatat.c
trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
trunk/libc/timezone/Makefile
trunk/libc/timezone/README
trunk/libc/timezone/tzselect.ksh
trunk/libc/timezone/zdump.c
trunk/libc/timezone/zic.c
Propchange: trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Nov 17 17:50:14 2012
@@ -1,1 +1,1 @@
-/fsf/trunk:15224-21628
+/fsf/trunk:15224-21775
Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Sat Nov 17 17:50:14 2012
@@ -1,4 +1,204 @@
+2012-11-17 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/fxstatat.c: Include <string.h>.
+
+ * elf/dl-runtime.c [!ELF_MACHINE_NO_PLT]: Make code unconditional.
+
+ * posix/getconf-speclist.c: New file.
+ * posix/posix-envs.def: Likewise.
+ * posix/confstr.c (START_ENV_GROUP): New macro.
+ (END_ENV_GROUP): Likewise.
+ (KNOWN_ABSENT_ENVIRONMENT): Likewise.
+ (KNOWN_PRESENT_ENV_STRING): Likewise.
+ (KNOWN_PRESENT_ENVIRONMENT): Likewise.
+ (UNKNOWN_ENVIRONMENT): Likewise.
+ (confstr): Include posix-envs.def instead of handling
+ _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_V6_WIDTH_RESTRICTED_ENVS and
+ _CS_V5_WIDTH_RESTRICTED_ENVS directly here.
+ * sysdeps/posix/sysconf.c (START_ENV_GROUP): New macro.
+ (END_ENV_GROUP): Likewise.
+ (KNOWN_ABSENT_ENVIRONMENT): Likewise.
+ (KNOWN_PRESENT_ENVIRONMENT): Likewise.
+ (UNKNOWN_ENVIRONMENT): Likewise.
+ (__sysconf): Include posix-envs.def instead of handling associated
+ cases directly here.
+ * posix/Makefile ($(objpfx)getconf.speclist): Generate by
+ preprocessing getconf-speclist.c rather than running getconf or
+ generating empty file.
+
+2012-11-16 Pino Toscano <toscano.pino@xxxxxxxxxx>
+
+ * scripts/check-local-headers.sh: Ignore 'mach' headers.
+
+2012-11-16 Andrej Lajovic <natrij@xxxxxxxxx>
+
+ [BZ #14672]
+ * iconv/iconv_prog.c (main): Fix -c handling of '/'.
+
+2012-11-16 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): If xm1 is
+ smaller than LDBL_EPSILON/2.0L, just return xm1.
+
+2012-11-16 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * elf/tst-array1.c (init): Set constructor priority to 1000.
+ (fini): Set destructor priority to 1000.
+ * elf/tst-array2dep.c: Likewise.
+
+2012-11-16 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ [BZ #11741]
+ * libio/fileops.c (_IO_new_file_write): Correctly return error.
+ (_IO_new_file_xsputn): Also return EOF if none of the input
+ data was written when overflow failed.
+ * libio/iopadn.c (_IO_padn): Likewise.
+ * libio/iowpadn.c (_IO_wpadn): Likewise.
+ * stdio-common/tst-put-error.c: Add copyright notice.
+ (do_test): Add case for printing padded string.
+ * stdio-common/vfprintf [!COMPILE_WPRINTF] (PAD): Flag error if
+ _IO_padn returned error.
+ [COMPILE_WPRINTF] (PAD): Flag error if _IO_wpadn returned error.
+ * libio/libioP.h (_IO_xsputn_t): Note in comment that xsputn can
+ return EOF.
+
+2012-11-16 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ * libio/libioP.h: Add comment note that the references to C++
+ bits are now obsolete.
+
+2012-11-15 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
+
+ * math/libm-test.inc (check_complex): Use asprintf.
+
+2012-11-14 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * debug/pcprofiledump.c (print_version): Update copyright year.
+ * malloc/memusagestat.c (print_version): Likewise.
+
+2012-11-14 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ [BZ #14831]
+ * elf/Makefile (tests): Add tst-audit8.
+ ($(objpfx)tst-audit8): Also depend on $(common-objpfx)math/libm.so.
+ ($(objpfx)tst-audit8.out): New target.
+ (tst-audit8-ENV): New variable.
+ * elf/dl-runtime.c (_dl_profile_fixup): Call _dl_fixup to skip
+ audit if l_reloc_result is NULL.
+ (ELF_MACHINE_RUNTIME_FIXUP_PARAMS): Issue an error if it isn't
+ defined and ELF_MACHINE_RUNTIME_FIXUP_ARGS is defined.
+ * elf/tst-audit8.c: New file.
+
+2012-11-14 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
+
+ * io/Makefile (CFLAGS-open.c, CFLAGS-open64.c): Define.
+ * misc/Makefile (CFLAGS-select.c): Define.
+ * posix/Makefile (CFLAGS-pause.c): Define.
+
+2012-11-13 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * crypt/Makefile: Move test targets after toplevel Rules
+ inclusion. Grab any necessary sysdep routines when linking.
+ * crypt/md5.c (md5_process_block): Remove define, we will always
+ name it __md5_process_block.
+ (md5_finish_ctx): Update md5_process_block call.
+ (md5_stream): Likewise.
+ (md5_process_bytes): Likewise.
+ (md5_process_block): Rename to __md5_process_block and move to ...
+ * crypt/md5-block.c: ... here.
+ * crypt/sha256.c (sha256_process_block): Move to ...
+ * crypt/sha256-block.c: ... here.
+ * crypt/sha512.c (sha512_process_block): Move to ...
+ * crypt/sha512-block.c: ... here.
+ * locale/Makefile (CFLAGS-md5.c): Define to add crypt/ to include
+ path.
+ * sysdeps/sparc/sparc-ifunc.c (sparc_libc_ifunc): Define.
+ * sysdeps/sparc/sparc64/multiarch/Makefile
+ (libcrypt-sysdep_routines): Add crypto assembler sysdeps when in
+ crypt subdir.
+ (localedef-aux): Add md5 crypto assembler when in locale subdir.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile: Mirror sparc64
+ multiarch changes.
+ * sysdeps/sparc/sparc64/multiarch/md5-block.c: New file.
+ * sysdeps/sparc/sparc64/multiarch/md5-crop.S: New file.
+ * sysdeps/sparc/sparc64/multiarch/sha256-block.c: New file.
+ * sysdeps/sparc/sparc64/multiarch/sha256-crop.S: New file.
+ * sysdeps/sparc/sparc64/multiarch/sha512-block.c: New file.
+ * sysdeps/sparc/sparc64/multiarch/sha512-crop.S: New file.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/md5-block.c: New file.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/md5-crop.S: New file.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-block.c: New
+ file.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-crop.S: New file.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-block.c: New
+ file.
+ * sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-crop.S: New file.
+
+2012-11-13 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * timezone/tzselect.ksh: Update from tzcode git revision
+ a435f9f0ecafa56d9e0263835836bd0c64cd7307.
+ * timezone/zdump.c: Likewise.
+ * timezone/zic.c: Likewise.
+ * timezone/Makefile ($(objpfx)version.h): Only include $(version)
+ in TZVERSION setting, not $(PKGVERSION).
+ ($(objpfx)tzselect): Likewise. Also substitute PKGVERSION and
+ REPORT_BUGS_TO settings.
+
+ [BZ #14838]
+ * resolv/netdb.h [__USE_XOPEN_EXTENDED] (IPPORT_RESERVED): Define
+ macro.
+
+2012-11-13 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
+
+ * soft-fp/op-common.h (_FP_PACK_SEMIRAW): Move underflow
+ detection to immediately after _FP_ROUND().
+ * soft-fp/soft-fp.h (_FP_ROUND): Don't round if working
+ bits are 0.
+
+2012-11-11 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Include
+ inttypes.h
+ (__get_clockfreq_via_proc_openprom): Use __open, __read, and
+ __close rather than their public counterparts.
+
+2012-11-10 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * conform/data/semaphore.h-data [XPG3 || XPG4]: Disable whole
+ file.
+ [UNIX98] (sem_timedwait): Do not expect.
+ * conform/data/sys/socket.h-data [XPG3]: Disable whole file.
+ [XPG4 || UNIX98] (sockatmark): Do not expect.
+ * conform/data/time.h-data [XPG3 || XPG4 || UNIX98]
+ (clock_getcpuclockid): Do not expect.
+ [XPG3 || XPG4 || UNIX98] (clock_nanosleep): Do not expect.
+ * conform/data/unistd.h-data [XPG3 || XPG4 || UNIX98] (setegid):
+ Do not expect.
+ [XPG3 || XPG4 || UNIX98] (seteuid): Likewise.
+ * conform/data/wchar.h-data [UNIX98] (vfwscanf): Do not expect.
+ [UNIX98] (vwscanf): Likewise.
+ [UNIX98] (vswscanf): Likewise.
+
2012-11-09 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * timezone/version.h: Remove file.
+ * timezone/README: Do not refer to version.h.
+ * timezone/Makefile ($(objpfx)zic.o): New dependency on
+ $(objpfx)version.h.
+ ($(objpfx)zdump.o): Likewise.
+ ($(objpfx)version.h): New target.
+
+ * timezone/tzselect.ksh: Change to verbatim copy from tzcode
+ 2012i.
+ * timezone/README: Don't mention modification to tzselect.ksh.
+ * timezone/Makefile ($(objpfx)tzselect): Update substitutions to
+ work on unmodified tzselect.ksh. Substitute version numbers in
+ tzselect.ksh.
+
+ * Makefile (format-me): Remove.
+ (INSTALL): Adjust indentation. Use commands directly instead of
+ using $(format-me).
* aclocal.m4 (ACX_PKGVERSION): New macro.
(ACX_BUGURL): Likewise.
Modified: trunk/libc/Makefile
==============================================================================
--- trunk/libc/Makefile (original)
+++ trunk/libc/Makefile Sat Nov 17 17:50:14 2012
@@ -417,15 +417,11 @@
fi
endif
-define format-me
-@rm -f $@
-makeinfo --no-validate --plaintext --no-number-sections \
- -I$(common-objpfx)manual $< -o $@
--chmod a-w $@
-endef
INSTALL: manual/install.texi manual/macros.texi \
- $(common-objpfx)manual/pkgvers.texi
- $(format-me)
+ $(common-objpfx)manual/pkgvers.texi
+ makeinfo --no-validate --plaintext --no-number-sections \
+ -I$(common-objpfx)manual $< -o $@
+ -chmod a-w $@
$(common-objpfx)manual/%: FORCE
$(MAKE) $(PARALLELMFLAGS) -C manual $@
FORCE:
Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Sat Nov 17 17:50:14 2012
@@ -10,16 +10,19 @@
* The following bugs are resolved with this release:
1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6778, 6808, 9685,
- 9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 12140, 13412,
- 13542, 13601, 13629, 13679, 13696, 13717, 13741, 13939, 13966, 14042,
- 14047, 14090, 14150, 14151, 14152, 14154, 14157, 14166, 14173, 14195,
- 14237, 14251, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336,
- 14337, 14347, 14349, 14376, 14417, 14459, 14476, 14477, 14505, 14510,
- 14516, 14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557,
- 14562, 14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621,
- 14638, 14645, 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716,
- 14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14805,
- 14807, 14809, 14811, 14815, 14821, 14824.
+ 9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 11741, 12140,
+ 13412, 13542, 13601, 13603, 13604, 13629, 13679, 13696, 13698, 13717,
+ 13741, 13939, 13950, 13952, 13966, 14042, 14047, 14090, 14150, 14151,
+ 14152, 14154, 14157, 14166, 14173, 14195, 14237, 14251, 14252, 14283,
+ 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349, 14368,
+ 14376, 14417, 14459, 14476, 14477, 14501, 14505, 14510, 14516, 14518,
+ 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562, 14568,
+ 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638, 14645,
+ 14648, 14652, 14660, 14661, 14669, 14672, 14683, 14694, 14716, 14743,
+ 14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14805, 14807,
+ 14809, 14811, 14815, 14821, 14824, 14828, 14831, 14838.
+
+* Port to ARM AArch64 contributed by Linaro.
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
Modified: trunk/libc/conform/data/semaphore.h-data
==============================================================================
--- trunk/libc/conform/data/semaphore.h-data (original)
+++ trunk/libc/conform/data/semaphore.h-data Sat Nov 17 17:50:14 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
type sem_t
constant SEM_FAILED
@@ -9,7 +9,7 @@
function int sem_init (sem_t*, int, unsigned int)
function {sem_t*} sem_open (const char*, int, ...)
function int sem_post (sem_t*)
-# if !defined POSIX
+# if !defined POSIX && !defined UNIX98
function int sem_timedwait (sem_t*, const struct timespec*)
# endif
function int sem_trywait (sem_t*)
Modified: trunk/libc/conform/data/sys/socket.h-data
==============================================================================
--- trunk/libc/conform/data/sys/socket.h-data (original)
+++ trunk/libc/conform/data/sys/socket.h-data Sat Nov 17 17:50:14 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
type socklen_t
type sa_family_t
@@ -111,7 +111,9 @@
function int shutdown (int, int)
function int socket (int, int, int)
function int socketpair (int, int, int, int[2])
+#if !defined XPG4 && !defined UNIX98
function int sockatmark (int)
+#endif
allow-header sys/uio.h
Modified: trunk/libc/conform/data/time.h-data
==============================================================================
--- trunk/libc/conform/data/time.h-data (original)
+++ trunk/libc/conform/data/time.h-data Sat Nov 17 17:50:14 2012
@@ -71,12 +71,12 @@
# endif
function {char*} asctime_r (const struct tm*, char*)
-#if !defined POSIX
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function int clock_getcpuclockid (pid_t, clockid_t*)
#endif
function int clock_getres (clockid_t, struct timespec*)
function int clock_gettime (clockid_t, struct timespec*)
-#if !defined POSIX
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function int clock_nanosleep (clockid_t, int, const struct timespec*, struct timespec*)
#endif
function int clock_settime (clockid_t, const struct timespec*)
Modified: trunk/libc/conform/data/unistd.h-data
==============================================================================
--- trunk/libc/conform/data/unistd.h-data (original)
+++ trunk/libc/conform/data/unistd.h-data Sat Nov 17 17:50:14 2012
@@ -472,7 +472,7 @@
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
function {void*} sbrk (intptr_t)
#endif
-#ifndef POSIX
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function int setegid (gid_t)
function int seteuid (uid_t)
#endif
Modified: trunk/libc/conform/data/wchar.h-data
==============================================================================
--- trunk/libc/conform/data/wchar.h-data (original)
+++ trunk/libc/conform/data/wchar.h-data Sat Nov 17 17:50:14 2012
@@ -60,11 +60,17 @@
# endif
function wint_t ungetwc (wint_t, FILE*)
function int vfwprintf (FILE*, const wchar_t*, __gnuc_va_list)
+# ifndef UNIX98
function int vfwscanf (FILE*, const wchar_t*, __gnuc_va_list)
+# endif
function int vwprintf (const wchar_t*, __gnuc_va_list)
+# ifndef UNIX98
function int vwscanf (const wchar_t*, __gnuc_va_list)
+# endif
function int vswprintf (wchar_t*, size_t, const wchar_t*, __gnuc_va_list)
+# ifndef UNIX98
function int vswscanf (const wchar_t*, const wchar_t*, __gnuc_va_list)
+# endif
# if defined XOPEN2K8 || defined POSIX2008
function {wchar_t*} wcpcpy (wchar_t*, const wchar_t*)
function {wchar_t*} wcpncpy (wchar_t*, const wchar_t*, size_t)
Modified: trunk/libc/crypt/Makefile
==============================================================================
--- trunk/libc/crypt/Makefile (original)
+++ trunk/libc/crypt/Makefile Sat Nov 17 17:50:14 2012
@@ -53,14 +53,20 @@
# The test md5test-giant uses up to 400 MB of RSS and runs on a fast
# machine over a minute.
xtests = md5test-giant
-
-$(objpfx)md5test: $(objpfx)md5.o
-$(objpfx)md5test-giant: $(objpfx)md5.o
-$(objpfx)sha256test: $(objpfx)sha256.o
-$(objpfx)sha512test: $(objpfx)sha512.o
endif
include ../Rules
+
+ifneq ($(nss-crypt),yes)
+md5-routines := md5 $(filter md5%,$(libcrypt-sysdep_routines))
+sha256-routines := sha256 $(filter sha256%,$(libcrypt-sysdep_routines))
+sha512-routines := sha512 $(filter sha512%,$(libcrypt-sysdep_routines))
+
+$(objpfx)md5test: $(patsubst %, $(objpfx)%.o,$(md5-routines))
+$(objpfx)md5test-giant: $(patsubst %, $(objpfx)%.o,$(md5-routines))
+$(objpfx)sha256test: $(patsubst %, $(objpfx)%.o,$(sha256-routines))
+$(objpfx)sha512test: $(patsubst %, $(objpfx)%.o,$(sha512-routines))
+endif
ifeq ($(OPTION_EGLIBC_CRYPT),y)
ifeq (yes,$(build-shared))
Modified: trunk/libc/crypt/md5.c
==============================================================================
--- trunk/libc/crypt/md5.c (original)
+++ trunk/libc/crypt/md5.c Sat Nov 17 17:50:14 2012
@@ -44,7 +44,6 @@
/* We need to keep the namespace clean so define the MD5 function
protected using leading __ . */
# define md5_init_ctx __md5_init_ctx
-# define md5_process_block __md5_process_block
# define md5_process_bytes __md5_process_bytes
# define md5_finish_ctx __md5_finish_ctx
# define md5_read_ctx __md5_read_ctx
@@ -126,7 +125,7 @@
(ctx->total[0] >> 29));
/* Process last bytes. */
- md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
+ __md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
return md5_read_ctx (ctx, resbuf);
}
@@ -175,7 +174,7 @@
/* Process buffer with BLOCKSIZE bytes. Note that
BLOCKSIZE % 64 == 0
*/
- md5_process_block (buffer, BLOCKSIZE, &ctx);
+ __md5_process_block (buffer, BLOCKSIZE, &ctx);
}
/* Add the last bytes if necessary. */
@@ -228,7 +227,7 @@
if (ctx->buflen > 64)
{
- md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx);
+ __md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx);
ctx->buflen &= 63;
/* The regions in the following copy operation cannot overlap. */
@@ -254,14 +253,14 @@
if (UNALIGNED_P (buffer))
while (len > 64)
{
- md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
+ __md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
buffer = (const char *) buffer + 64;
len -= 64;
}
else
#endif
{
- md5_process_block (buffer, len & ~63, ctx);
+ __md5_process_block (buffer, len & ~63, ctx);
buffer = (const char *) buffer + (len & ~63);
len &= 63;
}
@@ -276,7 +275,7 @@
left_over += len;
if (left_over >= 64)
{
- md5_process_block (ctx->buffer, 64, ctx);
+ __md5_process_block (ctx->buffer, 64, ctx);
left_over -= 64;
memcpy (ctx->buffer, &ctx->buffer[64], left_over);
}
@@ -284,173 +283,4 @@
}
}
-
-/* These are the four functions used in the four steps of the MD5 algorithm
- and defined in the RFC 1321. The first function is a little bit optimized
- (as found in Colin Plumbs public domain implementation). */
-/* #define FF(b, c, d) ((b & c) | (~b & d)) */
-#define FF(b, c, d) (d ^ (b & (c ^ d)))
-#define FG(b, c, d) FF (d, b, c)
-#define FH(b, c, d) (b ^ c ^ d)
-#define FI(b, c, d) (c ^ (b | ~d))
-
-/* Process LEN bytes of BUFFER, accumulating context into CTX.
- It is assumed that LEN % 64 == 0. */
-
-void
-md5_process_block (buffer, len, ctx)
- const void *buffer;
- size_t len;
- struct md5_ctx *ctx;
-{
- md5_uint32 correct_words[16];
- const md5_uint32 *words = buffer;
- size_t nwords = len / sizeof (md5_uint32);
- const md5_uint32 *endp = words + nwords;
- md5_uint32 A = ctx->A;
- md5_uint32 B = ctx->B;
- md5_uint32 C = ctx->C;
- md5_uint32 D = ctx->D;
- md5_uint32 lolen = len;
-
- /* First increment the byte count. RFC 1321 specifies the possible
- length of the file up to 2^64 bits. Here we only compute the
- number of bytes. Do a double word increment. */
- ctx->total[0] += lolen;
- ctx->total[1] += (len >> 31 >> 1) + (ctx->total[0] < lolen);
-
- /* Process all bytes in the buffer with 64 bytes in each round of
- the loop. */
- while (words < endp)
- {
- md5_uint32 *cwp = correct_words;
- md5_uint32 A_save = A;
- md5_uint32 B_save = B;
- md5_uint32 C_save = C;
- md5_uint32 D_save = D;
-
- /* First round: using the given function, the context and a constant
- the next context is computed. Because the algorithms processing
- unit is a 32-bit word and it is determined to work on words in
- little endian byte order we perhaps have to change the byte order
- before the computation. To reduce the work for the next steps
- we store the swapped words in the array CORRECT_WORDS. */
-
-#define OP(a, b, c, d, s, T) \
- do \
- { \
- a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \
- ++words; \
- CYCLIC (a, s); \
- a += b; \
- } \
- while (0)
-
- /* It is unfortunate that C does not provide an operator for
- cyclic rotation. Hope the C compiler is smart enough. */
-#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s)))
-
- /* Before we start, one word to the strange constants.
- They are defined in RFC 1321 as
-
- T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64
- */
-
- /* Round 1. */
- OP (A, B, C, D, 7, 0xd76aa478);
- OP (D, A, B, C, 12, 0xe8c7b756);
- OP (C, D, A, B, 17, 0x242070db);
- OP (B, C, D, A, 22, 0xc1bdceee);
- OP (A, B, C, D, 7, 0xf57c0faf);
- OP (D, A, B, C, 12, 0x4787c62a);
- OP (C, D, A, B, 17, 0xa8304613);
- OP (B, C, D, A, 22, 0xfd469501);
- OP (A, B, C, D, 7, 0x698098d8);
- OP (D, A, B, C, 12, 0x8b44f7af);
- OP (C, D, A, B, 17, 0xffff5bb1);
- OP (B, C, D, A, 22, 0x895cd7be);
- OP (A, B, C, D, 7, 0x6b901122);
- OP (D, A, B, C, 12, 0xfd987193);
- OP (C, D, A, B, 17, 0xa679438e);
- OP (B, C, D, A, 22, 0x49b40821);
-
- /* For the second to fourth round we have the possibly swapped words
- in CORRECT_WORDS. Redefine the macro to take an additional first
- argument specifying the function to use. */
-#undef OP
-#define OP(f, a, b, c, d, k, s, T) \
- do \
- { \
- a += f (b, c, d) + correct_words[k] + T; \
- CYCLIC (a, s); \
- a += b; \
- } \
- while (0)
-
- /* Round 2. */
- OP (FG, A, B, C, D, 1, 5, 0xf61e2562);
- OP (FG, D, A, B, C, 6, 9, 0xc040b340);
- OP (FG, C, D, A, B, 11, 14, 0x265e5a51);
- OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa);
- OP (FG, A, B, C, D, 5, 5, 0xd62f105d);
- OP (FG, D, A, B, C, 10, 9, 0x02441453);
- OP (FG, C, D, A, B, 15, 14, 0xd8a1e681);
- OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8);
- OP (FG, A, B, C, D, 9, 5, 0x21e1cde6);
- OP (FG, D, A, B, C, 14, 9, 0xc33707d6);
- OP (FG, C, D, A, B, 3, 14, 0xf4d50d87);
- OP (FG, B, C, D, A, 8, 20, 0x455a14ed);
- OP (FG, A, B, C, D, 13, 5, 0xa9e3e905);
- OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8);
- OP (FG, C, D, A, B, 7, 14, 0x676f02d9);
- OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a);
-
- /* Round 3. */
- OP (FH, A, B, C, D, 5, 4, 0xfffa3942);
- OP (FH, D, A, B, C, 8, 11, 0x8771f681);
- OP (FH, C, D, A, B, 11, 16, 0x6d9d6122);
- OP (FH, B, C, D, A, 14, 23, 0xfde5380c);
- OP (FH, A, B, C, D, 1, 4, 0xa4beea44);
- OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9);
- OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60);
- OP (FH, B, C, D, A, 10, 23, 0xbebfbc70);
- OP (FH, A, B, C, D, 13, 4, 0x289b7ec6);
- OP (FH, D, A, B, C, 0, 11, 0xeaa127fa);
- OP (FH, C, D, A, B, 3, 16, 0xd4ef3085);
- OP (FH, B, C, D, A, 6, 23, 0x04881d05);
- OP (FH, A, B, C, D, 9, 4, 0xd9d4d039);
- OP (FH, D, A, B, C, 12, 11, 0xe6db99e5);
- OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8);
- OP (FH, B, C, D, A, 2, 23, 0xc4ac5665);
-
- /* Round 4. */
- OP (FI, A, B, C, D, 0, 6, 0xf4292244);
- OP (FI, D, A, B, C, 7, 10, 0x432aff97);
- OP (FI, C, D, A, B, 14, 15, 0xab9423a7);
- OP (FI, B, C, D, A, 5, 21, 0xfc93a039);
- OP (FI, A, B, C, D, 12, 6, 0x655b59c3);
- OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92);
- OP (FI, C, D, A, B, 10, 15, 0xffeff47d);
- OP (FI, B, C, D, A, 1, 21, 0x85845dd1);
- OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f);
- OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0);
- OP (FI, C, D, A, B, 6, 15, 0xa3014314);
- OP (FI, B, C, D, A, 13, 21, 0x4e0811a1);
- OP (FI, A, B, C, D, 4, 6, 0xf7537e82);
- OP (FI, D, A, B, C, 11, 10, 0xbd3af235);
- OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb);
- OP (FI, B, C, D, A, 9, 21, 0xeb86d391);
-
- /* Add the starting values of the context. */
- A += A_save;
- B += B_save;
- C += C_save;
- D += D_save;
- }
-
- /* Put checksum in context given as argument. */
- ctx->A = A;
- ctx->B = B;
- ctx->C = C;
- ctx->D = D;
-}
+#include <md5-block.c>
Modified: trunk/libc/crypt/sha256.c
==============================================================================
--- trunk/libc/crypt/sha256.c (original)
+++ trunk/libc/crypt/sha256.c Sat Nov 17 17:50:14 2012
@@ -80,104 +80,8 @@
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
};
-
-/* Process LEN bytes of BUFFER, accumulating context into CTX.
- It is assumed that LEN % 64 == 0. */
-static void
-sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx)
-{
- const uint32_t *words = buffer;
- size_t nwords = len / sizeof (uint32_t);
- uint32_t a = ctx->H[0];
- uint32_t b = ctx->H[1];
- uint32_t c = ctx->H[2];
- uint32_t d = ctx->H[3];
- uint32_t e = ctx->H[4];
- uint32_t f = ctx->H[5];
- uint32_t g = ctx->H[6];
- uint32_t h = ctx->H[7];
-
- /* First increment the byte count. FIPS 180-2 specifies the possible
- length of the file up to 2^64 bits. Here we only compute the
- number of bytes. */
- ctx->total64 += len;
-
- /* Process all bytes in the buffer with 64 bytes in each round of
- the loop. */
- while (nwords > 0)
- {
- uint32_t W[64];
- uint32_t a_save = a;
- uint32_t b_save = b;
- uint32_t c_save = c;
- uint32_t d_save = d;
- uint32_t e_save = e;
- uint32_t f_save = f;
- uint32_t g_save = g;
- uint32_t h_save = h;
-
- /* Operators defined in FIPS 180-2:4.1.2. */
-#define Ch(x, y, z) ((x & y) ^ (~x & z))
-#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
-#define S0(x) (CYCLIC (x, 2) ^ CYCLIC (x, 13) ^ CYCLIC (x, 22))
-#define S1(x) (CYCLIC (x, 6) ^ CYCLIC (x, 11) ^ CYCLIC (x, 25))
-#define R0(x) (CYCLIC (x, 7) ^ CYCLIC (x, 18) ^ (x >> 3))
-#define R1(x) (CYCLIC (x, 17) ^ CYCLIC (x, 19) ^ (x >> 10))
-
- /* It is unfortunate that C does not provide an operator for
- cyclic rotation. Hope the C compiler is smart enough. */
-#define CYCLIC(w, s) ((w >> s) | (w << (32 - s)))
-
- /* Compute the message schedule according to FIPS 180-2:6.2.2 step 2. */
- for (unsigned int t = 0; t < 16; ++t)
- {
- W[t] = SWAP (*words);
- ++words;
- }
- for (unsigned int t = 16; t < 64; ++t)
- W[t] = R1 (W[t - 2]) + W[t - 7] + R0 (W[t - 15]) + W[t - 16];
-
- /* The actual computation according to FIPS 180-2:6.2.2 step 3. */
- for (unsigned int t = 0; t < 64; ++t)
- {
- uint32_t T1 = h + S1 (e) + Ch (e, f, g) + K[t] + W[t];
- uint32_t T2 = S0 (a) + Maj (a, b, c);
- h = g;
- g = f;
- f = e;
- e = d + T1;
- d = c;
- c = b;
- b = a;
- a = T1 + T2;
- }
-
- /* Add the starting values of the context according to FIPS 180-2:6.2.2
- step 4. */
- a += a_save;
- b += b_save;
- c += c_save;
- d += d_save;
- e += e_save;
- f += f_save;
- g += g_save;
- h += h_save;
-
- /* Prepare for the next round. */
- nwords -= 16;
- }
-
- /* Put checksum in context given as argument. */
- ctx->H[0] = a;
- ctx->H[1] = b;
- ctx->H[2] = c;
- ctx->H[3] = d;
- ctx->H[4] = e;
- ctx->H[5] = f;
- ctx->H[6] = g;
- ctx->H[7] = h;
-}
-
+void
+sha256_process_block (const void *, size_t, struct sha256_ctx *);
/* Initialize structure containing state of computation.
(FIPS 180-2:5.3.2) */
@@ -312,3 +216,5 @@
ctx->buflen = left_over;
}
}
+
+#include <sha256-block.c>
Modified: trunk/libc/crypt/sha512.c
==============================================================================
--- trunk/libc/crypt/sha512.c (original)
+++ trunk/libc/crypt/sha512.c Sat Nov 17 17:50:14 2012
@@ -100,111 +100,8 @@
UINT64_C (0x5fcb6fab3ad6faec), UINT64_C (0x6c44198c4a475817)
};
-
-/* Process LEN bytes of BUFFER, accumulating context into CTX.
- It is assumed that LEN % 128 == 0. */
-static void
-sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx)
-{
- const uint64_t *words = buffer;
- size_t nwords = len / sizeof (uint64_t);
- uint64_t a = ctx->H[0];
- uint64_t b = ctx->H[1];
- uint64_t c = ctx->H[2];
- uint64_t d = ctx->H[3];
- uint64_t e = ctx->H[4];
- uint64_t f = ctx->H[5];
- uint64_t g = ctx->H[6];
- uint64_t h = ctx->H[7];
-
- /* First increment the byte count. FIPS 180-2 specifies the possible
- length of the file up to 2^128 bits. Here we only compute the
- number of bytes. Do a double word increment. */
-#ifdef USE_TOTAL128
- ctx->total128 += len;
-#else
- uint64_t lolen = len;
- ctx->total[TOTAL128_low] += lolen;
- ctx->total[TOTAL128_high] += ((len >> 31 >> 31 >> 2)
- + (ctx->total[TOTAL128_low] < lolen));
-#endif
-
- /* Process all bytes in the buffer with 128 bytes in each round of
- the loop. */
- while (nwords > 0)
- {
- uint64_t W[80];
- uint64_t a_save = a;
- uint64_t b_save = b;
- uint64_t c_save = c;
- uint64_t d_save = d;
- uint64_t e_save = e;
- uint64_t f_save = f;
- uint64_t g_save = g;
- uint64_t h_save = h;
-
- /* Operators defined in FIPS 180-2:4.1.2. */
-#define Ch(x, y, z) ((x & y) ^ (~x & z))
-#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
-#define S0(x) (CYCLIC (x, 28) ^ CYCLIC (x, 34) ^ CYCLIC (x, 39))
-#define S1(x) (CYCLIC (x, 14) ^ CYCLIC (x, 18) ^ CYCLIC (x, 41))
-#define R0(x) (CYCLIC (x, 1) ^ CYCLIC (x, 8) ^ (x >> 7))
-#define R1(x) (CYCLIC (x, 19) ^ CYCLIC (x, 61) ^ (x >> 6))
-
- /* It is unfortunate that C does not provide an operator for
- cyclic rotation. Hope the C compiler is smart enough. */
-#define CYCLIC(w, s) ((w >> s) | (w << (64 - s)))
-
- /* Compute the message schedule according to FIPS 180-2:6.3.2 step 2. */
- for (unsigned int t = 0; t < 16; ++t)
- {
- W[t] = SWAP (*words);
- ++words;
- }
- for (unsigned int t = 16; t < 80; ++t)
- W[t] = R1 (W[t - 2]) + W[t - 7] + R0 (W[t - 15]) + W[t - 16];
-
- /* The actual computation according to FIPS 180-2:6.3.2 step 3. */
- for (unsigned int t = 0; t < 80; ++t)
- {
- uint64_t T1 = h + S1 (e) + Ch (e, f, g) + K[t] + W[t];
- uint64_t T2 = S0 (a) + Maj (a, b, c);
- h = g;
- g = f;
- f = e;
- e = d + T1;
- d = c;
- c = b;
- b = a;
- a = T1 + T2;
- }
-
- /* Add the starting values of the context according to FIPS 180-2:6.3.2
- step 4. */
- a += a_save;
- b += b_save;
- c += c_save;
- d += d_save;
- e += e_save;
- f += f_save;
- g += g_save;
- h += h_save;
-
- /* Prepare for the next round. */
- nwords -= 16;
- }
-
- /* Put checksum in context given as argument. */
- ctx->H[0] = a;
- ctx->H[1] = b;
- ctx->H[2] = c;
- ctx->H[3] = d;
- ctx->H[4] = e;
- ctx->H[5] = f;
- ctx->H[6] = g;
- ctx->H[7] = h;
-}
-
+void
+sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx);
/* Initialize structure containing state of computation.
(FIPS 180-2:5.3.3) */
@@ -342,3 +239,5 @@
ctx->buflen = left_over;
}
}
+
+#include <sha512-block.c>
Modified: trunk/libc/debug/pcprofiledump.c
==============================================================================
--- trunk/libc/debug/pcprofiledump.c (original)
+++ trunk/libc/debug/pcprofiledump.c Sat Nov 17 17:50:14 2012
@@ -225,6 +225,6 @@
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
Modified: trunk/libc/elf/Makefile
==============================================================================
--- trunk/libc/elf/Makefile (original)
+++ trunk/libc/elf/Makefile Sat Nov 17 17:50:14 2012
@@ -142,7 +142,7 @@
tst-dlmodcount tst-dlopenrpath tst-deep1 \
tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
- tst-audit1 tst-audit2 \
+ tst-audit1 tst-audit2 tst-audit8 \
tst-stackguard1 tst-addr1 tst-thrlock \
tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
tst-initorder tst-initorder2 tst-relsort1
@@ -1020,6 +1020,10 @@
$(objpfx)tst-audit7.out: $(objpfx)tst-auditmod7b.so
tst-audit7-ENV = LD_AUDIT=$(objpfx)tst-auditmod7b.so
+$(objpfx)tst-audit8: $(common-objpfx)math/libm.so
+$(objpfx)tst-audit8.out: $(objpfx)tst-auditmod1.so
+tst-audit8-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
+
$(objpfx)tst-global1: $(libdl)
$(objpfx)tst-global1.out: $(objpfx)testobj6.so $(objpfx)testobj2.so
Modified: trunk/libc/elf/dl-runtime.c
==============================================================================
--- trunk/libc/elf/dl-runtime.c (original)
+++ trunk/libc/elf/dl-runtime.c Sat Nov 17 17:50:14 2012
@@ -1,5 +1,5 @@
/* On-demand PLT fixup for shared objects.
- Copyright (C) 1995-2009, 2010, 2011 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
@@ -56,7 +56,6 @@
to that address. Future calls will bounce directly from the PLT to the
function. */
-#ifndef ELF_MACHINE_NO_PLT
DL_FIXUP_VALUE_TYPE
__attribute ((noinline)) ARCH_FIXUP_ATTRIBUTE
_dl_fixup (
@@ -150,9 +149,8 @@
return elf_machine_fixup_plt (l, result, reloc, rel_addr, value);
}
-#endif
-
-#if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__
+
+#if !defined PROF && !__BOUNDED_POINTERS__
DL_FIXUP_VALUE_TYPE
__attribute ((noinline)) ARCH_FIXUP_ATTRIBUTE
_dl_profile_fixup (
@@ -163,6 +161,26 @@
ElfW(Addr) retaddr, void *regs, long int *framesizep)
{
void (*mcount_fct) (ElfW(Addr), ElfW(Addr)) = INTUSE(_dl_mcount);
+
+ if (l->l_reloc_result == NULL)
+ {
+ /* BZ #14843: ELF_DYNAMIC_RELOCATE is called before l_reloc_result
+ is allocated. We will get here if ELF_DYNAMIC_RELOCATE calls a
+ resolver function to resolve an IRELATIVE relocation and that
+ resolver calls a function that is not yet resolved (lazy). For
+ example, the resolver in x86-64 libm.so calls __get_cpu_features
+ defined in libc.so. Skip audit and resolve the external function
+ in this case. */
+ *framesizep = -1;
+ return _dl_fixup (
+# ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+# ifndef ELF_MACHINE_RUNTIME_FIXUP_PARAMS
+# error Please define ELF_MACHINE_RUNTIME_FIXUP_PARAMS.
+# endif
+ ELF_MACHINE_RUNTIME_FIXUP_PARAMS,
+# endif
+ l, reloc_arg);
+ }
/* This is the address in the array where we store the result of previous
relocations. */
@@ -417,7 +435,7 @@
return value;
}
-#endif /* PROF && ELF_MACHINE_NO_PLT */
+#endif /* PROF */
#include <stdio.h>
Modified: trunk/libc/elf/tst-array1.c
==============================================================================
--- trunk/libc/elf/tst-array1.c (original)
+++ trunk/libc/elf/tst-array1.c Sat Nov 17 17:50:14 2012
@@ -1,6 +1,7 @@
#include <unistd.h>
-static void init (void) __attribute__ ((constructor));
+/* Give init non-default priority so that it runs before init_array. */
+static void init (void) __attribute__ ((constructor (1000)));
static void
init (void)
@@ -8,7 +9,8 @@
write (STDOUT_FILENO, "init\n", 5);
}
-static void fini (void) __attribute__ ((destructor));
+/* Give fini the same priority as init. */
+static void fini (void) __attribute__ ((destructor (1000)));
static void
fini (void)
Modified: trunk/libc/elf/tst-array2dep.c
==============================================================================
--- trunk/libc/elf/tst-array2dep.c (original)
+++ trunk/libc/elf/tst-array2dep.c Sat Nov 17 17:50:14 2012
@@ -1,6 +1,7 @@
#include <unistd.h>
-static void init (void) __attribute__ ((constructor));
+/* Give init non-default priority so that it runs before init_array. */
+static void init (void) __attribute__ ((constructor (1000)));
static void
init (void)
@@ -8,7 +9,8 @@
write (STDOUT_FILENO, "DSO init\n", 9);
}
-static void fini (void) __attribute__ ((destructor));
+/* Give fini the same priority as init. */
+static void fini (void) __attribute__ ((destructor (1000)));
static void
fini (void)
Modified: trunk/libc/iconv/iconv_prog.c
==============================================================================
--- trunk/libc/iconv/iconv_prog.c (original)
+++ trunk/libc/iconv/iconv_prog.c Sat Nov 17 17:50:14 2012
@@ -1,5 +1,5 @@
/* Convert text in given files from the specified from-set to the to-set.
- Copyright (C) 1998-2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1998-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -156,7 +156,7 @@
if (*errhand == '/')
{
--nslash;
- errhand = strchrnul (errhand, '/');
+ errhand = strchrnul (errhand + 1, '/');
if (*errhand == '/')
{
Modified: trunk/libc/io/Makefile
==============================================================================
--- trunk/libc/io/Makefile (original)
+++ trunk/libc/io/Makefile Sat Nov 17 17:50:14 2012
@@ -79,6 +79,8 @@
include ../Rules
+CFLAGS-open.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-open64.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-fcntl.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-poll.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-ppoll.c = -fexceptions -fasynchronous-unwind-tables
Modified: trunk/libc/libio/fileops.c
==============================================================================
--- trunk/libc/libio/fileops.c (original)
+++ trunk/libc/libio/fileops.c Sat Nov 17 17:50:14 2012
@@ -1261,12 +1261,13 @@
_IO_ssize_t n;
{
_IO_ssize_t to_do = n;
+ _IO_ssize_t count = 0;
while (to_do > 0)
{
- _IO_ssize_t count = (__builtin_expect (f->_flags2
- & _IO_FLAGS2_NOTCANCEL, 0)
- ? write_not_cancel (f->_fileno, data, to_do)
- : write (f->_fileno, data, to_do));
+ count = (__builtin_expect (f->_flags2
+ & _IO_FLAGS2_NOTCANCEL, 0)
+ ? write_not_cancel (f->_fileno, data, to_do)
+ : write (f->_fileno, data, to_do));
if (count < 0)
{
f->_flags |= _IO_ERR_SEEN;
@@ -1278,7 +1279,7 @@
n -= to_do;
if (f->_offset >= 0)
f->_offset += n;
- return n;
+ return count < 0 ? count : n;
}
_IO_size_t
@@ -1338,9 +1339,10 @@
_IO_size_t block_size, do_write;
/* Next flush the (full) buffer. */
if (_IO_OVERFLOW (f, EOF) == EOF)
- /* If nothing else has to be written we must not signal the
- caller that everything has been written. */
- return to_do == 0 ? EOF : n - to_do;
+ /* If nothing else has to be written or nothing has been written, we
+ must not signal the caller that the call was even partially
+ successful. */
+ return (to_do == 0 || to_do == n) ? EOF : n - to_do;
/* Try to maintain alignment: write a whole number of blocks.
dont_write is what gets left over. */
Modified: trunk/libc/libio/iopadn.c
==============================================================================
--- trunk/libc/libio/iopadn.c (original)
+++ trunk/libc/libio/iopadn.c Sat Nov 17 17:50:14 2012
@@ -59,7 +59,7 @@
w = _IO_sputn (fp, padptr, PADSIZE);
written += w;
if (w != PADSIZE)
- return written;
+ return w == EOF ? w : written;
}
if (i > 0)
Modified: trunk/libc/libio/iowpadn.c
==============================================================================
--- trunk/libc/libio/iowpadn.c (original)
+++ trunk/libc/libio/iowpadn.c Sat Nov 17 17:50:14 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1993-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
@@ -65,7 +65,7 @@
w = _IO_sputn (fp, (char *) padptr, PADSIZE);
written += w;
if (w != PADSIZE)
- return written;
+ return w == EOF ? w : written;
}
if (i > 0)
Modified: trunk/libc/libio/libioP.h
==============================================================================
--- trunk/libc/libio/libioP.h (original)
+++ trunk/libc/libio/libioP.h Sat Nov 17 17:50:14 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1997-2003,2004,2005,2006,2007,2012
- Free Software Foundation, Inc.
+/* Copyright (C) 1993-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
@@ -24,6 +23,14 @@
might be covered by the GNU Lesser General Public License.
This exception applies to code released by its copyright holders
in files containing the exception. */
+
+/* NOTE: libio is now exclusively used only by glibc since libstdc++ has its
+ own implementation. As a result, functions that were implemented for C++
+ (like *sputn) may no longer have C++ semantics. This is of course only
+ relevant for internal callers of these functions since these functions are
+ not intended for external use otherwise.
+
+ FIXME: All of the C++ cruft eventually needs to go away. */
#include <errno.h>
#ifndef __set_errno
@@ -163,7 +170,7 @@
#define _IO_WPBACKFAIL(FP, CH) WJUMP1 (__pbackfail, FP, CH)
/* The 'xsputn' hook writes upto N characters from buffer DATA.
- Returns the number of character actually written.
+ Returns EOF or the number of character actually written.
It matches the streambuf::xsputn virtual function. */
typedef _IO_size_t (*_IO_xsputn_t) (_IO_FILE *FP, const void *DATA,
_IO_size_t N);
Modified: trunk/libc/locale/Makefile
==============================================================================
--- trunk/libc/locale/Makefile (original)
+++ trunk/libc/locale/Makefile Sat Nov 17 17:50:14 2012
@@ -75,6 +75,8 @@
include ../Rules
+CFLAGS-md5.c = -I../crypt
+
programs/%-kw.h: programs/%-kw.gperf
cd programs \
&& $(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $(<F) > $(@F).new
Modified: trunk/libc/localedata/ChangeLog
==============================================================================
--- trunk/libc/localedata/ChangeLog (original)
+++ trunk/libc/localedata/ChangeLog Sat Nov 17 17:50:14 2012
@@ -1,3 +1,46 @@
+2012-11-16 Andreas Jaeger <aj@xxxxxxx>
+
+ [BZ #14368]
+ * locales/szl_PL: New Silesian Language Locale for Poland.
+ Contributed by Przemyslaw Buczkowski <przemub@xxxxxxxx>.
+ * localedata/SUPPORTED (SUPPORTED-LOCALES): Add szl_PL.
+
+ [BZ # 14828]
+ * locales/ayc_PE: Add Aymara locale for Peru
+ contributed by Chris Leonard <cjl@xxxxxxxxxxxxx> and
+ Amos Batto <amosbatto@xxxxxxxxx>.
+ * SUPPORTED (SUPPORTED-LOCALES): Add ayc_PE.
+
+ [BZ # 14501]
+ * locales/nhn_MX: Add Central Nahuatl locale for Mexico,
+ contributed by Jorge Becerril <jrbecster@xxxxxxxxx>.
+ * SUPPORTED (SUPPORTED-LOCALES): Add nhn_MX.
+
+2012-11-15 Chris Leonard <cjlhomeaddress@xxxxxxxxx>
+
+ [BZ #13952]
+ * locales/km_KH: Correct country-name and lang-name.
+
+2012-11-15 Andreas Jaeger <aj@xxxxxxx>
+
+ [BZ #13603]
+ [BZ #13604]
+ [BZ #13698]
+ * locales/doi_IN: New file, contributed by Pravin Satpute
+ <psatpute@xxxxxxxxxx> and Sushil Badyal <badyalsk@xxxxxxxxx>.
+ * locales/mni_IN: New file, contributed by Pravin Satpute
+ <psatpute@xxxxxxxxxx> and Rebika Devi <rebika_srd@xxxxxxxxxxxxxx>.
+ * locales/sat_IN: New file, contributed by Pravin Satpute
+ <psatpute@xxxxxxxxxx> and Thakur Prasad Murmu <tp_murmu@xxxxxxxxx>.
+ * SUPPORTED (SUPPORTED-LOCALES): Add doi_IN, mni_IN, sat_IN.
+
+2012-11-15 Chris Leonard <cjlhomeaddress@xxxxxxxxx>
+
+ [BZ #13950]
+ * locales/bo_CN (LC_NAME, LC_ADDRESS): Remove some FIXMEs with
+ proper content, disable others.
+ * locales/bo_IN (LC_NAME, LC_ADDRESS): Likewise.
+
2012-11-07 Dmitry V. Levin <ldv@xxxxxxxxxxxx>
[BZ#14807]
Modified: trunk/libc/localedata/SUPPORTED
==============================================================================
--- trunk/libc/localedata/SUPPORTED (original)
+++ trunk/libc/localedata/SUPPORTED Sat Nov 17 17:50:14 2012
@@ -46,6 +46,7 @@
ar_TN/ISO-8859-6 \
ar_YE.UTF-8/UTF-8 \
ar_YE/ISO-8859-6 \
+ayc_PE/UFT-8 \
az_AZ/UTF-8 \
as_IN/UTF-8 \
ast_ES.UTF-8/UTF-8 \
@@ -102,6 +103,7 @@
de_LU.UTF-8/UTF-8 \
de_LU/ISO-8859-1 \
de_LU@euro/ISO-8859-15 \
+doi_IN/UTF-8 \
dv_MV/UTF-8 \
dz_BT/UTF-8 \
el_GR.UTF-8/UTF-8 \
@@ -296,6 +298,7 @@
mk_MK/ISO-8859-5 \
ml_IN/UTF-8 \
mn_MN/UTF-8 \
+mni_IN/UTF-8 \
mr_IN/UTF-8 \
ms_MY.UTF-8/UTF-8 \
ms_MY/ISO-8859-1 \
@@ -308,6 +311,7 @@
nds_DE/UTF-8 \
nds_NL/UTF-8 \
ne_NP/UTF-8 \
+nhn_MX/UTF-8 \
nl_AW/UTF-8 \
nl_BE.UTF-8/UTF-8 \
nl_BE/ISO-8859-1 \
@@ -346,6 +350,7 @@
ru_UA/KOI8-U \
rw_RW/UTF-8 \
sa_IN/UTF-8 \
+sat_IN/UTF-8 \
sc_IT/UTF-8 \
sd_IN/UTF-8 \
sd_IN@devanagari/UTF-8 \
@@ -380,6 +385,7 @@
sv_SE/ISO-8859-1 \
sw_KE/UTF-8 \
sw_TZ/UTF-8 \
+szl_PL/UTF-8 \
ta_IN/UTF-8 \
ta_LK/UTF-8 \
te_IN/UTF-8 \
Modified: trunk/libc/localedata/locales/bo_CN
==============================================================================
--- trunk/libc/localedata/locales/bo_CN (original)
+++ trunk/libc/localedata/locales/bo_CN Sat Nov 17 17:50:14 2012
@@ -144,19 +144,21 @@
LC_NAME
% FIXME
-name_fmt "FIXME"
-name_gen "FIXME"
-name_miss "FIXME"
-name_mr "FIXME"
-name_mrs "FIXME"
-name_ms "FIXME"
+
+name_fmt ""
+% name_gen "FIXME"
+% name_miss "FIXME"
+% name_mr "FIXME"
+% name_mrs "FIXME"
+% name_ms "FIXME"
END LC_NAME
LC_ADDRESS
% FIXME
-postal_fmt "FIXME"
-country_name "FIXME"
+% %c%N%T%N%s %h %e %r%N%b%N%d%N%f%N%a%N
+postal_fmt "<U0025><U0063><U0025><U004E><U0025><U0054><U0025><U004E><U0025><U0073><U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0064><U0025><U004E><U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>"
+country_name "<U0F40><U0FB2><U0F74><U0F44><U0F0B><U0F67><U0FAD><U0F0B><U0F58><U0F72><U0F0B><U0F51><U0F58><U0F44><U0F66><U0F0B><U0F66><U0FA4><U0FB1><U0F72><U0F0B><U0F58><U0F50><U0F74><U0F53><U0F0B><U0F62><U0F92><U0FB1><U0F63><U0F0B><U0F41><U0F56><U0F0D>"
country_ab2 "<U0043><U004E>"
country_ab3 "<U0043><U0048><U004E>"
country_num 156
Modified: trunk/libc/localedata/locales/bo_IN
==============================================================================
--- trunk/libc/localedata/locales/bo_IN (original)
+++ trunk/libc/localedata/locales/bo_IN Sat Nov 17 17:50:14 2012
@@ -70,23 +70,23 @@
LC_NAME
% FIXME
-name_fmt "FIXME"
-name_gen "FIXME"
-name_miss "FIXME"
-name_mr "FIXME"
-name_mrs "FIXME"
-name_ms "FIXME"
+name_fmt ""
+% name_gen "FIXME"
+% name_miss "FIXME"
+% name_mr "FIXME"
+% name_mrs "FIXME"
+% name_ms "FIXME"
END LC_NAME
LC_ADDRESS
% FIXME
-postal_fmt "FIXME"
-country_name "FIXME"
+% %z%c%T%s%b%e%r
+postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073><U0025><U0062><U0025><U0065><U0025><U0072>"
+country_name "<U0F62><U0F92><U0FB1><U0F0B><U0F42><U0F62>"
country_ab2 "<U0049><U004E>"
country_ab3 "<U0049><U004E><U0044>"
country_num 356
-
lang_name "<U0F54><U0F7C><U0F51><U0F0B><U0F66><U0F90><U0F51><U0F0B>"
lang_ab "<U0062><U006F>"
lang_term "<U0062><U006F><U0064>"
Modified: trunk/libc/localedata/locales/km_KH
==============================================================================
--- trunk/libc/localedata/locales/km_KH (original)
+++ trunk/libc/localedata/locales/km_KH Sat Nov 17 17:50:14 2012
@@ -1888,7 +1888,8 @@
<U0025><U0074><U0025><U0062><U0025><U004E><U0025><U0068><U0025><U0074>/
<U0025><U0073><U0025><U004E><U0025><U0054><U0025><U004E><U0025><U0053>/
<U0025><U004E><U0025><U007A><U0025><U0063><U0025><U004E>"
-country_name "<U0EA5><U0EB2><U0EA7>"
+% ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ (Kampuchea)
+country_name "<U1780><U1798><U17D2><U1796><U17BB><U1787><U17B6>"
%FIXME
%country_post ""
country_ab2 "<U004C><U0041>"
@@ -1897,7 +1898,8 @@
country_car "<U004C><U0041><U004F>"
%FIXME
%country_isbn ""
-lang_name "<U0EA5><U0EB2><U0EA7>"
+% ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ (Khmer)
+lang_name "<U1797><U17B6><U179F><U17B6><U1781><U17D2><U1798><U17C2><U179A>"
lang_ab "<U006C><U006F>"
lang_term "<U006c><U0061><U006F>"
lang_lib "<U006C><U0061><U006F>"
Modified: trunk/libc/malloc/memusagestat.c
==============================================================================
--- trunk/libc/malloc/memusagestat.c (original)
+++ trunk/libc/malloc/memusagestat.c Sat Nov 17 17:50:14 2012
@@ -1,6 +1,5 @@
/* Generate graphic from memory profiling data.
- Copyright (C) 1998, 1999, 2000, 2005, 2006,
- 2009 Free Software Foundation, Inc.
+ Copyright (C) 1998-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -554,6 +553,6 @@
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
Modified: trunk/libc/math/libm-test.inc
==============================================================================
--- trunk/libc/math/libm-test.inc (original)
+++ trunk/libc/math/libm-test.inc Sat Nov 17 17:50:14 2012
@@ -635,9 +635,11 @@
{
FLOAT part_comp, part_exp, part_max_ulp;
int part_xfail;
- char str[200];
-
- sprintf (str, "Real part of: %s", test_name);
+ char *str;
+
+ if (asprintf (&str, "Real part of: %s", test_name) == -1)
+ abort ();
+
part_comp = __real__ computed;
part_exp = __real__ expected;
part_max_ulp = __real__ max_ulp;
@@ -645,8 +647,11 @@
check_float_internal (str, part_comp, part_exp, part_max_ulp, part_xfail,
exception, &real_max_error);
-
- sprintf (str, "Imaginary part of: %s", test_name);
+ free (str);
+
+ if (asprintf (&str, "Imaginary part of: %s", test_name) == -1)
+ abort ();
+
part_comp = __imag__ computed;
part_exp = __imag__ expected;
part_max_ulp = __imag__ max_ulp;
@@ -657,6 +662,7 @@
check_float_internal (str, part_comp, part_exp, part_max_ulp, part_xfail,
exception & IGNORE_ZERO_INF_SIGN,
&imag_max_error);
+ free (str);
}
Modified: trunk/libc/misc/Makefile
==============================================================================
--- trunk/libc/misc/Makefile (original)
+++ trunk/libc/misc/Makefile Sat Nov 17 17:50:14 2012
@@ -92,6 +92,7 @@
endif
endif
+CFLAGS-select.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-tsearch.c = $(uses-callbacks)
CFLAGS-lsearch.c = $(uses-callbacks)
CFLAGS-pselect.c = -fexceptions
Modified: trunk/libc/nptl/ChangeLog
==============================================================================
--- trunk/libc/nptl/ChangeLog (original)
+++ trunk/libc/nptl/ChangeLog Sat Nov 17 17:50:14 2012
@@ -1,3 +1,8 @@
+2012-11-14 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
+
+ * Makefile (CFLAGS-open.c, CFLAGS-open64.c, CFLAGS-pause.c)
+ (CFLAGS-recv.c, CFLAGS-send.c): Define.
+
2012-11-06 Chris Metcalf <cmetcalf@xxxxxxxxxx>
* tst-sem14.c (TIMEOUT): Set timeout to 10 seconds.
Modified: trunk/libc/nptl/Makefile
==============================================================================
--- trunk/libc/nptl/Makefile (original)
+++ trunk/libc/nptl/Makefile Sat Nov 17 17:50:14 2012
@@ -195,6 +195,11 @@
CFLAGS-msgrcv.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-msgsnd.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-tcdrain.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-open.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-open64.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-pause.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-recv.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-send.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pt-system.c = -fexceptions
Modified: trunk/libc/ports/ChangeLog.arm
==============================================================================
--- trunk/libc/ports/ChangeLog.arm (original)
+++ trunk/libc/ports/ChangeLog.arm Sat Nov 17 17:50:14 2012
@@ -1,3 +1,8 @@
+2012-11-14 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/arm/Makefile (libcrypt-sysdep_routines): Add
+ libc-do-syscall.
+
2012-11-05 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
Modified: trunk/libc/ports/ChangeLog.mips
==============================================================================
--- trunk/libc/ports/ChangeLog.mips (original)
+++ trunk/libc/ports/ChangeLog.mips Sat Nov 17 17:50:14 2012
@@ -1,3 +1,12 @@
+2012-11-17 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/mips/bits/atomic.h
+ (__arch_compare_and_exchange_bool_8_int): Mark __PREV variable
+ with __attribute__ ((unused)).
+ (__arch_compare_and_exchange_bool_16_int): Likewise.
+ (__arch_compare_and_exchange_bool_32_int): Likewise.
+ (__arch_compare_and_exchange_bool_64_int): Likewise.
+
2012-11-06 Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx>
* sysdeps/mips/memmove.c: New file. Use memcpy for forward memmove.
Modified: trunk/libc/ports/sysdeps/mips/bits/atomic.h
==============================================================================
--- trunk/libc/ports/sysdeps/mips/bits/atomic.h (original)
+++ trunk/libc/ports/sysdeps/mips/bits/atomic.h Sat Nov 17 17:50:14 2012
@@ -261,22 +261,22 @@
/* For all "bool" routines, we return FALSE if exchange succesful. */
# define __arch_compare_and_exchange_bool_8_int(mem, new, old, rel, acq) \
-({ typeof (*mem) __prev; int __cmp; \
+({ typeof (*mem) __prev __attribute__ ((unused)); int __cmp; \
__arch_compare_and_exchange_xxx_8_int(mem, new, old, rel, acq); \
!__cmp; })
# define __arch_compare_and_exchange_bool_16_int(mem, new, old, rel, acq) \
-({ typeof (*mem) __prev; int __cmp; \
+({ typeof (*mem) __prev __attribute__ ((unused)); int __cmp; \
__arch_compare_and_exchange_xxx_16_int(mem, new, old, rel, acq); \
!__cmp; })
# define __arch_compare_and_exchange_bool_32_int(mem, new, old, rel, acq) \
-({ typeof (*mem) __prev; int __cmp; \
+({ typeof (*mem) __prev __attribute__ ((unused)); int __cmp; \
__arch_compare_and_exchange_xxx_32_int(mem, new, old, rel, acq); \
!__cmp; })
# define __arch_compare_and_exchange_bool_64_int(mem, new, old, rel, acq) \
-({ typeof (*mem) __prev; int __cmp; \
+({ typeof (*mem) __prev __attribute__ ((unused)); int __cmp; \
__arch_compare_and_exchange_xxx_64_int(mem, new, old, rel, acq); \
!__cmp; })
Modified: trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile
==============================================================================
--- trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile (original)
+++ trunk/libc/ports/sysdeps/unix/sysv/linux/arm/Makefile Sat Nov 17 17:50:14 2012
@@ -31,6 +31,10 @@
endif
# Add a syscall function to each library that needs one.
+
+ifeq ($(subdir),crypt)
+libcrypt-sysdep_routines += libc-do-syscall
+endif
ifeq ($(subdir),rt)
librt-sysdep_routines += libc-do-syscall
Propchange: trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Nov 17 17:50:14 2012
@@ -1,2 +1,2 @@
/fsf/trunk/libc/ports/data/c++-types-powerpce500v2-linux-gnu.data:15224-19464
-/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data:19921-21628
+/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data:19921-21775
Propchange: trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Nov 17 17:50:14 2012
@@ -1,2 +1,2 @@
/fsf/trunk/libc/ports/data/localplt-powerpce500v2-linux-gnu.data:15224-19464
-/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data:19921-21628
+/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data:19921-21775
Propchange: trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Nov 17 17:50:14 2012
@@ -1,2 +1,2 @@
/fsf/trunk/libc/ports/data/c++-types-powerpce500v1-linux-gnu.data:15224-19464
-/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data:19921-21628
+/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data:19921-21775
Propchange: trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Nov 17 17:50:14 2012
@@ -1,2 +1,2 @@
/fsf/trunk/libc/ports/data/localplt-powerpce500v1-linux-gnu.data:15224-19464
-/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data:19921-21628
+/fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data:19921-21775
Modified: trunk/libc/posix/Makefile
==============================================================================
--- trunk/libc/posix/Makefile (original)
+++ trunk/libc/posix/Makefile Sat Nov 17 17:50:14 2012
@@ -165,6 +165,7 @@
CFLAGS-regex.c = -Wno-strict-prototypes
CFLAGS-getaddrinfo.c = -DRESOLVER -fexceptions
+CFLAGS-pause.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pread.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pread64.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pwrite.c = -fexceptions -fasynchronous-unwind-tables
@@ -335,36 +336,7 @@
mv -f $@/$$spec.new $@/$$spec; \
done < $(objpfx)getconf.speclist
-# eglibc: If we are cross-compiling, build cross-getconf utility and use it
-# instead of getconf.
-
-# We moved a piece of confstr.c to confstr.inc to share the later with
-# cross-getconf.c.
-confstr.c: confstr.inc
-
-ifeq (no,$(cross-compiling))
-getconf-dep = $(objpfx)getconf
-getconf-cmd = $(run-program-prefix) $(objpfx)getconf
-else
-getconf-dep = $(objpfx)cross-getconf
-getconf-cmd = $(objpfx)cross-getconf
-
-# Get configuration defines for cross-getconf by preprocessing confstr.c.
-$(objpfx)cross-getconf.h: confstr.c
- $(compile.c) -E -dM -o - | grep "define _POSIX_V7_ILP32_OFF32\|define _POSIX_V7_ILP32_OFFBIG\|define _POSIX_V7_LP64_OFF64\|define _POSIX_V7_LPBIG_OFFBIG\|_POSIX_V6_ILP32_OFF32\|define _POSIX_V6_ILP32_OFFBIG\|define _POSIX_V6_LP64_OFF64\|define _POSIX_V6_LPBIG_OFFBIG\|_XBS5_ILP32_OFF32\|define _XBS5_ILP32_OFFBIG\|define _XBS5_LP64_OFF64\|define _XBS5_LPBIG_OFFBIG" > $(objpfx)cross-getconf.h
-
-cross-getconf-CFLAGS = -O -I$(objpfx)
-
-$(objpfx)cross-getconf: cross-getconf.c $(objpfx)cross-getconf.h
- $(native-compile)
-endif
-
-$(objpfx)getconf.speclist: $(getconf-dep)
- LC_ALL=C GETCONF_DIR=/dev/null \
- $(getconf-cmd) _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new
- LC_ALL=C GETCONF_DIR=/dev/null \
- $(getconf-cmd) _POSIX_V6_WIDTH_RESTRICTED_ENVS >> $@.new
- LC_ALL=C GETCONF_DIR=/dev/null \
- $(getconf-cmd) _XBS5_WIDTH_RESTRICTED_ENVS >> $@.new
+$(objpfx)getconf.speclist: getconf-speclist.c posix-envs.def
+ $(compile.c) -E -o - \
+ | sed -n -e '/@@@PRESENT_/s/@@@PRESENT_//p' > $@.new
mv -f $@.new $@
-# eglibc: end.
Modified: trunk/libc/posix/confstr.c
==============================================================================
--- trunk/libc/posix/confstr.c (original)
+++ trunk/libc/posix/confstr.c Sat Nov 17 17:50:14 2012
@@ -48,9 +48,53 @@
}
break;
- /* eglibc: We share code in confstr.inc with cross-getconf.c. */
-#include "confstr.inc"
- /* eglibc: end. */
+ /* For _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_V6_WIDTH_RESTRICTED_ENVS
+ and _CS_V5_WIDTH_RESTRICTED_ENVS:
+
+ We have to return a newline-separated list of names of
+ programming environments in which the widths of blksize_t,
+ cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
+ ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
+ wint_t types are no greater than the width of type long.
+
+ Currently this means all environments that the system allows. */
+
+#define START_ENV_GROUP(VERSION) \
+ case _CS_##VERSION##_WIDTH_RESTRICTED_ENVS: \
+ string_len = 0;
+
+#define END_ENV_GROUP(VERSION) \
+ restenvs[string_len++] = '\0'; \
+ string = restenvs; \
+ break;
+
+#define KNOWN_ABSENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ /* Empty. */
+
+#define KNOWN_PRESENT_ENV_STRING(STR) \
+ if (string_len > 0) \
+ restenvs[string_len++] = '\n'; \
+ memcpy (restenvs + string_len, STR, \
+ sizeof STR - 1); \
+ string_len += sizeof STR - 1;
+
+#define KNOWN_PRESENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ KNOWN_PRESENT_ENV_STRING (#ENV_PREFIX "_" #SUFFIX)
+
+#define UNKNOWN_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ if (__sysconf (_SC_##SC_PREFIX##_##SUFFIX) > 0) \
+ { \
+ KNOWN_PRESENT_ENVIRONMENT (SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ }
+
+#include "posix-envs.def"
+
+#undef START_ENV_GROUP
+#undef END_ENV_GROUP
+#undef KNOWN_ABSENT_ENVIRONMENT
+#undef KNOWN_PRESENT_ENV_STRING
+#undef KNOWN_PRESENT_ENVIRONMENT
+#undef UNKNOWN_ENVIRONMENT
case _CS_XBS5_ILP32_OFF32_CFLAGS:
case _CS_POSIX_V6_ILP32_OFF32_CFLAGS:
Removed: trunk/libc/posix/confstr.inc
==============================================================================
--- trunk/libc/posix/confstr.inc (original)
+++ trunk/libc/posix/confstr.inc (removed)
@@ -1,198 +1,0 @@
-/* Copyright (C) 2008, 2009, 2010
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- 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, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* eglibc: The following piece of code was extracted from
- confstr.c to share it with cross-getconf.c. */
-
- case _CS_V7_WIDTH_RESTRICTED_ENVS:
- /* We have to return a newline-separated list of named of
- programming environements in which the widths of blksize_t,
- cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
- ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
- wint_t types are no greater than the width of type long.
-
- Currently this means all environment which the system allows. */
- string_len = 0;
-#ifndef _POSIX_V7_ILP32_OFF32
- if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
-#endif
-#if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0
- {
- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
- sizeof "POSIX_V7_ILP32_OFF32" - 1);
- string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
- }
-#endif
-#ifndef _POSIX_V7_ILP32_OFFBIG
- if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
-#endif
-#if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
- sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
- string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
- }
-#endif
-#ifndef _POSIX_V7_LP64_OFF64
- if (__sysconf (_SC_V7_LP64_OFF64) > 0)
-#endif
-#if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
- sizeof "POSIX_V7_LP64_OFF64" - 1);
- string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
- }
-#endif
-#ifndef _POSIX_V7_LPBIG_OFFBIG
- if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
-#endif
-#if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
- sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
- string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
- }
-#endif
- restenvs[string_len++] = '\0';
- string = restenvs;
- break;
-
- case _CS_V6_WIDTH_RESTRICTED_ENVS:
- /* We have to return a newline-separated list of named of
- programming environements in which the widths of blksize_t,
- cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
- ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
- wint_t types are no greater than the width of type long.
-
- Currently this means all environment which the system allows. */
- string_len = 0;
-#ifndef _POSIX_V6_ILP32_OFF32
- if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
-#endif
-#if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0
- {
- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
- sizeof "POSIX_V6_ILP32_OFF32" - 1);
- string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
- }
-#endif
-#ifndef _POSIX_V6_ILP32_OFFBIG
- if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
-#endif
-#if !defined _POSIX_V6_ILP32_OFFBIG || _POSIX_V6_ILP32_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
- sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
- string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
- }
-#endif
-#ifndef _POSIX_V6_LP64_OFF64
- if (__sysconf (_SC_V6_LP64_OFF64) > 0)
-#endif
-#if !defined _POSIX_V6_LP64_OFF64 || _POSIX_V6_LP64_OFF64 > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
- sizeof "POSIX_V6_LP64_OFF64" - 1);
- string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
- }
-#endif
-#ifndef _POSIX_V6_LPBIG_OFFBIG
- if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
-#endif
-#if !defined _POSIX_V6_LPBIG_OFFBIG || _POSIX_V6_LPBIG_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
- sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
- string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
- }
-#endif
- restenvs[string_len++] = '\0';
- string = restenvs;
- break;
-
- case _CS_V5_WIDTH_RESTRICTED_ENVS:
- /* We have to return a newline-separated list of named of
- programming environements in which the widths of blksize_t,
- cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
- ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
- wint_t types are no greater than the width of type long.
-
- Currently this means all environment which the system allows. */
- string_len = 0;
-#ifndef _XBS5_ILP32_OFF32
- if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
-#endif
-#if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0
- {
- memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
- sizeof "XBS5_ILP32_OFF32" - 1);
- string_len += sizeof "XBS5_ILP32_OFF32" - 1;
- }
-#endif
-#ifndef _XBS5_ILP32_OFFBIG
- if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
-#endif
-#if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
- sizeof "XBS5_ILP32_OFFBIG" - 1);
- string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
- }
-#endif
-#ifndef _XBS5_LP64_OFF64
- if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
-#endif
-#if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
- sizeof "XBS5_LP64_OFF64" - 1);
- string_len += sizeof "XBS5_LP64_OFF64" - 1;
- }
-#endif
-#ifndef _XBS5_LPBIG_OFFBIG
- if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
-#endif
-#if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
- sizeof "XBS5_LPBIG_OFFBIG" - 1);
- string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
- }
-#endif
- restenvs[string_len++] = '\0';
- string = restenvs;
- break;
Removed: trunk/libc/posix/cross-getconf.c
==============================================================================
--- trunk/libc/posix/cross-getconf.c (original)
+++ trunk/libc/posix/cross-getconf.c (removed)
@@ -1,144 +1,0 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; version 2 of the License, or
- (at your option) any later version.
-
- This program 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-/* Undefine macros that should be defined in cross-getconf.h. */
-#undef _POSIX_V7_ILP32_OFF32
-#undef _POSIX_V7_ILP32_OFFBIG
-#undef _POSIX_V7_LP64_OFF64
-#undef _POSIX_V7_LPBIG_OFFBIG
-#undef _POSIX_V6_ILP32_OFF32
-#undef _POSIX_V6_ILP32_OFFBIG
-#undef _POSIX_V6_LP64_OFF64
-#undef _POSIX_V6_LPBIG_OFFBIG
-#undef _XBS5_ILP32_OFF32
-#undef _XBS5_ILP32_OFFBIG
-#undef _XBS5_LP64_OFF64
-#undef _XBS5_LPBIG_OFFBIG
-
-#include "cross-getconf.h"
-
-/* Define macros cross-getconf.h doesn't define to (-1).
- This will prevent using host's __sysconf in confstr.inc. */
-#ifndef _POSIX_V7_ILP32_OFF32
-# define _POSIX_V7_ILP32_OFF32 (-1)
-#endif
-#ifndef _POSIX_V7_ILP32_OFFBIG
-# define _POSIX_V7_ILP32_OFFBIG (-1)
-#endif
-#ifndef _POSIX_V7_LP64_OFF64
-# define _POSIX_V7_LP64_OFF64 (-1)
-#endif
-#ifndef _POSIX_V7_LPBIG_OFFBIG
-# define _POSIX_V7_LPBIG_OFFBIG (-1)
-#endif
-#ifndef _POSIX_V6_ILP32_OFF32
-# define _POSIX_V6_ILP32_OFF32 (-1)
-#endif
-#ifndef _POSIX_V6_ILP32_OFFBIG
-# define _POSIX_V6_ILP32_OFFBIG (-1)
-#endif
-#ifndef _POSIX_V6_LP64_OFF64
-# define _POSIX_V6_LP64_OFF64 (-1)
-#endif
-#ifndef _POSIX_V6_LPBIG_OFFBIG
-# define _POSIX_V6_LPBIG_OFFBIG (-1)
-#endif
-#ifndef _XBS5_ILP32_OFF32
-# define _XBS5_ILP32_OFF32 (-1)
-#endif
-#ifndef _XBS5_ILP32_OFFBIG
-# define _XBS5_ILP32_OFFBIG (-1)
-#endif
-#ifndef _XBS5_LP64_OFF64
-# define _XBS5_LP64_OFF64 (-1)
-#endif
-#ifndef _XBS5_LPBIG_OFFBIG
-# define _XBS5_LPBIG_OFFBIG (-1)
-#endif
-
-#undef _CS_V5_WIDTH_RESTRICTED_ENVS
-#define _CS_V5_WIDTH_RESTRICTED_ENVS 5
-
-#undef _CS_V6_WIDTH_RESTRICTED_ENVS
-#define _CS_V6_WIDTH_RESTRICTED_ENVS 6
-
-#undef _CS_V7_WIDTH_RESTRICTED_ENVS
-#define _CS_V7_WIDTH_RESTRICTED_ENVS 7
-
-/* Cross-getconf is a very simple program that assumes fixed
- input and produces fixed output. It handles only cases
- that are necessary to cross-compile EGLIBC. */
-
-void
-cross_getconf (int name)
-{
- const char *string = "";
- size_t string_len = 1;
-
- /* Note that this buffer must be large enough for the longest strings
- used below. */
- char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
-
- switch (name)
- {
-#include "confstr.inc"
- }
-
- printf ("%.*s\n", (int) string_len, string);
-}
-
-int
-main (int argc, char *argv[])
-{
- const char *getconf_dir;
-
- if (argc != 2)
- {
- fprintf (stderr,
- "%s: must be called with exactly one argument\n", argv[0]);
- return 1;
- }
-
- getconf_dir = getenv ("GETCONF_DIR");
- if (getconf_dir == NULL
- || strcmp (getconf_dir, "/dev/null") != 0)
- {
- fprintf (stderr, "%s: GETCONF_DIR should be /dev/null\n", argv[0]);
- return 1;
- }
-
- if (strcmp (argv[1], "_POSIX_V7_WIDTH_RESTRICTED_ENVS") == 0)
- cross_getconf (_CS_V7_WIDTH_RESTRICTED_ENVS);
- else if (strcmp (argv[1], "_POSIX_V6_WIDTH_RESTRICTED_ENVS") == 0)
- cross_getconf (_CS_V6_WIDTH_RESTRICTED_ENVS);
- else if (strcmp (argv[1], "_XBS5_WIDTH_RESTRICTED_ENVS") == 0)
- cross_getconf (_CS_V5_WIDTH_RESTRICTED_ENVS);
- else
- {
- fprintf (stderr,
- "%s: the only supported arguments value are "
- "_POSIX_V7_WIDTH_RESTRICTED_ENVS, "
- "_POSIX_V6_WIDTH_RESTRICTED_ENVS, and "
- "_XBS5_WIDTH_RESTRICTED_ENVS\n", argv[0]);
- return 1;
- }
- return 0;
-}
Modified: trunk/libc/resolv/netdb.h
==============================================================================
--- trunk/libc/resolv/netdb.h (original)
+++ trunk/libc/resolv/netdb.h Sat Nov 17 17:50:14 2012
@@ -76,7 +76,7 @@
# define NO_ADDRESS NO_DATA /* No address, look for MX record. */
#endif
-#ifdef __USE_XOPEN2K
+#if defined __USE_XOPEN2K || defined __USE_XOPEN_EXTENDED
/* Highest reserved Internet port number. */
# define IPPORT_RESERVED 1024
#endif
Modified: trunk/libc/scripts/check-local-headers.sh
==============================================================================
--- trunk/libc/scripts/check-local-headers.sh (original)
+++ trunk/libc/scripts/check-local-headers.sh Sat Nov 17 17:50:14 2012
@@ -27,12 +27,13 @@
# Search all dependency files for file names in the include directory.
# There are a few system headers we are known to use.
-# These include Linux kernel headers (asm*, arch, and linux).
+# These include Linux kernel headers (asm*, arch, and linux),
+# and Mach kernel headers (mach).
exec ${AWK} -v includedir="$includedir" '
BEGIN {
status = 0
exclude = "^" includedir \
- "/(.*-.*-.*/|)(asm[-/]|arch|linux/|selinux/|gd|nss3/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)"
+ "/(.*-.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|gd|nss3/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)"
}
/^[^ ]/ && $1 ~ /.*:/ { obj = $1 }
{
Modified: trunk/libc/soft-fp/op-common.h
==============================================================================
--- trunk/libc/soft-fp/op-common.h (original)
+++ trunk/libc/soft-fp/op-common.h Sat Nov 17 17:50:14 2012
@@ -134,6 +134,12 @@
#define _FP_PACK_SEMIRAW(fs, wc, X) \
do { \
_FP_ROUND(wc, X); \
+ if (X##_e == 0 && !_FP_FRAC_ZEROP_##wc(X)) \
+ { \
+ if ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT) \
+ || (FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW)) \
+ FP_SET_EXCEPTION(FP_EX_UNDERFLOW); \
+ } \
if (_FP_FRAC_HIGH_##fs(X) \
& (_FP_OVERFLOW_##fs >> 1)) \
{ \
@@ -143,24 +149,15 @@
_FP_OVERFLOW_SEMIRAW(fs, wc, X); \
} \
_FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
- if (!_FP_EXP_NORMAL(fs, wc, X) && !_FP_FRAC_ZEROP_##wc(X)) \
+ if (X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
{ \
- if (X##_e == 0) \
+ if (!_FP_KEEPNANFRACP) \
{ \
- if ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT) \
- || (FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW)) \
- FP_SET_EXCEPTION(FP_EX_UNDERFLOW); \
+ _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
+ X##_s = _FP_NANSIGN_##fs; \
} \
else \
- { \
- if (!_FP_KEEPNANFRACP) \
- { \
- _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
- X##_s = _FP_NANSIGN_##fs; \
- } \
- else \
- _FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
- } \
+ _FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
} \
} while (0)
Modified: trunk/libc/soft-fp/soft-fp.h
==============================================================================
--- trunk/libc/soft-fp/soft-fp.h (original)
+++ trunk/libc/soft-fp/soft-fp.h Sat Nov 17 17:50:14 2012
@@ -158,22 +158,24 @@
#define _FP_ROUND(wc, X) \
do { \
if (_FP_FRAC_LOW_##wc(X) & 7) \
- FP_SET_EXCEPTION(FP_EX_INEXACT); \
- switch (FP_ROUNDMODE) \
- { \
- case FP_RND_NEAREST: \
- _FP_ROUND_NEAREST(wc,X); \
- break; \
- case FP_RND_ZERO: \
- _FP_ROUND_ZERO(wc,X); \
- break; \
- case FP_RND_PINF: \
- _FP_ROUND_PINF(wc,X); \
- break; \
- case FP_RND_MINF: \
- _FP_ROUND_MINF(wc,X); \
- break; \
- } \
+ { \
+ FP_SET_EXCEPTION(FP_EX_INEXACT); \
+ switch (FP_ROUNDMODE) \
+ { \
+ case FP_RND_NEAREST: \
+ _FP_ROUND_NEAREST(wc,X); \
+ break; \
+ case FP_RND_ZERO: \
+ _FP_ROUND_ZERO(wc,X); \
+ break; \
+ case FP_RND_PINF: \
+ _FP_ROUND_PINF(wc,X); \
+ break; \
+ case FP_RND_MINF: \
+ _FP_ROUND_MINF(wc,X); \
+ break; \
+ } \
+ } \
} while (0)
#define FP_CLS_NORMAL 0
Modified: trunk/libc/stdio-common/tst-put-error.c
==============================================================================
--- trunk/libc/stdio-common/tst-put-error.c (original)
+++ trunk/libc/stdio-common/tst-put-error.c Sat Nov 17 17:50:14 2012
@@ -1,3 +1,22 @@
+/* Verify that print functions return error when there is an I/O error.
+
+ Copyright (C) 2005-2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
#include <errno.h>
#include <error.h>
#include <stdio.h>
@@ -26,6 +45,13 @@
printf ("fprintf = %d\n", n);
if (n >= 0)
error (EXIT_FAILURE, 0, "second fprintf succeeded");
+
+ /* Padded printing takes a different code path. */
+ n = fprintf (fp, "%10000s", "foo");
+ printf ("fprintf = %d\n", n);
+ if (n >= 0)
+ error (EXIT_FAILURE, 0, "padded fprintf succeeded");
+
return 0;
}
Modified: trunk/libc/stdio-common/vfprintf.c
==============================================================================
--- trunk/libc/stdio-common/vfprintf.c (original)
+++ trunk/libc/stdio-common/vfprintf.c Sat Nov 17 17:50:14 2012
@@ -88,8 +88,18 @@
# define PUT(F, S, N) _IO_sputn ((F), (S), (N))
# define PAD(Padchar) \
- if (width > 0) \
- done_add (_IO_padn (s, (Padchar), width))
+ do { \
+ if (width > 0) \
+ { \
+ unsigned int d = _IO_padn (s, (Padchar), width); \
+ if (__builtin_expect (d == EOF, 0)) \
+ { \
+ done = -1; \
+ goto all_done; \
+ } \
+ done_add (d); \
+ } \
+ } while (0)
# define PUTC(C, F) _IO_putc_unlocked (C, F)
# define ORIENT if (_IO_vtable_offset (s) == 0 && _IO_fwide (s, -1) != -1)\
return -1
@@ -107,8 +117,18 @@
# define PUT(F, S, N) _IO_sputn ((F), (S), (N))
# define PAD(Padchar) \
- if (width > 0) \
- done_add (_IO_wpadn (s, (Padchar), width))
+ do { \
+ if (width > 0) \
+ { \
+ unsigned int d = _IO_wpadn (s, (Padchar), width); \
+ if (__builtin_expect (d == EOF, 0)) \
+ { \
+ done = -1; \
+ goto all_done; \
+ } \
+ done_add (d); \
+ } \
+ } while (0)
# define PUTC(C, F) _IO_putwc_unlocked (C, F)
# define ORIENT if (_IO_fwide (s, 1) != 1) return -1
Modified: trunk/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c (original)
+++ trunk/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c Sat Nov 17 17:50:14 2012
@@ -140,6 +140,12 @@
if (((hx & 0x7fffffff) == 0)
&& (u.parts32.w1 | u.parts32.w2 | u.parts32.w3) == 0)
return xm1;
+
+ if ((hx & 0x7fffffff) < 0x3f8e0000)
+ {
+ if ((int) xm1 == 0)
+ return xm1;
+ }
x = xm1 + 1.0L;
Modified: trunk/libc/sysdeps/posix/sysconf.c
==============================================================================
--- trunk/libc/sysdeps/posix/sysconf.c (original)
+++ trunk/libc/sysdeps/posix/sysconf.c Sat Nov 17 17:50:14 2012
@@ -790,80 +790,31 @@
return -1;
#endif
- case _SC_XBS5_ILP32_OFF32:
-#ifdef _XBS5_ILP32_OFF32
- return _XBS5_ILP32_OFF32;
-#else
- return __sysconf_check_spec ("ILP32_OFF32");
-#endif
- case _SC_XBS5_ILP32_OFFBIG:
-#ifdef _XBS5_ILP32_OFFBIG
- return _XBS5_ILP32_OFFBIG;
-#else
- return __sysconf_check_spec ("ILP32_OFFBIG");
-#endif
- case _SC_XBS5_LP64_OFF64:
-#ifdef _XBS5_LP64_OFF64
- return _XBS5_LP64_OFF64;
-#else
- return __sysconf_check_spec ("LP64_OFF64");
-#endif
- case _SC_XBS5_LPBIG_OFFBIG:
-#ifdef _XBS5_LPBIG_OFFBIG
- return _XBS5_LPBIG_OFFBIG;
-#else
- return __sysconf_check_spec ("LPBIG_OFFBIG");
-#endif
-
- case _SC_V6_ILP32_OFF32:
-#ifdef _POSIX_V6_ILP32_OFF32
- return _POSIX_V6_ILP32_OFF32;
-#else
- return __sysconf_check_spec ("ILP32_OFF32");
-#endif
- case _SC_V6_ILP32_OFFBIG:
-#ifdef _POSIX_V6_ILP32_OFFBIG
- return _POSIX_V6_ILP32_OFFBIG;
-#else
- return __sysconf_check_spec ("ILP32_OFFBIG");
-#endif
- case _SC_V6_LP64_OFF64:
-#ifdef _POSIX_V6_LP64_OFF64
- return _POSIX_V6_LP64_OFF64;
-#else
- return __sysconf_check_spec ("LP64_OFF64");
-#endif
- case _SC_V6_LPBIG_OFFBIG:
-#ifdef _POSIX_V6_LPBIG_OFFBIG
- return _POSIX_V6_LPBIG_OFFBIG;
-#else
- return __sysconf_check_spec ("LPBIG_OFFBIG");
-#endif
-
- case _SC_V7_ILP32_OFF32:
-#ifdef _POSIX_V7_ILP32_OFF32
- return _POSIX_V7_ILP32_OFF32;
-#else
- return __sysconf_check_spec ("ILP32_OFF32");
-#endif
- case _SC_V7_ILP32_OFFBIG:
-#ifdef _POSIX_V7_ILP32_OFFBIG
- return _POSIX_V7_ILP32_OFFBIG;
-#else
- return __sysconf_check_spec ("ILP32_OFFBIG");
-#endif
- case _SC_V7_LP64_OFF64:
-#ifdef _POSIX_V7_LP64_OFF64
- return _POSIX_V7_LP64_OFF64;
-#else
- return __sysconf_check_spec ("LP64_OFF64");
-#endif
- case _SC_V7_LPBIG_OFFBIG:
-#ifdef _POSIX_V7_LPBIG_OFFBIG
- return _POSIX_V7_LPBIG_OFFBIG;
-#else
- return __sysconf_check_spec ("LPBIG_OFFBIG");
-#endif
+#define START_ENV_GROUP(VERSION) \
+ /* Empty. */
+
+#define END_ENV_GROUP(VERSION) \
+ /* Empty. */
+
+#define KNOWN_ABSENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ case _SC_##SC_PREFIX##_##SUFFIX: \
+ return _##ENV_PREFIX##_##SUFFIX;
+
+#define KNOWN_PRESENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ case _SC_##SC_PREFIX##_##SUFFIX: \
+ return _##ENV_PREFIX##_##SUFFIX;
+
+#define UNKNOWN_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
+ case _SC_##SC_PREFIX##_##SUFFIX: \
+ return __sysconf_check_spec (#SUFFIX);
+
+#include <posix/posix-envs.def>
+
+#undef START_ENV_GROUP
+#undef END_ENV_GROUP
+#undef KNOWN_ABSENT_ENVIRONMENT
+#undef KNOWN_PRESENT_ENVIRONMENT
+#undef UNKNOWN_ENVIRONMENT
case _SC_XOPEN_LEGACY:
return _XOPEN_LEGACY;
Modified: trunk/libc/sysdeps/sparc/sparc-ifunc.h
==============================================================================
--- trunk/libc/sysdeps/sparc/sparc-ifunc.h (original)
+++ trunk/libc/sysdeps/sparc/sparc-ifunc.h Sat Nov 17 17:50:14 2012
@@ -109,4 +109,6 @@
} \
__asm__ (".type " #name ", %gnu_indirect_function");
+# define sparc_libc_ifunc(name, expr) sparc_libm_ifunc (name, expr)
+
#endif /* __ASSEMBLER__ */
Modified: trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
==============================================================================
--- trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile (original)
+++ trunk/libc/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile Sat Nov 17 17:50:14 2012
@@ -1,3 +1,11 @@
+ifeq ($(subdir),crypt)
+libcrypt-sysdep_routines += md5-crop sha256-crop sha512-crop
+endif
+
+ifeq ($(subdir),locale)
+localedef-aux += md5-crop
+endif
+
ifeq ($(subdir),string)
sysdep_routines += memcpy-ultra3 memcpy-niagara1 memcpy-niagara2 \
memset-niagara1 memcpy-niagara4 memset-niagara4
Modified: trunk/libc/sysdeps/sparc/sparc64/multiarch/Makefile
==============================================================================
--- trunk/libc/sysdeps/sparc/sparc64/multiarch/Makefile (original)
+++ trunk/libc/sysdeps/sparc/sparc64/multiarch/Makefile Sat Nov 17 17:50:14 2012
@@ -1,3 +1,11 @@
+ifeq ($(subdir),crypt)
+libcrypt-sysdep_routines += md5-crop sha256-crop sha512-crop
+endif
+
+ifeq ($(subdir),locale)
+localedef-aux += md5-crop
+endif
+
ifeq ($(subdir),string)
sysdep_routines += memcpy-ultra3 memcpy-niagara1 memcpy-niagara2 \
memset-niagara1 memcpy-niagara4 memset-niagara4
Modified: trunk/libc/sysdeps/unix/sysv/linux/fxstatat.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/fxstatat.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/fxstatat.c Sat Nov 17 17:50:14 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005-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
@@ -23,6 +23,7 @@
#include <fcntl.h>
#include <stddef.h>
#include <stdio.h>
+#include <string.h>
#include <sys/stat.h>
#include <kernel_stat.h>
Modified: trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c Sat Nov 17 17:50:14 2012
@@ -22,6 +22,7 @@
#include <unistd.h>
#include <dirent.h>
#include <stdlib.h>
+#include <inttypes.h>
#include <sys/ioctl.h>
#include <libc-internal.h>
#include <asm/openpromio.h>
@@ -123,14 +124,14 @@
int clkfreq_fd;
__stpcpy (prop, "/clock-frequency");
- clkfreq_fd = open (node, O_RDONLY);
+ clkfreq_fd = __open (node, O_RDONLY);
if (clkfreq_fd != -1)
{
- if (read (clkfreq_fd, type_string,
- sizeof (type_string)) > 0)
+ if (__read (clkfreq_fd, type_string,
+ sizeof (type_string)) > 0)
result = (hp_timing_t)
strtoumax (type_string, NULL, 16);
- close (clkfreq_fd);
+ __close (clkfreq_fd);
}
}
__close (fd);
Modified: trunk/libc/timezone/Makefile
==============================================================================
--- trunk/libc/timezone/Makefile (original)
+++ trunk/libc/timezone/Makefile Sat Nov 17 17:50:14 2012
@@ -54,6 +54,13 @@
$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
+$(objpfx)zic.o $(objpfx)zdump.o: $(objpfx)version.h
+
+$(objpfx)version.h: $(common-objpfx)config.make
+ echo 'static char const TZVERSION[]="$(version)";' \
+ > $@.new
+ mv -f $@.new $@
+
tz-cflags = -DTZDIR='"$(zonedir)"' \
-DTZDEFAULT='"$(localtime-file)"' \
-DTZDEFRULES='"$(posixrules-file)"' \
@@ -106,9 +113,11 @@
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
- sed -e 's%@KSH@%$(KSH)%g' \
- -e 's%@TZDIR@%$(zonedir)%g' \
- -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
- -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' < $< > $@.new
+ sed -e 's|/bin/bash|$(KSH)|g' \
+ -e '/TZDIR=/s|\$$(pwd)|$(zonedir)|' \
+ -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
+ -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
+ -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \
+ < $< > $@.new
chmod 555 $@.new
mv -f $@.new $@
Modified: trunk/libc/timezone/README
==============================================================================
--- trunk/libc/timezone/README (original)
+++ trunk/libc/timezone/README Sat Nov 17 17:50:14 2012
@@ -1,10 +1,7 @@
The files
zic.c zdump.c ialloc.c scheck.c tzfile.h
private.h tzselect.ksh checktab.awk
-come from the tzcode package by Arthur David Olson et.al.; the file
- version.h
-has the contents that would be generated by that package's Makefile,
-and tzselect.ksh has been modified for use in glibc.
+come from the tzcode package by Arthur David Olson et.al.
The files
africa antarctica asia australasia europe
Modified: trunk/libc/timezone/tzselect.ksh
==============================================================================
--- trunk/libc/timezone/tzselect.ksh (original)
+++ trunk/libc/timezone/tzselect.ksh Sat Nov 17 17:50:14 2012
@@ -1,9 +1,8 @@
-#! @KSH@
-
-TZVERSION=tz2012i
-PKGVERSION='@PKGVERSION@'
-REPORT_BUGS_TO='@REPORT_BUGS_TO@'
-
+#!/bin/bash
+
+PKGVERSION='(tzcode) '
+TZVERSION=see_Makefile
+REPORT_BUGS_TO=tz@xxxxxxxx
# Ask the user about the time zone, and output the resulting TZ value to stdout.
# Interact with the user via stderr and stdin.
@@ -32,7 +31,7 @@
# Specify default values for environment variables if they are unset.
: ${AWK=awk}
-: ${TZDIR=@TZDIR@}
+: ${TZDIR=$(pwd)}
# Check for awk Posix compliance.
($AWK -v x=y 'BEGIN { exit 123 }') </dev/null >/dev/null 2>&1
@@ -46,15 +45,14 @@
Usage: tzselect
Select a time zone interactively.
-For bug reporting instructions, please see:
-$REPORT_BUGS_TO.
+Report bugs to $REPORT_BUGS_TO.
EOF
- exit 0
+ exit
elif [ "$1" = "--version" ]; then
cat <<EOF
tzselect $PKGVERSION$TZVERSION
EOF
- exit 0
+ exit
fi
# Make sure the tables are readable.
Removed: trunk/libc/timezone/version.h
==============================================================================
--- trunk/libc/timezone/version.h (original)
+++ trunk/libc/timezone/version.h (removed)
@@ -1,1 +1,0 @@
-static char const TZVERSION[]="tz2012i";
Modified: trunk/libc/timezone/zdump.c
==============================================================================
--- trunk/libc/timezone/zdump.c (original)
+++ trunk/libc/timezone/zdump.c Sat Nov 17 17:50:14 2012
@@ -11,7 +11,6 @@
** You can use this code to help in verifying other implementations.
*/
-#include "config.h"
#include "stdio.h" /* for stdout, stderr, perror */
#include "string.h" /* for strcpy */
#include "sys/types.h" /* for time_t */
@@ -273,8 +272,7 @@
(void) fprintf(stream,
_("%s: usage is %s [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n\
\n\
-For bug reporting instructions, please see:\n\
-%s.\n"),
+Report bugs to %s.\n"),
progname, progname, REPORT_BUGS_TO);
exit(status);
}
@@ -311,7 +309,7 @@
progname = argv[0];
for (i = 1; i < argc; ++i)
if (strcmp(argv[i], "--version") == 0) {
- (void) printf("zdump %s%s\n", PKGVERSION, TZVERSION);
+ (void) printf("zdump %s%s\n", PKGVERSION, TZVERSION);
exit(EXIT_SUCCESS);
} else if (strcmp(argv[i], "--help") == 0) {
usage(stdout, EXIT_SUCCESS);
Modified: trunk/libc/timezone/zic.c
==============================================================================
--- trunk/libc/timezone/zic.c (original)
+++ trunk/libc/timezone/zic.c Sat Nov 17 17:50:14 2012
@@ -3,7 +3,6 @@
** 2006-07-17 by Arthur David Olson.
*/
-#include "config.h"
#include "version.h"
#include "private.h"
#include "locale.h"
@@ -427,8 +426,7 @@
[ --version ] [ --help ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\
\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n\
\n\
-For bug reporting instructions, please see:\n\
-%s.\n"),
+Report bugs to %s.\n"),
progname, progname, REPORT_BUGS_TO);
exit(status);
}
@@ -2536,8 +2534,8 @@
++cp;
if (cp - string == 0)
mp = _("time zone abbreviation lacks alphabetic at start");
- if (noise && cp - string > 3)
-mp = _("time zone abbreviation has more than 3 alphabetics");
+ if (noise && cp - string < 3)
+mp = _("time zone abbreviation has fewer than 3 alphabetics");
if (cp - string > ZIC_MAX_ABBR_LEN_WO_WARN)
mp = _("time zone abbreviation has too many alphabetics");
if (mp == NULL && (*cp == '+' || *cp == '-')) {
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits