summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/arc
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2015-07-11 10:51:46 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2015-07-11 10:51:46 +0200
commit23424547146e9fd407af501c154656f0688862af (patch)
tree3b0fa18a2ba448f383b62443095057e4cea60ad9 /libpthread/nptl/sysdeps/arc
parent7ad3d87d74dfb9eff68ad1686be400154134a731 (diff)
parent449109519492266410421310ee09ff4a10d7c175 (diff)
Merge branch '1.0' of git+ssh://uclibc-ng.org/git/uclibc-ng into 1.0
Diffstat (limited to 'libpthread/nptl/sysdeps/arc')
-rw-r--r--libpthread/nptl/sysdeps/arc/tls.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/libpthread/nptl/sysdeps/arc/tls.h b/libpthread/nptl/sysdeps/arc/tls.h
index 63dd11398..4af415a1c 100644
--- a/libpthread/nptl/sysdeps/arc/tls.h
+++ b/libpthread/nptl/sysdeps/arc/tls.h
@@ -104,8 +104,11 @@ typedef struct
operation can cause a failure 'errno' must not be touched. */
# define TLS_INIT_TP(tcbp, secondcall) \
({ \
- __builtin_set_thread_pointer(tcbp); \
- NULL; \
+ long result_var; \
+ __builtin_set_thread_pointer(tcbp); \
+ result_var = INTERNAL_SYSCALL (arc_settls, err, 1, (tcbp)); \
+ INTERNAL_SYSCALL_ERROR_P (result_var, err) \
+ ? "unknown error" : NULL; \
})
/* Return the address of the dtv for the current thread.