This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Steve Munroe wrote:
> + _dl_vdso_sym; _dl_vdso_vsym;
There is no reason to add these symbols anywhere but ppc/linux. Despite
what you might want to believe, ppc/linux is not the only platform that
matters.
> diff -urN libc24-cvstip-20050427/elf/dl-vdso.c libc24/elf/dl-vdso.c
> --- libc24-cvstip-20050427/elf/dl-vdso.c Wed Dec 31 18:00:00 1969
> +++ libc24/elf/dl-vdso.c Thu Apr 28 17:26:43 2005
> @@ -0,0 +1,85 @@
Likewise for this file. Move in specific directory.
> + const ElfW(Sym) *ref = NULL;
> + struct link_map *map = GLRO(dl_sysinfo_map);
> + void *value = NULL;
> + lookup_t result;
> +
> + if (map != NULL )
> + {
> + /* Search the scope of the given vdso map. */
> + result = GLRO(dl_lookup_symbol_x) (name, map, &ref,
Haven't you paid any attention to the coding standard in all this time?
Fix the indentation.
> diff -urN libc24-cvstip-20050427/elf/rtld.c libc24/elf/rtld.c
> --- libc24-cvstip-20050427/elf/rtld.c 2005-04-07 15:56:48.000000000 -0500
> +++ libc24/elf/rtld.c 2005-04-27 15:52:25.000000000 -0500
> @@ -1274,6 +1274,13 @@
> elf_get_dynamic_info (l, dyn_temp);
> _dl_setup_hash (l);
> l->l_relocated = 1;
> + /* Initialize l_local_scope to contain just this map. This allows
> + the use of dl_lookup_symbol_x to resolve symbols within the vdso.
> + So we create a single entry list pointing to l_real as its only
> + element */
> +
> + l->l_local_scope[0]->r_nlist = 1;
> + l->l_local_scope[0]->r_list = &l->l_real;
They is this needed?
>
> /* Now that we have the info handy, use the DSO image's soname
> so this object can be looked up by name. Note that we do not
> diff -urN libc24-cvstip-20050427/sysdeps/powerpc/elf/libc-start.c libc24/sysdeps/powerpc/elf/libc-start.c
> --- libc24-cvstip-20050427/sysdeps/powerpc/elf/libc-start.c 2004-04-03 19:06:07.000000000 -0600
> +++ libc24/sysdeps/powerpc/elf/libc-start.c 2005-04-29 15:48:44.000000000 -0500
> @@ -18,6 +18,7 @@
> [...]
> +#ifdef SHARED
> +#undef __gettimeofday
> +#include <bits/libc-vdso.h>
> +
> +__typeof (__gettimeofday) *__vdso_gettimeofday attribute_hidden;
> +
> +#if __WORDSIZE == 64
> +typedef struct
> + {
> + void *func;
> + void *toc_ptr;
> + void *extra;
> + } _ppc_func_desciptor;
> +
> +static struct
> + {
> + _ppc_func_desciptor fd_gettimeofday;
> + } __vdso_descriptor;
> +#endif
That's ppc/linux specific and doesn't have any business being in this file.
> --- libc24-cvstip-20050427/sysdeps/unix/sysv/linux/Makefile 2004-10-04 18:29:06.000000000 -0500
> +++ libc24/sysdeps/unix/sysv/linux/Makefile 2005-04-28 16:32:00.000000000 -0500
> @@ -142,6 +142,7 @@
>
> ifeq ($(subdir),elf)
> sysdep-rtld-routines += dl-brk dl-sbrk
> +routines += dl-vdso
Once again, wrong file.
--
â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â
Attachment:
signature.asc
Description: OpenPGP digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |