about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-01-07 23:14:21 +0000
committerUlrich Drepper <drepper@redhat.com>2005-01-07 23:14:21 +0000
commit2413fdba7a02ba8916f75d17199a6e9133a8f7b0 (patch)
treecf40b3f04dc99bbdb0559858b7c98298e69768db /sysdeps/generic
parentae7f5313dfb6c9df557d3904a22ac74d3347eed1 (diff)
downloadglibc-2413fdba7a02ba8916f75d17199a6e9133a8f7b0.tar.gz
glibc-2413fdba7a02ba8916f75d17199a6e9133a8f7b0.tar.xz
glibc-2413fdba7a02ba8916f75d17199a6e9133a8f7b0.zip
Update.
	* sysdeps/powerpc/powerpc64/dl-trampoline.S: Use register names.

	* sysdeps/powerpc/powerpc32/dl-trampoline.S: New file.
	* sysdeps/powerpc/powerpc32/dl-machine.h: Remove trampoline code here.
	Define ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
	* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add ppc32 variants.
	* elf/tst-auditmod1.c: Add ppc32 support.
	* sysdeps/powerpc/powerpc32/bits/link.h: New file.
	* sysdeps/powerpc/powerpc64/bits/link.h: Add ppc32 definitions.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/ldsodefs.h35
1 files changed, 21 insertions, 14 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 108b63b186..909f309e7f 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -179,6 +179,8 @@ struct La_i86_regs;
 struct La_i86_retval;
 struct La_x86_64_regs;
 struct La_x86_64_retval;
+struct La_ppc32_regs;
+struct La_ppc32_retval;
 struct La_ppc64_regs;
 struct La_ppc64_retval;
 
@@ -198,20 +200,22 @@ struct audit_ifaces
   };
   union
   {
-    uintptr_t (*i86_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
-				   uintptr_t *, const struct La_i86_regs *,
-				   unsigned int *, const char *name,
-				   long int *framesizep);
-    uintptr_t (*x86_64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
-				      uintptr_t *,
-				      const struct La_x86_64_regs *,
+    Elf32_Addr (*i86_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
+				    uintptr_t *, struct La_i86_regs *,
+				    unsigned int *, const char *name,
+				    long int *framesizep);
+    Elf64_Addr (*x86_64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
+				       uintptr_t *, struct La_x86_64_regs *,
+				       unsigned int *, const char *name,
+				       long int *framesizep);
+    Elf32_Addr (*ppc32_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
+				      uintptr_t *, struct La_ppc32_regs *,
+				      unsigned int *, const char *name,
+				      long int *framesizep);
+    Elf64_Addr (*ppc64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
+				      uintptr_t *, struct La_ppc64_regs *,
 				      unsigned int *, const char *name,
 				      long int *framesizep);
-    uintptr_t (*ppc64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
-				     uintptr_t *,
-				     const struct La_ppc64_regs *,
-				     unsigned int *, const char *name,
-				     long int *framesizep);
   };
   union
   {
@@ -223,11 +227,14 @@ struct audit_ifaces
 					const struct La_x86_64_regs *,
 					struct La_x86_64_retval *,
 					const char *);
+    unsigned int (*ppc32_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
+				       uintptr_t *,
+				       const struct La_ppc32_regs *,
+				       struct La_ppc32_retval *, const char *);
     unsigned int (*ppc64_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
 				       uintptr_t *,
 				       const struct La_ppc64_regs *,
-				       struct La_ppc64_retval *,
-				       const char *);
+				       struct La_ppc64_retval *, const char *);
   };
   unsigned int (*objclose) (uintptr_t *);