diff options
author | Richard Henderson <rth@twiddle.net> | 2012-05-25 10:30:42 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2012-05-25 10:30:42 -0700 |
commit | a386f1cc229e7de02740bef18bdd5d272d1e7537 (patch) | |
tree | c3ae8cdeed360682a0806dc0c0d4d5fa600aa229 /sysdeps/powerpc/powerpc64 | |
parent | db5013c65440b3fa87d7849c4d45d707807670de (diff) | |
download | glibc-a386f1cc229e7de02740bef18bdd5d272d1e7537.tar.gz glibc-a386f1cc229e7de02740bef18bdd5d272d1e7537.tar.xz glibc-a386f1cc229e7de02740bef18bdd5d272d1e7537.zip |
ppc: Pass hwcap to ifuncs.
* sysdeps/powerpc/powerpc32/dl-irel.h (elf_ifunc_invoke): Pass dl_hwcap to ifunc resolver. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Use elf_ifunc_invoke. * sysdeps/powerpc/powerpc64/dl-irel.h (elf_ifunc_invoke): Pass dl_hwcap to ifunc resolver. * sysdeps/powerpc/powerpc64/dl-machine.h (resolve_ifunc): Likewise.
Diffstat (limited to 'sysdeps/powerpc/powerpc64')
-rw-r--r-- | sysdeps/powerpc/powerpc64/dl-irel.h | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/dl-machine.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/powerpc/powerpc64/dl-irel.h b/sysdeps/powerpc/powerpc64/dl-irel.h index 7270275945..ced0f3f6d8 100644 --- a/sysdeps/powerpc/powerpc64/dl-irel.h +++ b/sysdeps/powerpc/powerpc64/dl-irel.h @@ -1,6 +1,6 @@ /* Machine-dependent ELF indirect relocation inline functions. PowerPC64 version. - Copyright (C) 2009, 2011 Free Software Foundation, Inc. + Copyright (C) 2009-2012 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 @@ -31,7 +31,7 @@ static inline Elf64_Addr __attribute ((always_inline)) elf_ifunc_invoke (Elf64_Addr addr) { - return ((Elf64_Addr (*) (void)) (addr)) (); + return ((Elf64_Addr (*) (unsigned long int)) (addr)) (GLRO(dl_hwcap)); } static inline void diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h index a964a29e38..7c7d768998 100644 --- a/sysdeps/powerpc/powerpc64/dl-machine.h +++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -545,7 +545,7 @@ resolve_ifunc (Elf64_Addr value, value = (Elf64_Addr) &opd; } #endif - return ((Elf64_Addr (*) (void)) value) (); + return ((Elf64_Addr (*) (unsigned long int)) value) (GLRO(dl_hwcap)); } /* Perform the relocation specified by RELOC and SYM (which is fully |