This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Assorted alpha glibc fixes


Hi!

This is what I had to apply to make glibc build on alpha.
There are still many testsuite failures, but they all seem to be unrelated to
this (lots of regex tests failed (which work on all other arches and there
is nothing arch specific about that, maybe b0rken compiler), some math
test failures, backtrace failures, 2 aio failures).
Richard, I hope doing jsr ra, __errno_location is the right thing to do
for librt.so (__errno_location symbol is defined only in libc.so and
libpthread.so, not in librt.so, so it can't be !samegp).
I was testing this on a kernel without POSIX mq support, so this
hunk probably did not get as much testing as it ought to.

2004-06-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo.

	[BZ #231]
	* sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp
	relocation in librt.so.

	[BZ #230]
	* sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load
	_dl_skip_args.  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
nptl/
	* sysdeps/alpha/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define
	unconditionally.

--- libc/sysdeps/unix/alpha/sysdep.S.jj	2003-01-17 11:19:55.000000000 -0800
+++ libc/sysdeps/unix/alpha/sysdep.S	2004-06-28 12:33:47.000000000 -0700
@@ -1,4 +1,5 @@
-/* Copyright (C) 1993, 1996, 1998, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1996, 1998, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -95,7 +96,7 @@ __syscall_error:
 	PROLOGUE
 
 	/* Find our per-thread errno address  */
-#ifdef PIC
+#if defined PIC && !defined IS_IN_librt
 	bsr	ra, __errno_location	!samegp
 #else
 	jsr	ra, __errno_location
--- libc/sysdeps/unix/alpha/sysdep.h.jj	2004-01-15 22:04:53.000000000 -0800
+++ libc/sysdeps/unix/alpha/sysdep.h	2004-06-28 08:51:09.000000000 -0700
@@ -1,4 +1,5 @@
-/* Copyright (C) 1992, 1995, 1996, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -364,7 +365,7 @@ __LABEL(name)						\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8"		\
 	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19) "=r"(_sc_16), "=r"(_sc_17),		\
+	     "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),		\
 	     "=r"(_sc_18), "=r"(_sc_20), "=r"(_sc_21)		\
 	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), "4"(_sc_18),	\
 	     "1"(_sc_19), "5"(_sc_20), "6"(_sc_21)		\
--- libc/sysdeps/alpha/dl-machine.h.jj	2004-03-05 02:20:29.000000000 -0800
+++ libc/sysdeps/alpha/dl-machine.h	2004-06-28 08:59:52.000000000 -0700
@@ -321,7 +321,8 @@ _dl_start_user:							\n\
 	mov	$0, $9						\n\
 	/* See if we were run as a command with the executable	\n\
 	   file name as an extra leading argument.  */		\n\
-	ldl	$1, _dl_skip_args($gp)	!gprel			\n\
+	ldah	$1, _dl_skip_args($gp)	!gprelhigh		\n\
+	ldl	$1, _dl_skip_args($1)	!gprellow		\n\
 	bne	$1, $fixup_stack				\n\
 $fixup_stack_ret:						\n\
 	/* The special initializer gets called with the stack	\n\
--- libc/nptl/sysdeps/alpha/tcb-offsets.sym.jj	2004-03-11 13:34:25.000000000 -0800
+++ libc/nptl/sysdeps/alpha/tcb-offsets.sym	2004-06-28 12:22:33.000000000 -0700
@@ -7,7 +7,5 @@
 # define __builtin_thread_pointer()  ((void *) 0)
 # define thread_offsetof(mem)	     ((void *) &THREAD_SELF->mem - (void *) 0)
 
-#if TLS_MULTIPLE_THREADS_IN_TCB
 MULTIPLE_THREADS_OFFSET		thread_offsetof (header.multiple_threads)
-#endif
 PID_OFFSET			thread_offsetof (pid)

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]