summaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-sysdep.c3
-rw-r--r--elf/dl-tls.c1
-rw-r--r--elf/rtld.c5
3 files changed, 6 insertions, 3 deletions
diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c
index 85e331a90f..dd55905e14 100644
--- a/elf/dl-sysdep.c
+++ b/elf/dl-sysdep.c
@@ -1,5 +1,5 @@
/* Operating system support for run-time dynamic linker. Generic Unix version.
- Copyright (C) 1995-1998, 2000-2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -398,6 +398,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
}
note = ((const void *) (note + 1)
+ ROUND (note->vendorlen) + ROUND (note->datalen));
+#undef ROUND
}
if (dsocaps != NULL)
break;
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
index deed47249f..76a3f25c0f 100644
--- a/elf/dl-tls.c
+++ b/elf/dl-tls.c
@@ -758,7 +758,6 @@ __tls_get_addr (GET_ADDR_ARGS)
/* Look up the module's TLS block as for __tls_get_addr,
but never touch anything. Return null if it's not allocated yet. */
void *
-attribute_hidden
_dl_tls_get_addr_soft (struct link_map *l)
{
if (__builtin_expect (l->l_tls_modid == 0, 0))
diff --git a/elf/rtld.c b/elf/rtld.c
index 9497e5d43f..46bece7fa3 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -162,7 +162,10 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
._dl_check_caller = _dl_check_caller,
._dl_open = _dl_open,
._dl_close = _dl_close,
- ._dl_tls_get_addr_soft = _dl_tls_get_addr_soft
+ ._dl_tls_get_addr_soft = _dl_tls_get_addr_soft,
+#ifdef HAVE_DL_DISCOVER_OSVERSION
+ ._dl_discover_osversion = _dl_discover_osversion
+#endif
};
/* If we would use strong_alias here the compiler would see a
non-hidden definition. This would undo the effect of the previous