On 01/11/2011 23.51, William Pitcock wrote:
> Casting a pointer to Elf32_Addr type will discard 32 bits from the
> pointer address.  Using unsigned long ensures that a pointer is 64-bit
> safe.
> 
> Signed-off-by: William Pitcock <[email protected]>
> ---
>  ldso/libdl/libdl.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
> index c164ffb..12eb311 100644
> --- a/ldso/libdl/libdl.c
> +++ b/ldso/libdl/libdl.c
> @@ -715,7 +715,7 @@ void *dlsym(void *vhandle, const char *name)
>       if (sym_ref.sym && (ELF_ST_TYPE(sym_ref.sym->st_info) == STT_TLS) && 
> (sym_ref.tpnt)) {
>               /* The found symbol is a thread-local storage variable.
>               Return its address for the current thread.  */
> -             ret = _dl_tls_symaddr ((struct link_map *)sym_ref.tpnt, 
> (Elf32_Addr)ret);
> +             ret = _dl_tls_symaddr ((struct link_map *)sym_ref.tpnt, 
> (unsigned long) ret);

what about using the macro ElfW(Addr) ?

carmelo

>       }
>  #endif
>  

_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to