diff options
author | Roland McGrath <roland@gnu.org> | 2005-10-05 18:57:11 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2005-10-05 18:57:11 +0000 |
commit | dc936e2b7cd3523ecd5984ad667ca61021a8a6bd (patch) | |
tree | 463ee51135fe8c59c465dc246735745f6425c9a6 | |
parent | ffa5c4607d522228af4a69555180e58171cf6e9f (diff) | |
download | glibc-dc936e2b7cd3523ecd5984ad667ca61021a8a6bd.zip glibc-dc936e2b7cd3523ecd5984ad667ca61021a8a6bd.tar.gz glibc-dc936e2b7cd3523ecd5984ad667ca61021a8a6bd.tar.bz2 |
* sysdeps/generic/ldsodefs.h (struct audit_ifaces):
Use ARCH_PLTENTER_MEMBERS and ARCH_PLTEXIT_MEMBERS macros if defined.
* elf/tst-auditmod1.c: Include <tst-audit.h> to define more
architecture-specific code.
* sysdeps/generic/tst-audit.h: New file.
* elf/Makefile (distribute): Add it.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | elf/Makefile | 5 | ||||
-rw-r--r-- | elf/tst-auditmod1.c | 8 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 6 | ||||
-rw-r--r-- | sysdeps/generic/tst-audit.h | 11 |
5 files changed, 35 insertions, 4 deletions
@@ -1,3 +1,12 @@ +2005-10-05 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/ldsodefs.h (struct audit_ifaces): + Use ARCH_PLTENTER_MEMBERS and ARCH_PLTEXIT_MEMBERS macros if defined. + * elf/tst-auditmod1.c: Include <tst-audit.h> to define more + architecture-specific code. + * sysdeps/generic/tst-audit.h: New file. + * elf/Makefile (distribute): Add it. + 2005-10-05 Daniel Jacobowitz <dan@codesourcery.com> * elf/elf.h (R_ARM_TLS_DTPMOD32, R_ARM_TLS_DTPOFF32, diff --git a/elf/Makefile b/elf/Makefile index a563f01..123b448 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -86,11 +86,12 @@ distribute := rtld-Rules \ tst-deep1mod1.c tst-deep1mod2.c tst-deep1mod3.c \ unload3mod1.c unload3mod2.c unload3mod3.c unload3mod4.c \ unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \ - unload6mod1.c unload6mod2.c unload6mod3.c tst-auditmod1.c \ + unload6mod1.c unload6mod2.c unload6mod3.c \ + tst-auditmod1.c tst-audit.sh \ order2mod1.c order2mod2.c order2mod3.c order2mod4.c \ tst-stackguard1.c tst-stackguard1-static.c \ tst-array5.c tst-array5-static.c tst-array5dep.c \ - tst-array5.exp + tst-array5.exp CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables diff --git a/elf/tst-auditmod1.c b/elf/tst-auditmod1.c index 73d341d..e9f6fe9 100644 --- a/elf/tst-auditmod1.c +++ b/elf/tst-auditmod1.c @@ -192,8 +192,12 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, # define La_regs La_sparc64_regs # define La_retval La_sparc64_retval # define int_retval lrv_reg[0] -#else -# error "architecture specific code needed" +#endif + +#include <tst-audit.h> +#if (!defined (pltenter) || !defined (pltexit) || !defined (La_regs) \ + || !defined (La_retval) || !defined (int_retval)) +# error "architecture specific code needed in sysdeps/CPU/tls-audit.h or here" #endif diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 191ae4d..b8333ed 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -292,6 +292,9 @@ struct audit_ifaces const struct La_sparc64_regs *, unsigned int *, const char *name, long int *framesizep); +#ifdef ARCH_PLTENTER_MEMBERS + ARCH_PLTENTER_MEMBERS; +#endif }; union { @@ -360,6 +363,9 @@ struct audit_ifaces const struct La_sparc32_regs *, struct La_sparc32_retval *, const char *); +#ifdef ARCH_PLTEXIT_MEMBERS + ARCH_PLTEXIT_MEMBERS; +#endif }; unsigned int (*objclose) (uintptr_t *); diff --git a/sysdeps/generic/tst-audit.h b/sysdeps/generic/tst-audit.h new file mode 100644 index 0000000..402e7c0 --- /dev/null +++ b/sysdeps/generic/tst-audit.h @@ -0,0 +1,11 @@ +/* Some machines have these macros defined in elf/tst-auditmod1.c directly. + New machines can supply a tst-audit.h to define these macros used there. + + +# define pltenter la_CPU_gnu_pltenter +# define pltexit la_CPU_gnu_pltexit +# define La_regs La_CPU_regs +# define La_retval La_CPU_retval +# define int_retval lrv_RETVALREG + +*/ |