aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic/dl-tls.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic/dl-tls.c')
-rw-r--r--sysdeps/generic/dl-tls.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c
index cb46460d25..2b47195c96 100644
--- a/sysdeps/generic/dl-tls.c
+++ b/sysdeps/generic/dl-tls.c
@@ -240,7 +240,7 @@ _dl_allocate_tls_storage (void)
return result;
}
-INTDEF(_dl_allocate_tls)
+
void *
internal_function
@@ -250,6 +250,10 @@ _dl_allocate_tls_init (void *result)
struct dtv_slotinfo_list *listp;
size_t total = 0;
+ if (result == NULL)
+ /* The memory allocation failed. */
+ return NULL;
+
/* We have to look prepare the dtv for all currently loaded
modules using TLS. For those which are dynamically loaded we
add the values indicating deferred allocation. */
@@ -315,6 +319,8 @@ _dl_allocate_tls (void)
{
return _dl_allocate_tls_init (_dl_allocate_tls_storage ());
}
+INTDEF(_dl_allocate_tls)
+
void
internal_function