aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-07-26 01:39:53 +0000
committerUlrich Drepper <drepper@redhat.com>2001-07-26 01:39:53 +0000
commit045fcd26211f27400df0bec5d40f7b69d8af7e9b (patch)
tree601101edd7558d10afbdafe1b4653fa5adb53f1f /linuxthreads/sysdeps/sh
parent370f00c3a7bfaa50b091a8cbf049c5d3c92639ab (diff)
downloadglibc-045fcd26211f27400df0bec5d40f7b69d8af7e9b.tar
glibc-045fcd26211f27400df0bec5d40f7b69d8af7e9b.tar.gz
glibc-045fcd26211f27400df0bec5d40f7b69d8af7e9b.tar.bz2
glibc-045fcd26211f27400df0bec5d40f7b69d8af7e9b.zip
Update.
2001-07-26 kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/dl-machine.h (elf_machine_load_address): Don't use multi-line strings. (FUN_ADDR, FGR_SAVE, ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. (elf_machine_rela): Handle unaligned relocation.
Diffstat (limited to 'linuxthreads/sysdeps/sh')
-rw-r--r--linuxthreads/sysdeps/sh/pt-machine.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/linuxthreads/sysdeps/sh/pt-machine.h b/linuxthreads/sysdeps/sh/pt-machine.h
index cdffeceee6..7287dc936b 100644
--- a/linuxthreads/sysdeps/sh/pt-machine.h
+++ b/linuxthreads/sysdeps/sh/pt-machine.h
@@ -44,3 +44,13 @@ testandset (int *spinlock)
of the stack, just something somewhere in the current frame. */
#define CURRENT_STACK_FRAME stack_pointer
register char * stack_pointer __asm__ ("r15");
+
+/* Return the thread descriptor for the current thread. */
+struct _pthread_descr_struct;
+#define THREAD_SELF \
+ ({ struct _pthread_descr_struct *self; \
+ __asm__("stc gbr,%0" : "=r" (self)); self;})
+
+/* Initialize the thread-unique value. */
+#define INIT_THREAD_SELF(descr, nr) \
+ ({ __asm__("ldc %0,gbr" : : "r" (descr));})