about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc32
Commit message (Collapse)AuthorAgeFilesLines
* Add sparc vis3 optimized fma/fmaf.David S. Miller2012-03-155-1/+89
| | | | | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Add fma/fmaf sysdep routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Likewise.
* Sparc long double is emulated in software, therefore use dbl-64's s_fma.cDavid S. Miller2012-03-151-0/+2
| | | | | * sysdeps/sparc/sparc32/fpu/s_fma.c: New file. * sysdeps/sparc/sparc64/fpu/s_fma.c: New file.
* Create a header for sparc ifunc expansion and use it for VIS3 ifuncs.David S. Miller2012-03-1518-666/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc-ifunc.h: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: Use sparc-ifunc.h * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise.
* Sparc optimized fmin{,f} and fmax{,f}.David S. Miller2012-03-1513-1/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc64/fpu/s_fmax.S: New file. * sysdeps/sparc/sparc64/fpu/s_fmaxf.S: New file. * sysdeps/sparc/sparc64/fpu/s_fmin.S: New file. * sysdeps/sparc/sparc64/fpu/s_fminf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Add new vis3 fmin/fmax sysdep routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Likewise.
* Add more sparc VIS3 optimized math routines.David S. Miller2012-03-1526-5/+1242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: Add new VIS3 routines. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add new VIS3 routines. * sysdeps/sparc/sparc32/sparcv9/fpu/unix/sysv/linux/multiarch/Implies: New file.
* Add framework for using sparc VIS3 instructions, use it for copysign/signbit.David S. Miller2012-03-146-0/+169
| | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/configure.in: New file. * sysdeps/sparc/configure: Generate. * configure.in (libc_cv_sparc_as_vis3): Substitute. * configure: Regenerate. * config.h.in (HAVE_AS_VIS3_SUPPORT): New. * config.make.in (have-as-vis3): New. * sysdeps/sparc/sparc32/sparcv9/Makefile (ASFLAGS-*): If VIS3 is available use -Av9d instead of -Av9a. * sysdeps/sparc/sparc64/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S: New file. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: New file.
* Fix bugs in sparc PLT profiling register management, and add sparc sotruss ↵David S. Miller2012-03-092-28/+36
| | | | | | | | | | | | | | | | | | support. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local variables with appropriate CPP guards. * sysdeps/sparc/sparc32/dl-trampoline.S: Propagate the stack_ptr from the frame pointer, not the stack pointer. Correct layout comments. Fix test on resulting framesize and the management of the outregs buffer for pltexit. Preserve floating point return values across _dl_call_pltexit call. * sysdeps/sparc/sparc64/dl-trampoline.S: Fix test on resulting framesize and the management of the outregs buffer for pltexit. Preserve floating point return values across _dl_call_pltexit call. * elf/sotruss-lib.c (la_sparc32_gnu_pltenter, la_sparc64_gnu_pltenter, la_sparc32_gnu_pltexit, la_sparc64_gnu_pltexit): New functions. (print_exit): Fix format string for return register value.
* Add sparc optimized {l,}rint{,f} for 32-bit v9 and 64-bit.David S. Miller2012-03-024-0/+258
| | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_llrint.S: New file. * sysdeps/sparc/sparc64/fpu/s_llrintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_lrint.S: New file. * sysdeps/sparc/sparc64/fpu/s_lrintf.S: New file.
* Optimized sparc assembler for signbit{,f,l} and some variants of isnan.David S. Miller2012-03-014-0/+97
| | | | | | | | | | | | * sysdeps/sparc/sparc32/fpu/s_signbit.S: New file. * sysdeps/sparc/sparc32/fpu/s_signbitf.S: New file. * sysdeps/sparc/sparc32/fpu/s_signbitl.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S: New file. * sysdeps/sparc/sparc64/fpu/s_isnan.S: New file. * sysdeps/sparc/sparc64/fpu/s_isnanf.S: New file. * sysdeps/sparc/sparc64/fpu/s_signbit.S: New file. * sysdeps/sparc/sparc64/fpu/s_signbitf.S: New file. * sysdeps/sparc/sparc64/fpu/s_signbitl.S: New file.
* Sparc doesn't need seperate 32-bit and 64-bit ulps files.David S. Miller2012-03-011-1376/+0
| | | | | | * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Move... * sysdeps/sparc/fpu/libm-test-ulps: to here. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Delete.
* Remove sparc binutils GOTDATA checks in lieu of new minimum version requirement.David S. Miller2012-03-016-43/+0
| | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/crti.S: Remove HAVE_BINUTILS_GOTDATA checks. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc32/fpu/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/fpu/w_sqrtf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/fpu/w_sqrt.S: Likewise. * sysdeps/sparc/sparc64/fpu/w_sqrtf.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * config.h.in (HAVE_BINUTILS_GOTDATA): Delete. * sysdeps/sparc/elf/configure.in: Remove binutils GOTDATA checks. * sysdeps/sparc/elf/configure: Regenerated.
* Add sparc optimized sqrt{,f}.David S. Miller2012-02-284-0/+229
| | | | | | | | | * sysdeps/sparc/sparc32/fpu/w_sqrt.S: New file. * sysdeps/sparc/sparc32/fpu/w_sqrtf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S: New file. * sysdeps/sparc/sparc64/fpu/w_sqrt.S: New file. * sysdeps/sparc/sparc64/fpu/w_sqrtf.S: New file.
* Add optimized copysign for sparc.David S. Miller2012-02-282-0/+62
| | | | | | | * sysdeps/sparc/sparc32/fpu/s_copysign.S: New file. * sysdeps/sparc/sparc32/fpu/s_copysignf.S: New file. * sysdeps/sparc/sparc64/fpu/s_copysign.S: New file. * sysdeps/sparc/sparc64/fpu/s_copysignf.S: New file.
* Optimized sparc floor{,f} routines.David S. Miller2012-02-272-0/+170
| | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S: New file. * sysdeps/sparc/sparc64/fpu/s_floor.S: New file. * sysdeps/sparc/sparc64/fpu/s_floorf.S: New file.
* Fix %fp/%sp typo in new sparc ceil{,f} assembler.David S. Miller2012-02-272-4/+4
| | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S: Fix accidental use of frame pointer instead of stack pointer relative arg slot. * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_ceil.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_ceilf.S: Likewise.
* Fix comment formatting in new optimized sparc math files.David S. Miller2012-02-274-60/+56
|
* Optimized sparc ceil{,f} and rint{,f} routines.David S. Miller2012-02-274-0/+297
| | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S: New file. * sysdeps/sparc/sparc64/fpu/s_ceil.S: New file. * sysdeps/sparc/sparc64/fpu/s_ceilf.S: New file. * sysdeps/sparc/sparc64/fpu/s_rint.S: New file. * sysdeps/sparc/sparc64/fpu/s_rintf.S: New file.
* Update long-double sparc math ULPs missed by previous changes.David S. Miller2012-02-211-2/+18
| | | | | * sysdeps/sparc/sparc32/fpu/libm-test-ulps: More jn test ULP updates. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
* Tweak sparc32 longjmp to not store a dummy frame pointer onto the stack.David S. Miller2012-02-201-6/+4
| | | | | | | * sysdeps/sparc/sparc32/__longjmp.S: Unwind in the 'thread' path using a normal save/restore sequence, rather than allocating a dummy stack frame just to store a frame pointer and restore. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise.
* Use sparc GOTDATA relocations whenever possible.David S. Miller2012-02-202-22/+38
| | | | | | | | | | | | | | | | | * sysdeps/sparc/crti.S: Try to use GOTDATA relocs. * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise.
* Consolidate Sparc ELF configure fragments to one spot.David S. Miller2012-02-202-177/+0
| | | | | | | | | * sysdeps/sparc/sparc32/elf/configure.in: Delete. * sysdeps/sparc/sparc32/elf/configure: Delete. * sysdeps/sparc/sparc64/elf/configure.in: Delete. * sysdeps/sparc/sparc64/elf/configure: Delete. * sysdeps/sparc/elf/configure.in: New file. * sysdeps/sparc/elf/configure: Generate.
* Remove sparc WDISP22 configure checks, no longer used.David S. Miller2012-02-202-47/+0
| | | | | | | | * sysdeps/sparc/sparc32/elf/configure.in: Delete WDISP22 check. * sysdeps/sparc/sparc32/elf/configure: Regenerate. * sysdeps/sparc/sparc64/elf/configure.in: Likewise. * sysdeps/sparc/sparc64/elf/configure: Regenerate. * config.h.in (BROKEN_SPARC_WDISP22): Remove.
* Resort ULPs files with gen-libm-test.pl -n in C locale.Joseph Myers2012-02-201-5/+5
|
* Adjust SPARC ULPs to take into account the new jn tests.Aurelien Jarno2012-02-201-2/+40
|
* Move sparc away from the deprecated inifini.c scheme.David S. Miller2012-02-161-4/+0
| | | | | | | | | | | | | | / * sysdeps/sparc/Makefile: Add -fPIC when building crt{i,n}.S * sysdeps/sparc/crti.S: New file. * sysdeps/sparc/crtn.S: New file. * sysdeps/sparc/sparc32/Makefile: Remove initfini handling. * sysdeps/sparc/sparc64/Makefile: Likewise. nptl/ * sysdeps/sparc/Makefile: Add -fPIC when building pt-crti.S and crtn.S
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-0970-210/+140
|
* More fallout from supporting only ELFUlrich Drepper2012-01-081-5/+1
|
* Optimize libmUlrich Drepper2011-10-121-1/+2
| | | | | libm is now somewhat integrated with gcc's -ffinite-math-only option and lots of the wrapper functions have been optimized.
* Don't call ifunc functions in trace modeAndreas Schwab2011-10-051-4/+7
|
* Remove --wth-tls option, TLS support is requiredUlrich Drepper2011-09-112-26/+99
|
* Remove support for !USE___THREADUlrich Drepper2011-09-101-10/+3
|
* Remove support for automatic cvs check-insUlrich Drepper2011-09-081-4/+1
| | | | CVS use for glibc is long gone.
* Fixes and optimizations for 32-bit sparc fabs*().David S. Miller2011-09-054-13/+60
|
* Sanitize HWCAP_SPARC_* defines/usage, and add new entries.David S. Miller2011-09-012-6/+5
|
* Add an elf_ifunc_invoke interface so that architectures can implementDavid S. Miller2011-06-202-2/+14
| | | | the ifunc resolver calls however they wish.
* sparc: Fix LD_BIND_NOW with multiarch.David S. Miller2011-06-072-6/+7
|
* sparc: Optimize strlen using techniques from powerpc implementation.David S. Miller2010-03-092-82/+49
|
* sparc32: Fix non-v9 build failure in memcpy.David S. Miller2010-03-091-3/+20
|
* sparc32: Remove unused code.David S. Miller2010-03-042-383/+0
| | | | | | | 2010-03-04 David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Delete. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Delete.
* sparc: Use ba,a,pt in PLTs and fix bugs in R_SPARC_JMP_IREL handling.David S. Miller2010-03-032-7/+42
| | | | | | | | | | | | | | | | | | 2010-03-03 David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_lazy_rel): Must pass '1' for 't' argument to sparc_fixup_plt. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_lazy_rel): Likewise. * sysdeps/sparc/sparc32/dl-plt.h (OPCODE_BA_PT): Define. (sparc_fixup_plt): Document 't' argument. Enable branch optimization and use v9 branches when possible. Explain why we cannot unconditionally patch the branch into the first PLT instruction. * sysdeps/sparc/sparc64/dl-plt.h (sparc64_fixup_plt): Document 't' argument. Use v9 branches when possible. Explain why we can in fact unconditionally use a branch in the first PLT instruction here.
* sparc: Add multiarch support for memset/bzero/memcpy. davem/sparcDavid S. Miller2010-02-2512-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-02-25 David S. Miller <davem@davemloft.net> * sysdeps/sparc/elf/rtld-global-offsets.sym: New file. * sysdeps/sparc/Makefile (csu): Add rtld-global-offsets.sym to gen-as-const-headers. * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile: New file. * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: Move to... * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra3.S: ...here. * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: Move to... * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara1.S: ...here. * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: Move to... * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara1.S: ...here. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: Move to... * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara2.S: ...here. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: Removed. * sysdeps/sparc/sparc64/multiarch/Makefile: New file. * sysdeps/sparc/sparc64/sparcv9v/memcpy.S: Move to... * sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: ...here. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Move to... * sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: ...here. * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Move to... * sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: ...here. * sysdeps/sparc/sparc64/sparcv9v/memset.S: Move to... * sysdeps/sparc/sparc64/multiarch/memset-niagara1.S: ...here. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: Removed. * sysdeps/sparc/sparc64/multiarch/memcpy.S: New file. * sysdeps/sparc/sparc64/multiarch/memset.S: New file.
* sparc: Pull bcopy/memmove out of memcpy.S implementations.David S. Miller2010-02-255-350/+1
| | | | | | | | | | | | | | | | | 2010-02-25 David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc32/bcopy.c: Delete. * sysdeps/sparc/sparc32/memmove.c: Delete. * sysdeps/sparc/sparc32/sparcv9/bcopy.c: Delete. * sysdeps/sparc/sparc32/sparcv9/memmove.c: Delete. * sysdeps/sparc/sparc64/bcopy.c: Delete. * sysdeps/sparc/sparc64/memmove.c: Delete. * sysdeps/sparc/sparc64/memcopy.h: New. * sysdeps/sparc/sparc32/memcpy.S (bcopy, memmove): Remove. * sysdeps/sparc/sparc64/memcpy.S (bcopy, memmove): Likewise. * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (bcopy, memmove): Likewise. * sysdeps/sparc/sparc64/sparcv9v/memcpy.S (bcopy, memmove): Likewise. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S (bcopy, memmove): Likewise.
* Fix PLT rewrite when prelinking fails on 32-bit sparc.David S. Miller2010-02-201-6/+10
| | | | | | When prelinking fails we have to rewrite the PLT, but the code doing so forgets to adjust all rela->r_offset addresses by the location of where the object was actually mapped.
* Sparc STT_GNU_IFUNC supportDavid S. Miller2010-02-103-52/+146
|
* configure tweaks, support $libc_add_on_config_subdirsRoland McGrath2009-09-151-12/+12
|
* * sysdeps/powerpc/powerpc32/elf/start.S: Ensure .data is non-empty. cvs/fedora-glibc-20090414T2104Jakub Jelinek2009-04-141-1/+3
| | | | | | | | | | | | * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. 2009-04-14 Jakub Jelinek <jakub@redhat.com> * sysdeps/powerpc/powerpc32/elf/start.S: Ensure .data is non-empty. * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise.
* * sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build. Jakub Jelinek2008-05-061-0/+4
| | | | | | | | * sysdeps/sparc/sparc64/Makefile: Use -mcpu=v9 for initfini.s build. 2008-05-05 David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build. * sysdeps/sparc/sparc64/Makefile: Use -mcpu=v9 for initfini.s build.
* 2007-10-06 David S. Miller <davem@davemloft.net>Jakub Jelinek2007-10-192-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.in: Add sparcv9v2 and sparc64v2. * scripts/config.sub: Likewise. * configure: Regenerate. * elf/elf.h (HWCAP_SPARC_N2): New. * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8. * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'. (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file. 2007-10-06 David S. Miller <davem@davemloft.net> * configure.in: Add sparcv9v2 and sparc64v2. * scripts/config.sub: Likewise. * configure: Regenerate. * elf/elf.h (HWCAP_SPARC_N2): New. * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8. * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'. (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.
* * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup. cvs/fedora-glibc-20070918T1931Jakub Jelinek2007-09-181-6/+1
| | | | | | | | | | * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Likewise. * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Likewise.
* * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to... Jakub Jelinek2007-08-163-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here. New file. (ASI_PNF, ASI_BLK_P): Don't define. * sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to... * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here. New file. * sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to... * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here. New file. 2007-08-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to... * sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here. New file. (ASI_PNF, ASI_BLK_P): Don't define. * sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to... * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here. New file. * sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to... * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here. New file.