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] | |
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] |