* 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.
This commit is contained in:
Roland McGrath 2005-10-05 18:57:11 +00:00
parent ffa5c4607d
commit dc936e2b7c
5 changed files with 35 additions and 4 deletions

View file

@ -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,

View file

@ -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

View file

@ -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

View file

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

View file

@ -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
*/