summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64
AgeCommit message (Collapse)AuthorFilesLines
2014-01-08PowerPC: remove wrong truncl implementation for PowerPC64Adhemerval Zanella1-120/+0
The truncl assembly implementation (sysdeps/powerpc/powerpc64/fpu/s_truncl.S) returns wrong results for some inputs where first double is a exact integer and the precision is determined by second long double. Checking on implementation comments and history, I am very confident the assembly implementation was based on a version before commit 5c68d401698a58cf7da150d9cce769fa6679ba5f that fixes BZ#2423 (Errors in long double (ldbl-128ibm) rounding functions in glibc-2.4). By just removing the implementation and make the build select sysdeps/ieee754/ldbl-128ibm/s_truncl.c instead it fixes tgammal issues regarding wrong result sign.
2014-01-03PowerPC: Fix compiler warningsAdhemerval Zanella4-4/+4
This patch fixes some compile warnings related to extra tokens at end of #undef directive from multilib patchset.
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae259-259/+259
2013-12-19Fix uses of CALL_MCOUNT in ppc64 assembler sourcesAndreas Schwab3-2/+6
2013-12-13PowerPC: multiarch hypot/hypotf for PowerPC64Adhemerval Zanella7-1/+158
2013-12-13PowerPC: multiarch modf/modff for PowerPC64Adhemerval Zanella7-2/+173
2013-12-13PowerPC: multiarch logb/logbl/logbf for PowerPC64Adhemerval Zanella10-1/+244
2013-12-13PowerPC: multiarch isinf/isinff for PowerPC64Adhemerval Zanella6-2/+178
2013-12-13PowerPC: multiarch finite/finitef for PowerPC64Adhemerval Zanella6-2/+186
2013-12-13PowerPC: multiarch llrint/lrint for PowerPC64Adhemerval Zanella5-1/+122
2013-12-13PowerPC: multiarch copysign/copysignf for PowerPC64Adhemerval Zanella5-2/+155
2013-12-13PowerPC: multiarch trunc/truncf for PowerPC64Adhemerval Zanella7-1/+188
2013-12-13PowerPC: multiarch round/roundf for PowerPC64Adhemerval Zanella7-1/+188
2013-12-13PowerPC: multiarch floor/floorf for PowerPC64Adhemerval Zanella7-1/+190
2013-12-13PowerPC: multiarch ceil/ceilf for PowerPC64Adhemerval Zanella7-1/+188
2013-12-13PowerPC: multiarch llround/lround for PowerPC64Adhemerval Zanella6-1/+155
2013-12-13PowerPC: multiarch isnan/isnanf for PowerPC64Adhemerval Zanella8-0/+264
2013-12-13PowerPC: Adjust multiarch Implies for PowerPC64Adhemerval Zanella5-0/+5
This patch adds Implies files on multiarch folder for POWER chips so multirach is enabled when building with --with-cpu and powerN option.
2013-12-13PowerPC: Cleaning up uneeded sqrt routinesAdhemerval Zanella2-108/+0
For PPC64, all the wrappers at sysdeps are superfluous: they are basically the same implementation from math/w_sqrt.c with the '#ifdef _IEEE_LIBM'. And the power4 version just force the 'fsqrt' instruction utilization with an inline assembly, which is already handled by math_private.h __ieee754_sqrt implementation.
2013-12-13PowerPC: multiarch stpcpy for PowerPC64Adhemerval Zanella5-1/+130
2013-12-13PowerPC: multiarch strcpy for PowerPC64Adhemerval Zanella5-1/+123
2013-12-13PowerPC: multiarch wordcopy for PowerPC64Adhemerval Zanella5-1/+146
2013-12-13PowerPC: multiarch wcscpy for PowerPC64.Adhemerval Zanella6-1/+106
2013-12-13PowerPC: multiarch wcsrchr for PowerPC64Adhemerval Zanella6-1/+107
2013-12-13PowerPC: multiarch wcschr for PowerPC64Adhemerval Zanella6-1/+109
2013-12-13PowerPC: multiarch strchrnul for PowerPC64Adhemerval Zanella5-1/+105
2013-12-13PowerPC: multiarch strchr for PowerPC64Adhemerval Zanella6-1/+143
2013-12-13PowerPC: multiarch strncmp for PowerPC64Adhemerval Zanella6-1/+169
2013-12-13PowerPC: multiarch strncasecmp for PowerPC64Adhemerval Zanella6-1/+152
2013-12-13PowerPC: multiarch strcasecmp for PowerPC64Adhemerval Zanella6-1/+182
2013-12-13PowerPC: multiarch strnlen for PowerPC64Adhemerval Zanella5-1/+104
2013-12-13PowerPC: multiarch strlen for PowerPC64Adhemerval Zanella5-1/+120
2013-12-13PowerPC: multiarch rawmemchr for PowerPC64Adhemerval Zanella5-1/+102
2013-12-13PowerPC: multiarch memrchr for PowerPC64Adhemerval Zanella5-1/+107
2013-12-13PowerPC: multiarch memchr for PowerPC64Adhemerval Zanella5-1/+107
2013-12-13PowerPC: multiarch mempcpy for PowerPC64Adhemerval Zanella5-1/+109
2013-12-13PowerPC: multiarch memset/bzero for PowerPC64Adhemerval Zanella16-1/+385
2013-12-13PowerPC: multirach memcmp for PowerPC64Adhemerval Zanella6-1/+166
2013-12-13PowerPC: multiarch memcpy for PowerPC64Adhemerval Zanella10-0/+379
2013-12-13PowerPC: Adjust multiarch Implies for PowerPC64Adhemerval Zanella15-2/+14
This patch adds Implies files on multiarch folder for POWER chips so multirach is enabled when building with --with-cpu and powerN option.
2013-12-06PowerPC: Optimized mpn functions for PowerPC64/POWER7Adhemerval Zanella2-0/+121
This patch add optimized __mpn_add_n/__mpn_sub_n for PowerPC64/POWER7. They are originally from GMP with adjustments for GLIBC.
2013-12-06PowerPC: Optimized mpn functions for PowerPC64Adhemerval Zanella4-0/+541
This patch add optimized __mpn_addmul, __mpn_addsub, __mpn_lshift, and __mpn_mul_1 implementations for PowerPC64. They are originally from GMP with adjustments for GLIBC.
2013-12-06PowerPC: multiarch logb/logbf/logbl for PowerPC32Adhemerval Zanella3-3/+3
2013-12-06PowerPC: multiarch wordcopy routines for PowerPC32Adhemerval Zanella2-218/+0
2013-12-06PowerPC: multiarch wcscpy for PowerPC32Adhemerval Zanella1-1/+1
2013-12-06PowerPC: multiarch wcsrchr for PowerPC32Adhemerval Zanella1-1/+1
2013-12-06PowerPC: multiarch wcschr for PowerPC32Adhemerval Zanella1-1/+1
2013-12-05PowerPC: Add systemtap static probe points in setjmp/longjmpAdhemerval Zanella3-27/+40
This patch add static probes for setjmp/longjmp in the way gdb expects,fixing the gdb.base/longjmp.exp gdb testcases. It changes the symbol_name and use macros to to avoid change the probe names and ending up adding more logic on GDB (since with the expected name GDB work seamlessly).
2013-12-04PowerPC64 ELFv2 ABI 5/6: LD_AUDIT interface changesUlrich Weigand3-42/+102
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.
2013-12-04PowerPC64 ELFv2 ABI 4/6: Stack frame layout changesUlrich Weigand7-65/+109
This updates glibc for the changes in the ELFv2 relating to the stack frame layout. These are described in more detail here: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01149.html http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01146.html Specifically, the "compiler and linker doublewords" were removed, which has the effect that the save slot for the TOC register is now at offset 24 rather than 40 to the stack pointer. In addition, a function may now no longer necessarily assume that its caller has set up a 64-byte register save area its use. To address the first change, the patch goes through all assembler files and replaces immediate offsets in instructions accessing the ABI-defined stack slots by symbolic offsets. Those already were defined in ucontext_i.sym and used in some of the context routines, but that doesn't really seem like the right place for those defines. The patch instead defines those symbolic offsets in sysdeps.h, in two variants for the old and new ABI, and uses them systematically in all assembler files, not just the context routines. The second change only affected a few assembler files that used the save area to temporarily store some registers. In those cases where this happens within a leaf function, this patch changes the code to store those registers to the "red zone" below the stack pointer. Otherwise, the functions already allocate a stack frame, and the patch changes them to add extra space in these frames as temporary space for the ELFv2 ABI.