aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc32
AgeCommit message (Collapse)Author
2012-03-15Sparc long double is emulated in software, therefore use dbl-64's s_fma.cDavid S. Miller
* sysdeps/sparc/sparc32/fpu/s_fma.c: New file. * sysdeps/sparc/sparc64/fpu/s_fma.c: New file.
2012-03-15Create a header for sparc ifunc expansion and use it for VIS3 ifuncs.David S. Miller
* 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.
2012-03-15Sparc optimized fmin{,f} and fmax{,f}.David S. Miller
* 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.
2012-03-15Add more sparc VIS3 optimized math routines.David S. Miller
* 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.
2012-03-14Add framework for using sparc VIS3 instructions, use it for copysign/signbit.David S. Miller
* 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.
2012-03-09Fix bugs in sparc PLT profiling register management, and add sparc sotruss ↵David S. Miller
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.
2012-03-02Add sparc optimized {l,}rint{,f} for 32-bit v9 and 64-bit.David S. Miller
* 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.
2012-03-01Optimized sparc assembler for signbit{,f,l} and some variants of isnan.David S. Miller
* 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.
2012-03-01Sparc doesn't need seperate 32-bit and 64-bit ulps files.David S. Miller
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Move... * sysdeps/sparc/fpu/libm-test-ulps: to here. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Delete.
2012-03-01Remove sparc binutils GOTDATA checks in lieu of new minimum version requirement.David S. Miller
* 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.
2012-02-28Add sparc optimized sqrt{,f}.David S. Miller
* 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.
2012-02-28Add optimized copysign for sparc.David S. Miller
* 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.
2012-02-27Optimized sparc floor{,f} routines.David S. Miller
* 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.
2012-02-27Fix %fp/%sp typo in new sparc ceil{,f} assembler.David S. Miller
* 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.
2012-02-27Fix comment formatting in new optimized sparc math files.David S. Miller
2012-02-27Optimized sparc ceil{,f} and rint{,f} routines.David S. Miller
* 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.
2012-02-21Update long-double sparc math ULPs missed by previous changes.David S. Miller
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: More jn test ULP updates. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
2012-02-20Tweak sparc32 longjmp to not store a dummy frame pointer onto the stack.David S. Miller
* 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.
2012-02-20Use sparc GOTDATA relocations whenever possible.David S. Miller
* 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.
2012-02-20Consolidate Sparc ELF configure fragments to one spot.David S. Miller
* 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.
2012-02-20Remove sparc WDISP22 configure checks, no longer used.David S. Miller
* 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.
2012-02-20Resort ULPs files with gen-libm-test.pl -n in C locale.Joseph Myers
2012-02-20Adjust SPARC ULPs to take into account the new jn tests.Aurelien Jarno
2012-02-16Move sparc away from the deprecated inifini.c scheme.David S. Miller
/ * 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
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2012-01-08More fallout from supporting only ELFUlrich Drepper
2011-10-12Optimize libmUlrich Drepper
libm is now somewhat integrated with gcc's -ffinite-math-only option and lots of the wrapper functions have been optimized.
2011-10-05Don't call ifunc functions in trace modeAndreas Schwab
2011-09-11Remove --wth-tls option, TLS support is requiredUlrich Drepper
2011-09-10Remove support for !USE___THREADUlrich Drepper
2011-09-08Remove support for automatic cvs check-insUlrich Drepper
CVS use for glibc is long gone.
2011-09-05Fixes and optimizations for 32-bit sparc fabs*().David S. Miller
2011-09-01Sanitize HWCAP_SPARC_* defines/usage, and add new entries.David S. Miller
2011-06-20Add an elf_ifunc_invoke interface so that architectures can implementDavid S. Miller
the ifunc resolver calls however they wish.
2011-06-07sparc: Fix LD_BIND_NOW with multiarch.David S. Miller
2010-03-09sparc: Optimize strlen using techniques from powerpc implementation.David S. Miller
2010-03-09sparc32: Fix non-v9 build failure in memcpy.David S. Miller
2010-03-04sparc32: Remove unused code.David S. Miller
2010-03-04 David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Delete. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Delete.
2010-03-03sparc: Use ba,a,pt in PLTs and fix bugs in R_SPARC_JMP_IREL handling.David S. Miller
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.
2010-02-25sparc: Add multiarch support for memset/bzero/memcpy.davem/sparcDavid S. Miller
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.
2010-02-25sparc: Pull bcopy/memmove out of memcpy.S implementations.David S. Miller
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.
2010-02-20Fix PLT rewrite when prelinking fails on 32-bit sparc.David S. Miller
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.
2010-02-10Sparc STT_GNU_IFUNC supportDavid S. Miller
2009-09-15configure tweaks, support $libc_add_on_config_subdirsRoland McGrath
2009-04-14* sysdeps/powerpc/powerpc32/elf/start.S: Ensure .data is non-empty. cvs/fedora-glibc-20090414T2104Jakub Jelinek
* 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.
2008-05-06* sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build. Jakub Jelinek
* 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-192007-10-06 David S. Miller <davem@davemloft.net>Jakub Jelinek
* 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.
2007-09-18* sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup. cvs/fedora-glibc-20070918T1931Jakub Jelinek
* 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.
2007-08-16* sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to... Jakub Jelinek
* 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.
2007-08-14* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No Jakub Jelinek
need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9. (sparc_fixup_plt): Add do_flush argument instead of figuring whether flush should be used or not inside of the function. (elf_machine_fixup_plt, elf_machine_rela): Adjust caller. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone, __thread_start): Use HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone, __thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define. nptl/ * sysdeps/unix/sysv/linux/lowlevellock.c: Comment fix. * sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c (__lll_timedwait_tid): Pass LLL_SHARED as 4th argument to lll_futex_timed_wait. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9. (sparc_fixup_plt): Add do_flush argument instead of figuring whether flush should be used or not inside of the function. (elf_machine_fixup_plt, elf_machine_rela): Adjust caller. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone, __thread_start): Use HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone, __thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.