about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-01-29 00:07:16 +0000
committerUlrich Drepper <drepper@redhat.com>2005-01-29 00:07:16 +0000
commitbb38d32c233ff7b2323ac273c09556c0d5884391 (patch)
tree12798fde95e1aef6251c67093ef825cb58265d33 /sysdeps/generic
parentd0d4c71e3409365201c03db05510d99d734b83c0 (diff)
downloadglibc-bb38d32c233ff7b2323ac273c09556c0d5884391.tar.gz
glibc-bb38d32c233ff7b2323ac273c09556c0d5884391.tar.xz
glibc-bb38d32c233ff7b2323ac273c09556c0d5884391.zip
Update.
	* sysdeps/s390/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-trampoline.S: New file.
	* sysdeps/s390/s390-64/dl-trampoline.S: New file.
	* sysdeps/s390/s390-32/dl-machine.h: Move PLT trampolines to
	dl-trampoline.S. Use RESOLVE_MAP instead of RESOLVE to protect
	relocation code.
	(elf_machine_runtime_setup): Test for dl_profile non-null.
	(elf_machine_rela): Remove code using RESOLVE.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/generic/ldsodefs.h (La_s390_32_regs, La_s390_32_retval,
	La_s390_64_regs, La_s390_64_retval): New.
	* elf/tst-auditmod1.c: Add s390 entries.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/ldsodefs.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 29588207d1..14c49d7df2 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -189,6 +189,10 @@ struct La_m68k_regs;
 struct La_m68k_retval;
 struct La_alpha_regs;
 struct La_alpha_retval;
+struct La_s390_32_regs;
+struct La_s390_32_retval;
+struct La_s390_64_regs;
+struct La_s390_64_retval;
 
 struct audit_ifaces
 {
@@ -233,6 +237,14 @@ struct audit_ifaces
 				      uintptr_t *, struct La_alpha_regs *,
 				      unsigned int *, const char *name,
 				      long int *framesizep);
+    Elf32_Addr (*s390_32_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
+					uintptr_t *, struct La_s390_32_regs *,
+					unsigned int *, const char *name,
+					long int *framesizep);
+    Elf64_Addr (*s390_64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
+					uintptr_t *, struct La_s390_64_regs *,
+					unsigned int *, const char *name,
+					long int *framesizep);
   };
   union
   {
@@ -262,6 +274,16 @@ struct audit_ifaces
 				       uintptr_t *,
 				       const struct La_alpha_regs *,
 				       struct La_alpha_retval *, const char *);
+    unsigned int (*s390_32_gnu_pltexit) (Elf32_Sym *, unsigned int,
+					 uintptr_t *, uintptr_t *,
+					 const struct La_s390_32_regs *,
+					 struct La_s390_32_retval *,
+					 const char *);
+    unsigned int (*s390_64_gnu_pltexit) (Elf64_Sym *, unsigned int,
+					 uintptr_t *, uintptr_t *,
+					 const struct La_s390_64_regs *,
+					 struct La_s390_64_retval *,
+					 const char *);
   };
   unsigned int (*objclose) (uintptr_t *);