diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-05-20 09:40:04 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-05-20 09:40:04 +0000 |
commit | 31f622b5c7ea544de23cfb85f0023069b613a8d5 (patch) | |
tree | 7d4cd37af8ee05b2c6b2b58410fd66cecd1aa694 /elf | |
parent | ec325445c659c89402ce8b877c429146b22084be (diff) | |
download | glibc-31f622b5c7ea544de23cfb85f0023069b613a8d5.tar glibc-31f622b5c7ea544de23cfb85f0023069b613a8d5.tar.gz glibc-31f622b5c7ea544de23cfb85f0023069b613a8d5.tar.bz2 glibc-31f622b5c7ea544de23cfb85f0023069b613a8d5.zip |
Updated to fedora-glibc-20050520T0919
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-support.c | 4 | ||||
-rw-r--r-- | elf/elf.h | 18 |
2 files changed, 12 insertions, 10 deletions
diff --git a/elf/dl-support.c b/elf/dl-support.c index d20e9a4048..483b132b43 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -173,7 +173,7 @@ _dl_aux_init (ElfW(auxv_t) *av) GLRO(dl_clktck) = av->a_un.a_val; break; case AT_PHDR: - GL(dl_phdr) = av->a_un.a_ptr; + GL(dl_phdr) = (void *) av->a_un.a_val; break; case AT_PHNUM: GL(dl_phnum) = av->a_un.a_val; @@ -188,7 +188,7 @@ _dl_aux_init (ElfW(auxv_t) *av) #endif #if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO case AT_SYSINFO_EHDR: - GL(dl_sysinfo_dso) = av->a_un.a_ptr; + GL(dl_sysinfo_dso) = (void *) av->a_un.a_val; break; #endif case AT_UID: @@ -899,23 +899,25 @@ typedef struct typedef struct { - int a_type; /* Entry type */ + uint32_t a_type; /* Entry type */ union { - long int a_val; /* Integer value */ - void *a_ptr; /* Pointer value */ - void (*a_fcn) (void); /* Function pointer value */ + uint32_t a_val; /* Integer value */ + /* We use to have pointer elements added here. We cannot do that, + though, since it does not work when using 32-bit definitions + on 64-bit platforms and vice versa. */ } a_un; } Elf32_auxv_t; typedef struct { - long int a_type; /* Entry type */ + uint64_t a_type; /* Entry type */ union { - long int a_val; /* Integer value */ - void *a_ptr; /* Pointer value */ - void (*a_fcn) (void); /* Function pointer value */ + uint64_t a_val; /* Integer value */ + /* We use to have pointer elements added here. We cannot do that, + though, since it does not work when using 32-bit definitions + on 64-bit platforms and vice versa. */ } a_un; } Elf64_auxv_t; |