about summary refs log tree commit diff
path: root/nptl
Commit message (Collapse)AuthorAgeFilesLines
* Update.Ulrich Drepper2003-06-0840-71/+1099
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-06-07 Ulrich Drepper <drepper@redhat.com> * cleanup_routine.c: New file. * Versions (libpthread) [GLIBC_2.3.3]: Add __pthread_cleanup_routine. * sysdeps/pthread/pthread.h: Add support for fully exception-based cleanup handling. * Makefile (libpthread-routines): Add cleanup_routine. Add more CFLAGS variables to compile with exceptions. Add comments why which file needs unwind tables. (tests) [have-forced-unwind==yes]: Add tst-cancelx* and tst-cleanupx* tests. * tst-cancelx1.c: New file. * tst-cancelx2.c: New file. * tst-cancelx3.c: New file. * tst-cancelx4.c: New file. * tst-cancelx5.c: New file. * tst-cancelx6.c: New file. * tst-cancelx7.c: New file. * tst-cancelx8.c: New file. * tst-cancelx9.c: New file. * tst-cancelx10.c: New file. * tst-cancelx11.c: New file. * tst-cancelx12.c: New file. * tst-cancelx13.c: New file. * tst-cancelx14.c: New file. * tst-cancelx15.c: New file. * tst-cleanupx0.c: New file. * tst-cleanupx0.expect: New file. * tst-cleanupx1.c: New file. * tst-cleanupx2.c: New file. * tst-cleanupx3.c: New file. * tst-cleanup0.c: Make standard compliant. * tst-cleanup1.c: Likewise. * sysdeps/unix/sysv/linux/sem_timedwait.c: Add cancellation support. * sysdeps/unix/sysv/linux/sem_wait.c: Likewise. * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise. * sysdeps/i386/tcb-offsets.sym: Add RESULT, CANCELHANDLING, and CLEANUP_JMP_BUF. * sysdeps/x86_64/tcb-offsets.sym: Likewise. * tst-cancel12.c: New file. * tst-cancel13.c: New file. * tst-cancel14.c: New file. * tst-cancel15.c: New file. * Makefile (tests): Add tst-cancel12, tst-cancel13, tst-cancel14, and tst-cancel15. * tst-cancel1.c: Add some comments. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Compute relative timeout correctly.
* Update.Ulrich Drepper2003-06-061-0/+4
| | | | | | 2003-06-06 Ulrich Drepper <drepper@redhat.com> * Makefile (CFLAGS-pthread_cancel.c): Define.
* (CFLAGS-pthread_cancel.c): Define.Ulrich Drepper2003-06-061-0/+1
|
* Update.Ulrich Drepper2003-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | 2003-06-04 Jakub Jelinek <jakub@redhat.com> * config.make.in (ASFLAGS-config): New. * Makeconfig (ASFLAGS): Append $(ASFLAGS-config). * configure.in (libc_cv_as_noexecstack): New check. (ASFLAGS_config): Substitute. 2003-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/bits/mathinline.h (log1p, asinh, acosh, atanh, hypot, logb): Protect with #ifdef __FAST_MATH__. 2003-06-04 Thorsten Kukuk <kukuk@suse.de> * sysdeps/i386/fpu/bits/mathinline.h (ldexpf, ldexpl): Protect with #ifdef __FAST_MATH__. _POSIX_ prefix.
* Update.Ulrich Drepper2003-06-0522-51/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-06-05 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_rwlock_t): Change type of __writer element to int. * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise. * sysdeps/i386/tcb-offsets.sym: Replace SELF entry with TID entry. * sysdeps/x86_64/tcb-offsets.sym: Likewise. * pthread_rwlock_trywrlock.c: Store TID not self pointer in __writer. Compare with TID to determine deadlocks. * sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise. * sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise. * sysdeps/pthread/pthread_rwlock_timedwrlock.: Likewise. * sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise. * Makefile (tests): Add tst-rwlock12. * tst-rwlock12.c: New file.
* Test for inter-process rwlocks.Ulrich Drepper2003-06-051-0/+216
|
* * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait, Jakub Jelinek2003-06-055-10/+12
| | | | | | | | | | | | | | | | | | | | | | __lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid): Remove bogus hidden_proto. * sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock): Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock, lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise. * sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock, ___lll_mutex_timedlock): Likewise. 2003-06-05 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait, __lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid): Remove bogus hidden_proto. * sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock): Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock, lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise. * sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock, ___lll_mutex_timedlock): Likewise.
* Update.Ulrich Drepper2003-06-042-0/+10
| | | | | | | | 2003-06-04 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S (__pthread_cond_signal): Add some code to eventually handle cond_lock!=0.
* Update.Ulrich Drepper2003-06-013-1/+125
| | | | | * test-skeleton.c (main): Request getopt to not reorder the command line.
* Update.Ulrich Drepper2003-06-013-38/+42
| | | | | | | | | 2003-06-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (CFLAGS-dl-runtime.c): Define. * wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match stpncpy.
* Update.Ulrich Drepper2003-06-017-7/+20
| | | | | | 2003-05-31 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h (SA_NOCLDWAIT): Define.
* Update.Ulrich Drepper2003-05-315-15/+180
| | | | | | | | * Makefile (tests): Add tst-sem8 and tst-sem9. * tst-sem8.c: New file. * tst-sem9.c: New file. * sem_open.c: Fix creation of in_use record if the file exists but no internal record.
* Update.Ulrich Drepper2003-05-317-26/+24
| | | | | | | | | 2003-05-31 Ulrich Drepper <drepper@redhat.com> * libio/fileops.c (_IO_file_open): Don't mark as inline. * sysdeps/ia64/elf/initfini.c ((gmon_initializer): Mark with attribute used.
* Update.Ulrich Drepper2003-05-315-9/+21
| | | | | | | 2003-05-30 Ulrich Drepper <drepper@redhat.com> * scripts/config.guess: Update from master copy. * scripts/config.sub: Likewise.
* Update.Ulrich Drepper2003-05-302-1/+9
| | | | | | | | | | * tst-rwlock6.c (do_test): Use correct format specifier. * sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S (__lll_mutex_lock_wait): Replace one memory operation with one register operation. * sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S (__lll_mutex_lock_wait): Likewise.
* (__lll_mutex_lock_wait): Replace one memory operation with one register ↵Ulrich Drepper2003-05-302-12/+19
| | | | operation.
* Update.Ulrich Drepper2003-05-302-1/+12
| | | | | | | | | | 2003-05-30 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_mutex_cond_lock): Add one to value parameter of __lll_lock_wait to reflect reality in the futex syscall. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_mutex_cond_lock): Likewise.
* (lll_mutex_cond_lock): Add one to value parameter of __lll_lock_wait to ↵Ulrich Drepper2003-05-301-1/+4
| | | | reflect reality in the futex syscall.
* * sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_mutex_cond_lock):Jakub Jelinek2003-05-301-0/+6
| | | | | New function. (lll_mutex_cond_lock): Define.
* (__lll_mutex_cond_lock): New function. (lll_mutex_cond_lock): Define.Jakub Jelinek2003-05-301-0/+13
|
* Update.Ulrich Drepper2003-05-304-9/+200
| | | | | * Makefile (tests): Add tst-signal6. * tst-signal6.c: New file.
* Update.Ulrich Drepper2003-05-305-3/+44
| | | | | | * sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_mutex_unlock_force): New function (lll_mutex_unlock_force): Use __lll_mutex_unlock_force.
* Update.Ulrich Drepper2003-05-303-2/+17
| | | | | | | | * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_mutex_unlock_force): New function. (lll_mutex_unlock_force): Use __lll_mutex_unlock_force. * tst-rwlock7.c (do_test): Use correct format specifier.
* Update.Ulrich Drepper2003-05-303-1/+36
| | | | | | | 2003-05-30 Jakub Jelinek <jakub@redhat.com> * sysdeps/powerpc/powerpc32/elf/start.S: Make code compilable with SHARED.
* Update.Ulrich Drepper2003-05-302-4/+16
| | | | | | | | | | | | | | 2003-05-29 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue): Find break parameter in correct asm argument. 2003-05-30 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h (pthread_cond_t): Add __mutex. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_REQUEUE, lll_futex_requeue, lll_mutex_unlock_force): Define.
* Update.Ulrich Drepper2003-05-2914-57/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/tcb-offsets.sym: Define MUTEX_FUTEX. * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t): Add __mutex field. * sysdeps/unix/sysv/linux/sh/lowlevellock.h (SYSCALL_WITH_INST_PAD): Define. (lll_futex_wait, lll_futex_wake): Define. * sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h: New file. * sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Try using FUTEX_REQUEUE instead of FUTEX_WAIT. * sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Remember mutex which was used in condvar structure. Call __pthread_mutex_cond_lock instead of __pthread_mutex_lock_internal. * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Don't include tcb-offsets.h. Read wakeup value in locked region. Use the value of gbr register as THREAD_ID. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/sem_trywait.S: Remove futex related macros.
* Update.Ulrich Drepper2003-05-292-2/+7
| | | | | | | 2003-05-28 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/pthread_cond_broadcast.c (__pthread_cond_broadcast): Fix typo: MAX_INT -> INT_MAX.
* Update.Ulrich Drepper2003-05-281-1/+1
| | | | | | | | | | 2003-05-28 Ulrich Drepper <drepper@redhat.com> * include/libc-symbols.h: Define hidden attribute for real also if LIBC_NONSHARED is defined. Patch by Jakub Jelinek. * csu/Makefile: Add rules to build Scrt1.o. * sysdeps/i386/elf/start.S: Make code compilable with SHARED.
* Update.Ulrich Drepper2003-05-274-17/+34
| | | | | | | | | | | | | 2003-05-26 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Fix typo in register name. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Use parameters correctly. Actually use requeue. Little optimization. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Store mutex address early. Handle cancellation state as 32-bit value. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. Remove unnecessary label.
* Fix typo in register name.Ulrich Drepper2003-05-271-1/+1
|
* Fix ChangeLog typos.Jakub Jelinek2003-05-261-2/+2
| | | | | * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t): * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* Update.Ulrich Drepper2003-05-261-1/+1
| | | | | | | | 2003-05-26 Ulrich Drepper <drepper@redhat.com> * stdio-common/vfprintf.c (vfprintf): Be bug-compatible with some other implementation in respect of multiple uses of parameter with different types.
* Update.Ulrich Drepper2003-05-2625-68/+366
| | | | | | | | | 2003-05-25 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_FUTEX_REQUEUE for >= 2.5.70. * math/test-fenv.c (feexcp_nomask_test): Fix comment.
* Remove __pthread_enable_asynccancel_2.Ulrich Drepper2003-05-261-34/+0
|
* Update.Ulrich Drepper2003-05-175-21/+298
| | | | | | | | | | | | 2003-05-17 Ulrich Drepper <drepper@redhat.com> * sem_open.c: Fix one endless loop. Implement correct semantics wrt opening the same semaphore more then once. * sem_close.c: Adjust for sem_open change. * semaphoreP.h: Include <semaphore.h>. Define struct inuse_sem. Declare __sem_mappings, __sem_mappings_lock, __sem_search. * Makefile (tests): Add tst-sem7. * tst-sem7.c: New file.
* Fix one endless loop. Implement correct semantics wrt opening the same ↵Ulrich Drepper2003-05-171-3/+55
| | | | semaphore more then once.
* * sysdeps/unix/sysv/linux/register-atfork.c (libc_freeres_fn): FixRoland McGrath2003-05-171-0/+5
| | | | uninitialized variable braino.
* 2003-05-16 Roland McGrath <roland@redhat.com>Roland McGrath2003-05-171-1/+1
| | | | | * sysdeps/unix/sysv/linux/register-atfork.c (libc_freeres_fn): Fix uninitialized variable braino.
* Update.Ulrich Drepper2003-05-173-2/+8
| | | | | * include/features.h (__USE_XOPEN2K): Define also for _POSIX_C_SOURCE>=200112L.
* Update.Ulrich Drepper2003-05-163-1/+11
| | | | | | | | | * pthread_join.c (pthread_join): Set tid field of the joined thread to -1. This isn't necessary but helps to recognize some error conditions with almost no cost. * allocatestack.c (FREE_P): Also negative values indicate an unused stack.
* Update.Ulrich Drepper2003-05-162-0/+5
| | | | | | 2003-05-16 Ulrich Drepper <drepper@redhat.com> * unwind.c: Include <unistd.h>.
* Update.Ulrich Drepper2003-05-151-1/+1
| | | | | | 2003-05-12 Thorsten Kukuk <kukuk@suse.de> * inet/netinet/igmp.h: Sync with Linux Kernel 2.5.69 and *BSD.
* Update.Ulrich Drepper2003-05-142-0/+6
| | | | | | 2003-05-14 Ulrich Drepper <drepper@redhat.com> * Makefile ($(objpfx)$(multidir)): Add rule to create the directory.
* Update.Ulrich Drepper2003-05-142-19/+42
| | | | | | | 2003-05-14 Jakub Jelinek <jakub@redhat.com> * elf/rtld.c (dl_main): For LD_TRACE_PRELINKING print search scope even if no DT_NEEDED is present.
* Update.Ulrich Drepper2003-05-132-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-12 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/bits/atomic.h (__arch_compare_and_exchange_bool_8_rel): Define. (__arch_compare_and_exchange_bool_16_rel): Define. (__ARCH_REL_INSTR): Define if not already defined. (__arch_atomic_exchange_and_add_32): Add "memory" to clobber list. (__arch_atomic_decrement_if_positive_32): Add "memory" to clobber list. (__arch_compare_and_exchange_val_32_acq): Remove release sync. (__arch_compare_and_exchange_val_32_rel): Define. (__arch_atomic_exchange_32): Remove. (__arch_atomic_exchange_32_acq): Define. (__arch_atomic_exchange_32_rel): Define. (atomic_compare_and_exchange_val_rel): Define. (atomic_exchange_acq): Use __arch_atomic_exchange_*_acq forms. (atomic_exchange_rel): Define. * sysdeps/powerpc/powerpc32/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq): Remove release sync. (__arch_compare_and_exchange_bool_32_rel): Define. (__arch_compare_and_exchange_bool_64_rel): Define. (__arch_compare_and_exchange_val_64_rel): Define. (__arch_atomic_exchange_64): Remove. (__arch_atomic_exchange_64_acq): Define. (__arch_atomic_exchange_64_rel): Define. * sysdeps/powerpc/powerpc64/bits/atomic.h (__arch_compare_and_exchange_bool_32_rel): Define. (__arch_compare_and_exchange_bool_64_acq): Remove release sync. (__arch_compare_and_exchange_bool_64_rel): Define. (__arch_compare_and_exchange_val_64_acq): Remove release sync. (__arch_compare_and_exchange_val_64_rel): Define. (__arch_atomic_exchange_64): Remove. (__arch_atomic_exchange_64_acq): Define. (__arch_atomic_exchange_64_rel): Define. (__arch_atomic_exchange_and_add_64): Add "memory" to clobber list. (__arch_atomic_decrement_if_positive_64): Add "memory" to clobber list. [!UP](__ARCH_REL_INSTR): Define as lwsync. the space-padded-by-default conversion specifiers, %e, %k, %l.
* Update.Ulrich Drepper2003-05-112-1/+7
| | | | | | | | | | | | | | | * io/Makefile ($(objpfx)ftwtest.out): Use absolute file names. 2003-05-11 Ulrich Drepper <drepper@redhat.com> * time/tst-strftime.c (do_test): Add tests for - flag. 2003-05-11 Jim Meyering <jim@meyering.net> * time/strftime.c (my_strftime): Let the `-' (no-pad) flag affect the space-padded-by-default conversion specifiers, %e, %k, %l. 2003-05-11 Andreas Schwab <schwab@suse.de>
* Update.Ulrich Drepper2003-05-103-8/+6
| | | | | | | | 2003-05-10 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Remove futex related macros. * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* Update.Ulrich Drepper2003-05-101-1/+1
| | | | * Makeconfig (gnulib): Remove -lgcc_eh again.
* Update.Ulrich Drepper2003-05-1010-34/+231
| | | | | | | | | | | | | | | | | | | | | | | | | * posix/sched.h: Change prototypes of sched_getaffinity and sched_setaffinity. Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO. * sysdeps/generic/sched_getaffinity.c: Adjust definition. * sysdeps/generic/sched_setaffinity.c: Likewise. * sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS, __CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET, __CPU_CLR, and __CPU_ISSET. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * sysdeps/unix/sysv/linux/sched_getaffinity.c: New file. * sysdeps/unix/sysv/linux/sched_setaffinity.c: New file. * include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. (atomic_exchange_rel): New #define. * sysdeps/ia64/bits/atomic.h: Likewise. * sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. * sysdeps/m68k/m68020/bits/atomic.h: Likewise. * sysdeps/powerpc/bits/atomic.h: Likewise. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise. * sysdeps/sparc/sparc64/bits/atomic.h: Likewise. * sysdeps/x86_64/bits/atomic.h: Likewise. * csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange.
* Update.Ulrich Drepper2003-05-094-4/+27
| | | | | | 2003-05-09 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: New file.