aboutsummaryrefslogtreecommitdiff
path: root/elf/tst-auditmod1.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-03-21 17:14:49 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-03-21 17:14:49 -0700
commitc8e43ba739d696b3ff9a7b71786de8fab92950bc (patch)
tree74c34c4a6c88aa8adce8a4e5524e0fd89aff3121 /elf/tst-auditmod1.c
parentdcb33988382dd79655cc9efbafe2981de0be5d12 (diff)
downloadglibc-c8e43ba739d696b3ff9a7b71786de8fab92950bc.tar
glibc-c8e43ba739d696b3ff9a7b71786de8fab92950bc.tar.gz
glibc-c8e43ba739d696b3ff9a7b71786de8fab92950bc.tar.bz2
glibc-c8e43ba739d696b3ff9a7b71786de8fab92950bc.zip
Add x32 support to dynamic linker audit
Diffstat (limited to 'elf/tst-auditmod1.c')
-rw-r--r--elf/tst-auditmod1.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/elf/tst-auditmod1.c b/elf/tst-auditmod1.c
index 69da278f28..67fc758ac3 100644
--- a/elf/tst-auditmod1.c
+++ b/elf/tst-auditmod1.c
@@ -109,10 +109,17 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
# define La_retval La_i86_retval
# define int_retval lrv_eax
#elif defined __x86_64__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
+# ifdef __LP64__
+# define pltenter la_x86_64_gnu_pltenter
+# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
+# else
+# define pltenter la_x32_gnu_pltenter
+# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
+# endif
# define int_retval lrv_rax
#elif defined __powerpc__ && __WORDSIZE == 32
# define pltenter la_ppc32_gnu_pltenter
@@ -188,7 +195,8 @@ pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
const char *symname)
{
printf ("pltexit: symname=%s, st_value=%#lx, ndx=%u, retval=%tu\n",
- symname, (long int) sym->st_value, ndx, outregs->int_retval);
+ symname, (long int) sym->st_value, ndx,
+ (ptrdiff_t) outregs->int_retval);
return 0;
}