about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/configure
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-04-14 21:46:37 +0000
committerUlrich Drepper <drepper@redhat.com>2005-04-14 21:46:37 +0000
commitedac0e8f443c332821a63e4f26e298a1622827fe (patch)
tree120a94bb8e7ff4f2fd6bc9975ea3c20758596eda /sysdeps/unix/sysv/linux/configure
parent506cbf1f43a3bba63b9f4dd6d5a9a1d15f0dcf2c (diff)
downloadglibc-edac0e8f443c332821a63e4f26e298a1622827fe.tar.gz
glibc-edac0e8f443c332821a63e4f26e298a1622827fe.tar.xz
glibc-edac0e8f443c332821a63e4f26e298a1622827fe.zip
Add sparc64 TLS and NPTL support.
	* elf/tls-macros.h: Add Sparc64 defines.
	* sysdeps/sparc/sparc64/dl-machine.h (sparc64_fixup_plt): Mark as
	always_inline.
	(elf_machine_fixup_plt): Likewise.
	(elf_machine_rela): Handle TLS relocations.
	(elf_machine_type_cleaa): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(SYSCALL_ERROR_HANDLER_ENTRY): Use sethi/or for GOT reloc.
	It does not always fit in R_SPARC_GOT13 when building -fPIC.
	Also, add TLS handling.
	* sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
	Increase it to 2.4.21 for sparc64.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: NULL terminate
	backtrace by zero'ing out %fp.  Store away flags, func_ptr,
	and func_arg in global registers not local registers.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Handle PTID, TLS,
	and CTID arguments properly.  Add RESET_PID handling.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Rework so that we
	do not invoke __sigprocmask().  We can always assume rt signals
	are present on sparc64, so just do an inline syscall.

2005-04-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/dl-machine.h: Add dl_machine_h multiple
	inclusion guard for the first half of the header.
	(elf_machine_type_class, ELF_MACHINE_JMP_SLOT, ELF_MACHINE_NO_REL,
	ELF_MACHINE_PLTREL_OVERLAP, elf_machine_runtime_setup,
	elf_machine_relplt, DL_STACK_END, RTLD_START): Move into the
	#ifndef dl_machine_h guarded part of the header.
Diffstat (limited to 'sysdeps/unix/sysv/linux/configure')
-rw-r--r--sysdeps/unix/sysv/linux/configure4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index d059143396..325073c62c 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -138,6 +138,10 @@ case "$machine" in
     arch_minimum_kernel=2.3.99
     libc_cv_gcc_unwind_find_fde=yes
     ;;
+  sparc/sparc64*)
+    libc_cv_gcc_unwind_find_fde=yes
+    arch_minimum_kernel=2.4.21
+    ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
     arch_minimum_kernel=2.0.10