aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/ia64/tls.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-12-29 17:59:41 +0000
committerUlrich Drepper <drepper@redhat.com>2003-12-29 17:59:41 +0000
commit447777715a7d19266686b09f4eb1e71238d9568a (patch)
treedf290aca4d15563279d3c33486ab22d3babcaff7 /linuxthreads/sysdeps/ia64/tls.h
parenta96c63edd2c1b291741d443ba4e93144168eca72 (diff)
downloadglibc-447777715a7d19266686b09f4eb1e71238d9568a.tar
glibc-447777715a7d19266686b09f4eb1e71238d9568a.tar.gz
glibc-447777715a7d19266686b09f4eb1e71238d9568a.tar.bz2
glibc-447777715a7d19266686b09f4eb1e71238d9568a.zip
Update.
2003-12-29 Jakub Jelinek <jakub@redhat.com> * posix/regexec.c (re_copy_regs): Revert comment change. Avoid memory leak if realloc fails. (proceed_next_node): Return -2 if re_node_set_insert fails. Return -2 if push_fail_stack fails. (push_fail_stack): Change fs->alloc only after successful realloc. (pop_fail_stack): Formatting. (set_regs): If proceed_next_node returns -2, free eps_via_nodes and fs. (check_arrival_add_next_nodes): Merge identical statements from if branches. * signal/Makefile (tests): Add tst-raise. * signal/tst-raise.c: New test.
Diffstat (limited to 'linuxthreads/sysdeps/ia64/tls.h')
-rw-r--r--linuxthreads/sysdeps/ia64/tls.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/ia64/tls.h b/linuxthreads/sysdeps/ia64/tls.h
index db810d1872..49ca977c1c 100644
--- a/linuxthreads/sysdeps/ia64/tls.h
+++ b/linuxthreads/sysdeps/ia64/tls.h
@@ -22,6 +22,7 @@
#ifndef __ASSEMBLER__
+# include <dl-sysdep.h>
# include <pt-machine.h>
# include <stddef.h>
@@ -80,11 +81,18 @@ typedef struct
# define GET_DTV(tcbp) \
(((tcbhead_t *) (tcbp))->dtv)
+#if defined NEED_DL_SYSINFO
+# define INIT_SYSINFO \
+ (((tcbhead_t *)__thread_self)->private = GL(dl_sysinfo))
+#else
+# define INIT_SYSINFO 0
+#endif
+
/* Code to initially initialize the thread pointer. This might need
special attention since 'errno' is not yet available and if the
operation can cause a failure 'errno' must not be touched. */
# define TLS_INIT_TP(tcbp, secondcall) \
- (__thread_self = (__typeof (__thread_self)) (tcbp), NULL)
+ (__thread_self = (__typeof (__thread_self)) (tcbp), INIT_SYSINFO, NULL)
/* Return the address of the dtv for the current thread. */
# define THREAD_DTV() \