summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/bits
Commit message (Collapse)AuthorAgeFilesLines
* PowerPC: sync hwcap.h capabilitiesAdhemerval Zanella2014-08-281-0/+2
| | | | | | | | | Linux commit dd58a092c4202f2bd490adab7285b3ff77f8e467 added the PPC_FEATURE2_VEC_CRYPTO auvx capability to indicate whether to hardware supports vector crypto hardware instructions. This patch adds its definition to powerpc hwcap bits. This is a backport of db22400947e1c82153e5270d23fed53fc1e3a659.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-019-9/+9
|
* PowerPC64 ELFv2 ABI 5/6: LD_AUDIT interface changesUlrich Weigand2013-12-041-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | The ELFv2 ABI changes the calling convention by passing and returning structures in registers in more cases than the old ABI: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01145.html http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01147.html For the most part, this does not affect glibc, since glibc assembler files do not use structure parameters / return values. However, one place is affected: the LD_AUDIT interface provides a structure to the audit routine that contains all registers holding function argument and return values for the intercepted PLT call. Since the new ABI now sometimes uses registers to return values that were never used for this purpose in the old ABI, this structure has to be extended. To force audit routines to be modified for the new ABI if necessary, the patch defines v2 variants of the la_ppc64 types and routines. In addition, the patch contains two unrelated changes to the PLT trampoline routines: it fixes a bug where FPR return values were stored in the wrong place, and it removes the unnecessary save/restore of CR.
* PowerPC: Fix __fe_mask_env exportAdhemerval Zanella2013-11-131-6/+0
| | | | | This patch does not export __fe_mask_env anymore, only providing a compatibility symbol. It fixes BZ#14143.
* PowerPC floating point little-endian [7 of 15]Anton Blanchard2013-10-041-12/+14
| | | | | | | | | | http://sourceware.org/ml/libc-alpha/2013-08/msg00086.html * sysdeps/powerpc/bits/mathinline.h (__signbitf): Use builtin. (__signbit): Likewise. Correct for little-endian. (__signbitl): Call __signbit. (lrint): Correct for little-endian. (lrintf): Call lrint.
* PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8.Ryan S. Arnold2013-06-281-6/+17
|
* Remove trailing whitespace.Joseph Myers2013-06-051-1/+1
|
* Better distinguish between NaN/qNaN/sNaN.Thomas Schwinge2013-03-151-2/+2
|
* Use same installed powerpc headers for hard and soft float.Joseph Myers2013-03-012-0/+190
|
* Adapt installed powerpc headers better for soft-float / no-FPRs.Joseph Myers2013-01-171-2/+4
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-027-7/+7
|
* Add script to update copyright notices and reformat some to facilitate its use.Joseph Myers2013-01-012-4/+2
|
* Make fenv.h FE_* macros usable in #if (bug 3439).Joseph Myers2012-11-031-37/+55
|
* Add <sys/auxv.h> and getauxval.Richard Henderson2012-05-201-0/+53
|
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-096-18/+12
|
* Always define float_t as float for PowerPC, SH and SPARC.Joseph Myers2012-01-311-14/+2
|
* Remove __STDC__ conditionals from installed headers.Joseph Myers2012-01-261-12/+2
|
* Provide FP_FAST_FMA{,F,L} definitions for x86/x86-64.Ulrich Drepper2010-10-191-1/+1
|
* Add C99 FP_FAST_FMA{,F,L} macros to math.hMichael Meissner2010-10-191-0/+4
|
* * stdlib/monetary.h: Uglify function parameter names. cvs/fedora-glibc-20090218T1534Jakub Jelinek2009-02-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sunrpc/rpc/pmap_clnt.h: Likewise. * sunrpc/rpc/svc.h: Likewise. * sunrpc/rpc/xdr.h: Likewise. * sunrpc/rpc/clnt.h: Likewise. * resolv/netdb.h: Likewise. * resolv/arpa/nameser.h: Likewise. * resolv/resolv.h: Likewise. * argp/argp.h: Likewise. * locale/langinfo.h: Likewise. * io/sys/stat.h: Likewise. * posix/spawn.h: Likewise. * nis/rpcsvc/nislib.h: Likewise. * malloc/obstack.h: Likewise. * sysdeps/ia64/bits/link.h: Likewise. * sysdeps/i386/bits/link.h: Likewise. * sysdeps/s390/bits/link.h: Likewise. * sysdeps/powerpc/bits/link.h: Likewise. * sysdeps/x86_64/bits/link.h: Likewise. * sysdeps/sparc/bits/link.h: Likewise. * sysdeps/sh/bits/link.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise. * sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise. 2009-02-16 Jakub Jelinek <jakub@redhat.com> * stdlib/monetary.h: Uglify function parameter names. * sunrpc/rpc/pmap_clnt.h: Likewise. * sunrpc/rpc/svc.h: Likewise. * sunrpc/rpc/xdr.h: Likewise. * sunrpc/rpc/clnt.h: Likewise. * resolv/netdb.h: Likewise. * resolv/arpa/nameser.h: Likewise. * resolv/resolv.h: Likewise. * argp/argp.h: Likewise. * locale/langinfo.h: Likewise. * io/sys/stat.h: Likewise. * posix/spawn.h: Likewise. * nis/rpcsvc/nislib.h: Likewise. * malloc/obstack.h: Likewise. * sysdeps/ia64/bits/link.h: Likewise. * sysdeps/i386/bits/link.h: Likewise. * sysdeps/s390/bits/link.h: Likewise. * sysdeps/powerpc/bits/link.h: Likewise. * sysdeps/x86_64/bits/link.h: Likewise. * sysdeps/sparc/bits/link.h: Likewise. * sysdeps/sh/bits/link.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise. * sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
* * sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto forUlrich Drepper2008-04-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __fe_nomask_env. * sysdeps/powerpc/fpu/fe_nomask.c: Add libm_hidden_def. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise. * sysdeps/powerpc/bits/fenv.h: Make safe for C++. * sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: New file. * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Rename function from fegetexcept and make old name weak alias. * include/fenv.h: Declare __fegetexcept. * sysdeps/powerpc/fpu/fedisblxcpt.c: Use __fegetexcept instead of fegetexcept. * sysdeps/powerpc/fpu/feenablxcpt.c: Likewise. * sysdeps/powerpc/fpu/fraiseexcpt.c (__feraiseexcept): Avoid call to fetestexcept. * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Use __frexpl instead of frexpl to avoid local PLT. * math/s_significandl.c (__significandl): Use __ilogbl instead of ilogbl to avoid local PLT. * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Use __ldexpl instead of ldexpl to avoid local PLT. * sysdeps/ieee754/ldbl-128ibm/e_expl.c (__ieee754_expl): Use __roundl not roundl to avoid local PLT. * sysdeps/ieee754/ldbl-128/e_j0l.c: Use function names which avoid local PLTs. Use __sincosl instead of separate sinl and cosl calls. * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
* 2007-04-30 Steven Munroe <sjmunroe@us.ibm.com>Ulrich Drepper2007-05-071-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Peter Bergner <bergner@us.ibm.com> * sysdeps/powerpc/bits/fenv.h: Declare __fe_mask_env extern. Define FE_NOMASK_ENV as FE_EANBLED_ENV. Define FE_MASK_ENV. * sysdeps/powerpc/fpu/Makefile: Add fe_mask to libm-support. * sysdeps/powerpc/fpu/fe_mask.c: New file. * sysdeps/powerpc/fpu/fe_nomask.c: Correct comment. * sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept): Call __fe_mask_env() if all FP exceptions disabled. * sysdeps/powerpc/fpu/feholdexcpt.c (feholdexcept): Copy high 32-bits from old FPSCR to new fenv to propagate DFP rounding modes. Call __fe_mask_env() if FP exceptions previously enabled. * sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Change mask to merge exceptions from env. Use __fe_nomask_env() or __fe_mask_env() when transitioning from all exceptions disabled to any exception enabled or visa versa. * sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Change mask to merge exceptions from env. Call __fe_nomask_env or __fe_mask_env when transitioning from all exceptions disabled to any exception enabled or visa versa. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: ...here. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: Moved to... * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: ...here. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c: New file.
* * sysdeps/powerpc/bits/atomic.hUlrich Drepper2007-03-261-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | [!MUTEX_HINT_ACQ]: Define MUTEX_HINT_ACQ. [!MUTEX_HINT_REL]: Define MUTEX_HINT_REL. (__arch_compare_and_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_val_32_rel): Add MUTEX_HINT_REL to lwarx. (__arch_atomic_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_atomic_exchange_rel_32_rel): Add MUTEX_HINT_REL to lwarx. * sysdeps/powerpc/powerpc32/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6X]: Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0". (__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx. * sysdeps/powerpc/powerpc64/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6D]: Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0". (__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx. (__arch_compare_and_exchange_bool_64_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_bool_64_rel): Add MUTEX_HINT_REL to lwarx. (__arch_compare_and_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_val_64_rel): Add MUTEX_HINT_REL to lwarx. (__arch_atomic_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_atomic_exchange_rel_64_rel): Add MUTEX_HINT_REL to lwarx. 2007-03-20 Jakub Jelinek <jakub@redhat.com>
* * math/divtc3.c: New file.Roland McGrath2006-02-011-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * math/multc3.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile [$(subdir) = math] (libm-routines): Add multc3, divtc3. * sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies: New file. * sysdeps/sparc/sparc32/fpu/s_fabsl.c: Include math.h and math_ldbl_opt.h. (fabsl): Use long_double_symbol instead of weak_alias. * sysdeps/sparc/sparc32/fpu/s_fabs.c: Include math.h and math_ldbl_opt.h. [LONG_DOUBLE_COMPAT] (fabsl): Add compat_symbol. 2006-01-31 Martin Schwidefsky <schwidefsky@de.ibm.com> Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/s390/Implies: New file. * sysdeps/unix/sysv/linux/s390/fpu/Implies: New file. * sysdeps/unix/sysv/linux/s390/nldbl-abi.h: New file. * sysdeps/s390/fpu/bits/mathinline.h (signbitl, sqrtl): New inlines. * sysdeps/s390/bits/mathdef.h: New file. * sysdeps/s390/fpu/e_sqrtl.c: New file. * sysdeps/s390/s390-32/bits/wordsize.h (__LONG_DOUBLE_MATH_OPTIONAL, __NO_LONG_DOUBLE_MATH): Define. * sysdeps/s390/s390-64/bits/wordsize.h: Likewise. * sysdeps/s390/Implies: Add ieee754/ldbl-128. * sysdeps/s390/ldbl2mpn.c: File removed. * sysdeps/s390/fpu/libm-test-ulps: Updated. 2006-01-31 Roland McGrath <roland@redhat.com> * sysdeps/alpha/fpu/bits/mathdef.h: Moved to ... * sysdeps/alpha/bits/mathdef.h: ... here. * sysdeps/i386/fpu/bits/mathdef.h: Moved to ... * sysdeps/i386/bits/mathdef.h: ... here. * sysdeps/mips/fpu/bits/mathdef.h: Moved to ... * sysdeps/mips/bits/mathdef.h: ... here. * sysdeps/m68k/fpu/bits/mathdef.h: Moved to ... * sysdeps/m68k/bits/mathdef.h: ... here. * sysdeps/powerpc/fpu/bits/mathdef.h: Moved to ... * sysdeps/powerpc/bits/mathdef.h: ... here. * sysdeps/sparc/fpu/bits/mathdef.h: Moved to ... * sysdeps/sparc/bits/mathdef.h: ... here. * sysdeps/ia64/fpu/bits/mathdef.h: Moved to ... * sysdeps/ia64/bits/mathdef.h: ... here. * sysdeps/sh/sh4/fpu/bits/mathdef.h: Moved to ... * sysdeps/sh/sh4/bits/mathdef.h: ... here. * sysdeps/x86_64/fpu/bits/mathdef.h: Moved to ... * sysdeps/x86_64/bits/mathdef.h: ... here. 2006-01-31 Jakub Jelinek <jakub@redhat.com>
* * include/bits/setjmp.h: New file.Roland McGrath2006-01-101-24/+0
| | | | | | | | | | | | | | | | | | | | | * setjmp/jmpbuf-offsets.h: New file. * sysdeps/alpha/bits/setjmp.h: Move JB_* macros ... * sysdeps/alpha/jmpbuf-offsets.h: ... here, new file. * sysdeps/hppa/bits/setjmp.h (JB_SP): Macro moved ... * sysdeps/hppa/jmpbuf-offsets.h: ... here, new file. * sysdeps/i386/bits/setjmp.h: Move JB_* macros ... * sysdeps/i386/jmpbuf-offsets.h: ... here, new file. * sysdeps/mips/bits/setjmp.h (JB_PC): Macro removed. * sysdeps/powerpc/bits/setjmp.h: Move JB_* macros ... * sysdeps/powerpc/jmpbuf-offsets.h: ... here, new file. * sysdeps/s390/bits/setjmp.h: Remove __JB_* macros. * sysdeps/sh/bits/setjmp.h (JB_SIZE): Macro moved ... * sysdeps/sh/jmpbuf-offsets.h: ... here, new file. * sysdeps/sparc/sparc32/bits/setjmp.h: Move JB_* macros ... * sysdeps/sparc/sparc32/jmpbuf-offsets.h: ... here, new file. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Remove JB_* macros. * sysdeps/x86_64/bits/setjmp.h: Move JB_* macros ... * sysdeps/x86_64/jmpbuf-offsets.h: ... here, new file.
* * sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...Roland McGrath2006-01-101-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/powerpc/jmpbuf-unwind.h: ... here. * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/alpha/jmpbuf-unwind.h: ... here. * sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/sparc/sparc32/jmpbuf-unwind.h: ... here. * sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/i386/jmpbuf-unwind.h: ... here. * sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/x86_64/jmpbuf-unwind.h: ... here. * sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/sh/jmpbuf-unwind.h: ... here. * sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/hppa/jmpbuf-unwind.h: ... here, new file. * sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/mips/jmpbuf-unwind.h: ... here. * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/m68k/jmpbuf-unwind.h: ... here, new file. * sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/s390/jmpbuf-unwind.h: ... here. * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/ia64/jmpbuf-unwind.h: ... here. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/sparc/sparc64/jmpbuf-unwind.h: ... here. * sysdeps/ia64/jmpbuf-unwind.h: New file, moved from nptl/.
* * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.hRoland McGrath2005-12-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | (PTR_MANGLE): Fix cast. * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Take third argument DEMANGLE, and pass SP value through it. * sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Likewise. * sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise. * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Pass inline demangler function to _JMPBUF_UNWINDS. * sysdeps/mach/hurd/jmp-unwind.c (demangle_ptr): New function. (_longjmp_unwind): Pass it to _JMPBUF_UNWINDS.
* * sysdeps/powerpc/bits/link.h (La_ppc64_regs): Add lr_vrsave.Ulrich Drepper2005-03-191-3/+4
| | | | | | (La_ppc64_retval): Correct size of lrc_fp. * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_profile_resolve): Fix up ABI problems and complete function.
* * sysdeps/powerpc/powerpc32/bits/link.h: Removed.Roland McGrath2005-02-101-0/+110
| | | | | * sysdeps/powerpc/powerpc64/bits/link.h: Moved to... * sysdeps/powerpc/bits/link.h: ... here. New file.
* (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper2004-12-223-177/+30
|
* 2.5-18.1Jakub Jelinek2007-07-123-30/+177
|
* Update.Ulrich Drepper2004-09-081-0/+54
| | | | | | | | | | | | | * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define. (atomic_decrement): Define. * sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and atomic_decrement_val. * sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise. * sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise. * csu/tst-atomic.c (do_test): Add tests of atomic_increment_val and atomic_decrement_val.
* Update.Ulrich Drepper2004-04-041-7/+7
| | | | | | * sysdeps/powerpc/powerpc64/bits/atomic.h: Never use matching constraints for asm mem parameters. * sysdeps/powerpc/bits/atomic.h: Likewise.
* Update.Ulrich Drepper2004-02-141-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-02-13 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/__longjmp-common.S: New file. * sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp): Non-versioned __longjmp for rtld-__longjmp. [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as default version of __longjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novmx__longjmp): Original version of __longjmp. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp): Non-versioned _setjmp for rtld-_setjmp. [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define as default version of _setjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novmx_setjmp): Original version of _setjmp. * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to __vmx__sigsetjmp and define as default version of setjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novmxsetjmp): Original version of setjmp. * sysdeps/powerpc/powerpc64/setjmp-common.S: New file. * sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp): Non-versioned __sigsetjmp for rtld-setjmp. [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define as default version of __sigsetjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novmx__sigsetjmp): Original version of __sigsetjmp. * sysdeps/powerpc/powerpc32/__longjmp-common.S: New File * sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp): Non-versioned __longjmp for rtld-__longjmp. [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as default version of __longjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] (__novmx__longjmp): Original version of __longjmp. * sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp): Non-versioned _setjmp for rtld-_setjmp. [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define as default version of _setjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] (__novmx_setjmp): Original version of _setjmp. * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to __vmx__sigsetjmp and define as default version of setjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] (__novmxsetjmp): Original version of setjmp. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file. * sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp): Non-versioned __longjmp for rtld-__longjmp. [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as default version of __longjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] (__novmx__longjmp): Original version of __longjmp. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file. * sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp): Non-versioned __sigsetjmp for rtld-setjmp. [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define as default version of __sigsetjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] (__novmx__sigsetjmp): Original version of __sigsetjmp. * sysdeps/powerpc/powerpc32/setjmp-common.S: New file. * sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp): Non-versioned __sigsetjmp for rtld-setjmp. [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define as default version of __sigsetjmp. [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] (__novmx__sigsetjmp): Original version of __sigsetjmp. * sysdeps/powerpc/Dist: New File. * sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c and novmx-sigjmp.c * sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp, __sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add __novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp, and __vmx__libc_siglongjmp. * sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust JB_SIZE to add VMX regs to __jmp_buf. * sysdeps/powerpc/longjmp.c: New file. * sysdeps/powerpc/novmxsetjmp.h: New file. * sysdeps/powerpc/novmx-longjmp.c: New file. * sysdeps/powerpc/novmx-sigjmp.c: New file. * sysdeps/powerpc/sigjmp.c: New file.
* Update.Ulrich Drepper2003-05-131-14/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-101-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | * 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-04-171-155/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-16 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (distribute): Add tst-tlsmod{[7-9],1[0-2]}.c and tst-tls10.h. (tests): Add tst-tls1[0-2]. (modules-names): Add tst-tlsmod{[7-8],1[0-2]}. ($(objpfx)tst-tlsmod8.so): Depend on tst-tlsmod7.so. ($(objpfx)tst-tlsmod10.so): Depend on tst-tlsmod9.so. ($(objpfx)tst-tlsmod12.so): Depend on tst-tlsmod11.so. ($(objpfx)tst-tls10): Depend on tst-tlsmod8.so. ($(objpfx)tst-tls11): Depend on tst-tlsmod10.so. ($(objpfx)tst-tls12): Depend on tst-tlsmod12.so. * elf/tst-tls10.c: New test. * elf/tst-tls11.c: New test. * elf/tst-tls12.c: New test. * elf/tst-tls10.h: New file. * elf/tst-tlsmod7.c: New file. * elf/tst-tlsmod8.c: New file. * elf/tst-tlsmod9.c: New file. * elf/tst-tlsmod10.c: New file. * elf/tst-tlsmod11.c: New file. * elf/tst-tlsmod12.c: New file. 2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/bits/atomic.h: Moved ppc32/64 specific code to ... * sysdeps/powerpc/powerpc32/bits/atomic.h: New file. * sysdeps/powerpc/powerpc64/bits/atomic.h: New file. * posix/regex.h: Include <sys/types.h>.
* Update.Ulrich Drepper2003-04-151-12/+63
| | | | | | | | | | | 2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/bits/atomic.h [__powerpc64] (__arch_compare_and_exchange_val_64_acq): Define. [! __powerpc64] (__arch_compare_and_exchange_val_64_acq): Defined as abort stub. (__arch_compare_and_exchange_val_32_acq): Define. (atomic_compare_and_exchange_val_acq): Define.
* Update.Ulrich Drepper2003-04-121-3/+7
| | | | | | | | | | | | | | | | | 2003-04-11 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling. Remove HAVE_CANCELBUF code. Replace with code using the new initializers for unwind-based cleanup handling. * sysdeps/generic/unwind.h: Update from latest gcc version. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few places to allow unwind data generation. * sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times. * sysdeps/x86_64/bits/setjmp.h: Likewise. * sysdeps/sh/bits/setjmp.h: Likewise. * sysdeps/powerpc/bits/setjmp.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise. * sysdeps/alpha/bits/setjmp.h: Likewise.
* 2003-03-27 Roland McGrath <roland@redhat.com>Roland McGrath2003-03-281-12/+12
| | | | | * sysdeps/powerpc/bits/atomic.h [! __powerpc64__] (__arch_atomic_decrement_if_positive_64): Fix bogus definition.
* Update.Ulrich Drepper2003-03-271-24/+74
| | | | | | | | | | | | | | | | | | | 2003-03-27 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq): Move to [!__powerpc64__]. [__powerpc64__] (__arch_compare_and_exchange_bool_32_acq): Define PPC64 specific version. [__powerpc64__] (__arch_compare_and_exchange_bool_64_acq): Change (mem) constraint to "b". [__powerpc64__] (__arch_atomic_exchange_and add_64): Replace addi with add. Change (value) contraint to "r". Change (mem) constraint to "b". [__powerpc64__] (__arch_atomic_decrement_if_positive_64): New macro. (__arch_atomic_exchange_32): Change (mem) constraint to "b". (__arch_atomic_exchange_and_add_32): Change (mem) constraint to "b". (__arch_atomic_decrement_if_positive_32): New macro. (atomic_decrement_if_positive): Use __arch* macros.
* * csu/tst-atomic.c (do_test): Add some newRoland McGrath2003-03-261-6/+6
| | | | | | | | | | | | | | | | | | | | | | atomic_compare_and_exchange_val_acq, atomic_add_zero, atomic_compare_and_exchange_bool_acq and atomic_add_negative tests. * include/atomic.h (atomic_add_negative, atomic_add_zero): Prefix local variable so that it doesn't clash with the one in atomic_exchange_and_add. * sysdeps/ia64/bits/atomic.h (atomic_exchange): Fix for long/void * pointers. (atomic_exchange_and_add): Implement using __sync_fetch_and_add_?i. * sysdeps/powerpc/bits/atomic.h (atomic_exchange_and_add): Force value into register. * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): Cast newval to long. * sysdeps/x86_64/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): Cast newval and oldval to long. (atomic_exchange): Cast newvalue to long if sizeof == 8. (atomic_exchange_and_add): Cast value to long if sizeof == 8. (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. (atomic_bit_set): Shift 1L up in all cases to shut up warnings.
* 2003-03-25 Roland McGrath <roland@redhat.com>Roland McGrath2003-03-251-24/+75
| | | | | | | | | | * sysdeps/powerpc/bits/atomic.h (__arch_atomic_exchange_32): New macro. (__arch_atomic_exchange_64): New macro. (atomic_exchange): Use them. (__arch_atomic_exchange_and_add_32): New macro. (__arch_atomic_exchange_and_add_64): New macro. (atomic_exchange_and_add): Use them. Original patch from Steven Munroe <sjmunroe@us.ibm.com>.
* Update.Ulrich Drepper2003-03-211-31/+31
| | | | | | | | | | | | | | | | | | | | | | | 2003-03-21 Ulrich Drepper <drepper@redhat.com> * cancellation.c: Adjust for new form of compare&exchange macros. * cleanup_defer.c: Likewise. * init.c: Likewise. * libc-cancellation.c: Likewise. * old_pthread_cond_broadcast.c: Likewise. * old_pthread_cond_signal.c: Likewise. * old_pthread_cond_timedwait.c: Likewise. * old_pthread_cond_wait.c: Likewise. * pthread_cancel.c: Likewise. * pthread_create.c: Likewise. * pthread_detach.c: Likewise. * pthread_join.c: Likewise. * pthread_key_delete.c: Likewise. * pthread_setcancelstate.c: Likewise. * pthread_setcanceltype.c: Likewise. * pthread_timedjoin.c: Likewise. * pthread_tryjoin.c: Likewise. * sysdeps/pthread/createthread.c: Likewise.
* * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unusedRoland McGrath2003-03-201-2/+2
| | | | | | | | | | variable. Remove superfluous memory clobber. * include/atomic.h: Syntax braino fix. * posix/tst-nice.c (do_test): Use %m formats instead of printing errno in decimal. Don't bail if niced at start. Just check that nice call bumps the total at all.
* Update.Ulrich Drepper2003-03-201-8/+58
| | | | | | | | | | | | | | 2003-03-20 Ulrich Drepper <drepper@redhat.com> * include/atomic.h: Define atomic_exchange and atomic_decrement_if_positive if not already defined. Add some __builtin_expect. * sysdeps/i386/i486/bits/atomic.h: Define atomic_exchange. * sysdeps/x86_64/bits/atomic.h: Likewise. * sysdeps/ia64/bits/atomic.h: Pretty printing. Define atomic_exchange. * sysdeps/powerpc/bits/atomic.h: Pretty printing. Define atomic_exchange, atomic_exchange_and_add, and atomic_decrement_if_positive
* Update.Ulrich Drepper2003-03-201-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-19 Ulrich Drepper <drepper@redhat.com> * Makefile (distribute): Add include/atomic.h and bits/atomic.h. * include/atomic.h: New file. * sysdeps/i386/i486/bits/atomic.h: New file. * sysdeps/x86_64/bits/atomic.h: New file. * sysdeps/s390/bits/atomic.h: New file. * sysdeps/sh/bits/atomic.h: New file. * sysdeps/ia64/bits/atomic.h: New file. * sysdeps/powerpc/bits/atomic.h: New file. * sysdeps/generic/bits/atomic.h: New file. * sysdeps/i386/i486/atomicity.h: Removed. * sysdeps/x86_64/atomicity.h: Removed. * sysdeps/s390/s390-32/atomicity.h: Removed. * sysdeps/s390/s390-64/atomicity.h: Removed. * sysdeps/ia64/atomicity.h: Removed. * sysdeps/powerpc/powerpc32/atomicity.h: Removed. * sysdeps/powerpc/powerpc64/atomicity.h: Removed. * elf/dl-profile.c: Use atomic.h instead of atomicity.h. Adjust use of macros from atomicity.h to new names and semantics. * gmon_mcount.c: Likewise. * malloc/set-freeres.c: Likewise. * nscd/cache.c: Likewise. * stdlib/cxa_finalize.c: Likewise. * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. * sysdeps/mips/ieee754.h: New file, suitable to replace both * stdlib/strtod.c (INTERNAL): While eating trailing zeros handle
* 2002-12-14 Olaf Hering <olh@suse.de>Roland McGrath2002-12-151-0/+2
| | | | | * sysdeps/powerpc/bits/setjmp.h: Include <bits/wordsize.h>. * sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load.
* Update.Ulrich Drepper2002-10-171-0/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-08 Richard Henderson <rth@redhat.com> * soft-fp/op-4.h: Handle carry correctly in __FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3, __FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4. * soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop. 2002-10-08 Aldy Hernandez <aldyh@redhat.com> * configure.in: Compute completely-soft. * config.make.in: Make completely-soft available to sub-makes. * sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and gcc-double-routines. Add sim-full.c. Add fenv_const and fe_nomask to libm-support. * sysdeps/powerpc/soft-fp/sim-full.c: New file. * sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file. * sysdeps/powerpc/soft-fp/fegetexcept.c: New file. * sysdeps/powerpc/soft-fp/fclrexcpt.c: New file. * sysdeps/powerpc/soft-fp/ftestexcept.c: New file. * sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file. * sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file. * sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file. * sysdeps/powerpc/soft-fp/feenablxcpt.c: New file. * sysdeps/powerpc/soft-fp/fegetenv.c: New file. * sysdeps/powerpc/soft-fp/fesetenv.c: New file. * sysdeps/powerpc/soft-fp/fegetround.c: New file. * sysdeps/powerpc/soft-fp/fesetround.c: New file. * sysdeps/powerpc/soft-fp/feupdateenv.c: New file. * sysdeps/powerpc/soft-fp/feholdexcpt.c: New file. * sysdeps/powerpc/soft-fp/fenv_const.c: New file. * sysdeps/powerpc/soft-fp/libm-test-ulps: New file. * sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float symbols. Add __sim_disabled_exceptions, __sim_exceptions, __sim_round_mode. * sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c. * sysdeps/powerpc/soft-float/sfp-machine.h: Define FP_HANDLE_EXCEPTIONS. Define FP_ROUNDMODE. Redefine FP_* macros to correspond to the FE_* bit positions. Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop. Define externs for __sim_exceptions, __sim_disabled_exceptions, __sim_round_mode, __simulate_exceptions. * sysdeps/powerpc/fpu/bits/fenv.h: Move file from here... * sysdeps/powerpc/bits/fenv.h: ...to here. 2002-10-06 Jakub Jelinek <jakub@redhat.com> * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time. Use __builtin_expect for R_PPC_ADDR24 overflow check. Fix R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use __builtin_expect.
* Update.Ulrich Drepper2002-10-021-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-02 Steven Munroe <sjmunroe@us.ibm.com> Jakub Jelinek <jakub@redhat.com> * login/programs/utmpdump.c (print_entry): Copy up->ut_tv fields to struct timeval temp_tv before printing to be 32-/64-bit agnostic. * sysdeps/powerpc/bits/wordsize.h: Move to... * sysdeps/powerpc/powerpc32/bits/wordsize.h: ...here. (__WORDSIZE_COMPAT32): Define. * sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise. * sysdeps/sparc/sparc32/bits/wordsize.h (__WORDSIZE_COMPAT32): Define. * sysdeps/sparc/sparc64/bits/wordsize.h (__WORDSIZE_COMPAT32): Define. * sysdeps/s390/bits/wordsize.h: Move to... * sysdeps/s390/s390-32/bits/wordsize.h: ...here. * sysdeps/s390/s390-64/bits/wordsize.h: Likewise. * sysdeps/x86_64/bits/wordsize.h (__WORDSIZE_COMPAT32): Define. * sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/utmp.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: New file.