summaryrefslogtreecommitdiff
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)
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 *);