diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-08-12 19:33:45 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-08-12 19:33:45 +0000 |
commit | fb86328ad89bed5340882b8c9f245ba93189a55c (patch) | |
tree | fe272ce0e56aa9f21bee9da95159aadde03af133 /sysdeps/unix/sysv/linux/dl-vdso.h | |
parent | 75fb247e69ede25fb49929fed7535a091a4f6934 (diff) | |
download | glibc-fb86328ad89bed5340882b8c9f245ba93189a55c.tar.gz glibc-fb86328ad89bed5340882b8c9f245ba93189a55c.tar.xz glibc-fb86328ad89bed5340882b8c9f245ba93189a55c.zip |
* sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Expect
r_found_version structure as second parameter. * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Define. (_dl_vdso_vsym): Change type of second parameter accordingly. * sysdeps/unix/sysv/linux/x86-64/libc-start.c (_libc_vdso_platform_setup): Adjust. * sysdeps/unix/sysv/linux/pwoerpc/libc-start.c (_libc_vdso_platform_setup): Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/dl-vdso.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-vdso.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h index a7dcb2e5ff..0a76dbe6f3 100644 --- a/sysdeps/unix/sysv/linux/dl-vdso.h +++ b/sysdeps/unix/sysv/linux/dl-vdso.h @@ -1,5 +1,5 @@ /* ELF symbol resolve functions for VDSO objects. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 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 @@ -20,8 +20,25 @@ #ifndef _DL_VDSO_H #define _DL_VDSO_H 1 +#include <assert.h> +#include <dl-hash.h> +#include <ldsodefs.h> + + +/* Create version number record for lookup. */ +#define PREPARE_VERSION(var, vname, vhash) \ + struct r_found_version var; \ + var.name = vname; \ + var.hidden = 1; \ + var.hash = vhash; \ + assert (var.hash == _dl_elf_hash (vname)); \ + /* We don't have a specific file where the symbol can be found. */ \ + var.filename = NULL + + /* Functions for resolving symbols in the VDSO link map. */ -extern void *_dl_vdso_vsym (const char *name, const char *version) +extern void *_dl_vdso_vsym (const char *name, + const struct r_found_version *version) internal_function attribute_hidden; #endif /* dl-vdso.h */ |