Commit Graph

25182 Commits

Author SHA1 Message Date
David S. Miller
3a0d900a99 Add support for sparc cryptographic hash opcodes.
* 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 17:12:45 -08:00
Joseph Myers
e27d476a65 Update tzcode from upstream git and support --with-bugurl for it. 2012-11-13 22:25:45 +00:00
Joseph Myers
8ca8931812 Define IPPORT_RESERVED in netdb.h for XPG4 and UNIX98 (bug 14838). 2012-11-13 18:11:49 +00:00
Marcus Shawcroft
47594329a9 Fix missing truncation UNDERFLOW. 2012-11-13 17:01:05 +00:00
David S. Miller
640ac3f1bf Fix check-localplt regressions on sparc.
* 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-11 15:46:01 -08:00
Marcus Shawcroft
7e2bd01fcf NEWS entry for AArch64 port. 2012-11-10 22:46:35 +00:00
Joseph Myers
3d2577bba5 conformtest: Fix miscellaneous UNIX98 expectations. 2012-11-10 01:13:39 +00:00
Joseph Myers
c3f8191191 Fix typo in ChangeLog. 2012-11-10 00:32:21 +00:00
Joseph Myers
9ec6f8bd90 Use glibc version information in zic and zdump. 2012-11-10 00:31:20 +00:00
Joseph Myers
0aa8f8a17f Use unmodified tzselect.ksh in glibc. 2012-11-09 23:42:31 +00:00
Joseph Myers
4e87147f34 Remove $(format-me) and fix indentation. 2012-11-09 23:01:03 +00:00
Joseph Myers
8b748aed2a Support --with-pkgversion and --with-bugurl. 2012-11-09 22:13:45 +00:00
Joseph Myers
92e4b6a927 Update tzcode to 2012i. 2012-11-09 21:20:57 +00:00
Joseph Myers
9bde902c76 Declare ecvt, fcvt, gcvt, mktemp in stdlib.h for XOPEN2K (bug 14824). 2012-11-09 21:16:58 +00:00
Joseph Myers
fb1ae1eede Fix sunrpc 64-bit (especially big-endian) issues (bug 14821). 2012-11-09 18:21:59 +00:00
Marcus Shawcroft
554066b83b AArch64 Port 2012-11-09 17:54:04 +00:00
Andreas Jaeger
2c1adbcb76 PowerPC: Use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-11-09 16:41:38 +01:00
Andreas Krebbel
d0f8457e6b S/390: Add hwcap value for transactional execution. 2012-11-08 09:53:00 +01:00
Marcus Shawcroft
57241e26e5 Adjust comment above AArch64 relocs. 2012-11-08 08:19:30 +00:00
David S. Miller
60e8270d6c Fix NULL ucontext->uc_link handling on sparc64.
* sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
	(__start_context): Declare.
	(__makecontext_ret): Delete.
	(__makecontext): Hook up __start_context instead of
	__makecontext_ret.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
	(sysdep_routines): Add __start_context when in stdlib.
2012-11-07 21:01:06 -08:00
Joseph Myers
0fbb0fbc2e Use configured $(NM), $(OBJDUMP), $(READELF) in tst-xmmymm.sh. 2012-11-08 00:01:46 +00:00
H.J. Lu
eb48db7e89 Also run tst-xmmymm.sh on i386 ld.so 2012-11-07 13:50:08 -08:00
Joseph Myers
c4b6cf53d5 conformtest: Fix pthreads expectations for XPG3 / XPG4 / UNIX98. 2012-11-07 19:42:20 +00:00
Joseph Myers
cbe6e12006 conformtest: Fix setenv / unsetenv expectations. 2012-11-07 19:41:38 +00:00
Joseph Myers
1b12644333 conformtest: Fix isnan function return type. 2012-11-07 19:41:03 +00:00
Joseph Myers
b961a5737a conformtest: Fix sys/mman.h expectations for UNIX98. 2012-11-07 19:40:18 +00:00
Joseph Myers
9e188909df conformtest: Only expect mknodat for XOPEN2K8. 2012-11-07 19:37:52 +00:00
Joseph Myers
05bcf62afb conformtest: Clean up / correct / expand C99 and C11 expectations. 2012-11-07 19:36:48 +00:00
Jeff Law
01f34a3bd8 2012-11-07 Andreas Jaeger <aj@suse.de>
[BZ #14809]
        * sysdeps/unix/sysv/linux/sys/sysctl.h (_UAPI_LINUX_KERNEL_H)
        (_UAPI_LINUX_TYPES_H): Starting with Linux 3.7, the include header
        guards are changed.  Only define if not yet defined, #undef back
        after including linux/sysctl.h if defined here.
2012-11-07 11:58:37 -07:00
Roland McGrath
03a8df301b NEWS update for closing 14815. 2012-11-07 10:22:28 -08:00
Roland McGrath
7514feb815 BZ#14815: Manual typo fix. 2012-11-07 10:21:59 -08:00
Chris Metcalf
87ae5e366e Update language in ChangeLog.tile. 2012-11-07 13:19:54 -05:00
Dmitry V. Levin
55bdd2866f locales/ru_RU: fix abbreviated month names
[BZ#14807]
* locales/ru_RU (abmon): Change back from genitive to nominative,
apply fixed three-letter abbreviation form, remove trailing dots.
2012-11-07 17:51:15 +00:00
Dmitry V. Levin
996c6ebd9d locales/ru_RU: fix abbreviated day names
[BZ#10873]
* locales/ru_RU (abday): Remove trailing dots.
2012-11-07 15:55:35 +00:00
Marcus Shawcroft
19b2ecfcae Adding AArch64 support to elf/elf.h 2012-11-07 13:32:08 +00:00
Joseph Myers
60e235ee2a Fix spurious underflows from pow with results close to 1 (bug 14811). 2012-11-07 13:03:31 +00:00
Andreas Krebbel
0ab234b7db S/390: Sync AUXV capabilities and archs with kernel 2012-11-07 08:52:30 +01:00
Joseph Myers
45832f7473 conformtest: Fix typo in CLK_TCK condition. 2012-11-07 04:05:12 +00:00
Chris Metcalf
fdf689a977 tile: use memcpy in memmove when possible 2012-11-06 22:19:31 -05:00
Maxim Kuvyrkov
19218757e6 Use memcpy in memmove when possible 2012-11-06 17:47:55 -08:00
Andreas Jaeger
c5f4572124 Update from translation team for Esperanto 2012-11-06 20:11:07 +01:00
Chris Metcalf
91e0d40e89 Bump timeouts on some new nptl tests to support tilepro. 2012-11-06 13:10:19 -05:00
Chris Metcalf
351dc60c55 tile: use atomic op to unlock pthread_spinlock_t
Atomic ops are issued directly from the core, rather than
potentially sitting in the write buffer, so can improve the
performance of other waiters.  In addition, if we didn't end
up pulling a copy of the cache line where the lock is into cache,
by using an atomic op we don't have to acquire the cache line
before we can unlock.
2012-11-06 09:50:47 -05:00
Chris Metcalf
a0bce338e8 Make ieee754 fma tolerate architectures without exception support. 2012-11-06 09:48:53 -05:00
Chris Metcalf
fedff58953 tile: support very large shared objects
With gcc 4.8 tilegx has support for -mcmodel=large, to tolerate very
large shared objects.  This option changes the compiler output to
not include direct jump instructions, which have a range of only
2^30, i.e +/- 512MB.  Instead the compiler marshalls the target PCs
into registers and then uses jump- or call-to-register instructions.

For glibc, the upshot is that we need to arrange for a few functions
to tolerate the possibility of a large range between the PC and
the target.  In particular, the crti.S and start.S code needs
to be able to reach from .init to the PLT, as does gmon-start.c.
The elf-init.c code has the reverse problem, needing to call from
libc_nonshared.a (linked at the end of shared objects) back to the
_init section at the beginning.

No other functions in *_nonshared.a need to be built this way, as
they only call the PLT (or potentially each other), but all of that
code is linked at the very end of the shared object.

We don't build the standard -static archives with this option as the
performance cost is high enough and the use case is rare enough that
it doesn't seem worthwhile.  Instead, we would encourage developers
who need the -static model with huge executables to build a private
copy of glibc and configure it with -mcmodel=large.

Note that libc.so et al don't need any changes; the only changes
are for code that is statically linked into user code built with
-mcmodel=large.

For the assembly code, I just rewrote it so that it unconditionally
uses the large model.  To be able to pass -mcmodel=large to
csu/elf-init.c and csu/gmon-start.c, I need to check to see if the
compiler supports that flag, since gcc 4.7 doesn't; I added the
support by creating a small Makefile fragment that just runs the
compiler to check.
2012-11-06 09:48:49 -05:00
Chris Metcalf
e7776fefa7 tile: improve simulator notification for relative paths in dlopen
Normally, the simulator is notified of absolute pathnames by the
_dl_load_hook hook.  However, when a relative pathname is used, the
simulator may not know that the relative path matches a path that
it could figure out in the file system that it has access to.
Instead we provide a simplified version of the realpath function
so we can pass a plausible absolute pathname to the simulator.

Since we're now doing more work at object load time, we also add
a guard so we do no work at all if we're not running on the simulator.
2012-11-06 09:24:44 -05:00
Chris Metcalf
cd84016efe Optimize tile (mostly tilegx) memcpy and memmove performance.
- Override <memcopy.h> so we use full 8-byte word copies on tilegx32
  for memmove, then use op_t in memcpy instead of the previous
  locally-defined word_t just to avoid proliferating identical types.
- Fix bug in memcpy prefetch that caused us to never prefetch past
  the first cache line.
- Optimize misaligned memcpy by inlining _wordcopy_fwd_dest_aligned
  instead of just doing a dumb word-at-a-time copy.
- Make memcpy safe for forward copies by doing all the loads from
  a given cache line prior to doing a wh64 (cache line zero-fill)
  on the destination.  Remove now-redundant src == dst check.
- Copy and optimize the generic wordcopy.c routines to use the tile
  "double align" instruction instead of the MERGE macro; to avoid
  offset addressing mode (which tile doesn't have) by rewriting the
  pointer math to load and store with a zero index; and to use
  post-increment addresses in the inner loops to improve scheduling.
2012-11-06 09:24:19 -05:00
Joseph Myers
82477c28f4 Fix fma underflows with small x * y (bug 14793). 2012-11-06 14:12:54 +00:00
Joseph Myers
d7fcee3a58 Define lll_futex_timed_wait_bitset for MIPS. 2012-11-05 22:30:54 +00:00
Joseph Myers
316a1b67e1 Define lll_futex_timed_wait_bitset for ARM. 2012-11-05 22:30:37 +00:00