diff options
author | Ulrich Drepper <drepper@redhat.com> | 2008-03-08 07:35:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2008-03-08 07:35:10 +0000 |
commit | 7c22c7ec9a8170f3d1006ddf21d74cd9d2316332 (patch) | |
tree | fba9543f411d48001c40e81cd32b0ed44c0d5928 /elf | |
parent | 93025f9373f4efde62aab31aa03c4744fd3bed62 (diff) | |
download | glibc-7c22c7ec9a8170f3d1006ddf21d74cd9d2316332.tar glibc-7c22c7ec9a8170f3d1006ddf21d74cd9d2316332.tar.gz glibc-7c22c7ec9a8170f3d1006ddf21d74cd9d2316332.tar.bz2 glibc-7c22c7ec9a8170f3d1006ddf21d74cd9d2316332.zip |
[BZ #5786]
* elf/dl-sysdep.c: Undefine ROUND after use.
* sysdeps/generic/ldsodefs.h [HAVE_DL_DISCOVER_OSVERSION]
(struct rtld_global_ro): Add _dl_tls_get_addr_soft element.
* elf/rtld.c (rtld_global_ro): Initialize _dl_discover_osversion.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Move _dl_discover_osversion
to ...
* sysdeps/unix/sysv/linux/dl-sysdep.c: ...here.
* sysdeps/unix/sysv/linux/dl-sysdep.h: Declare _dl_discover_osversion
if necessary.
* sysdeps/unix/sysv/linux/sysconf.c: Handle _SC_ARG_MAX here.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-sysdep.c | 3 | ||||
-rw-r--r-- | elf/dl-tls.c | 1 | ||||
-rw-r--r-- | elf/rtld.c | 5 |
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 |