]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* sysdeps/arm/dl-machine.h (ARCH_LA_PLTENTER,
authorDaniel Jacobowitz <dan@codesourcery.com>
Wed, 5 Oct 2005 20:13:03 +0000 (20:13 +0000)
committerDaniel Jacobowitz <dan@codesourcery.com>
Wed, 5 Oct 2005 20:13:03 +0000 (20:13 +0000)
ARCH_LA_PLTEXIT): Define.
* sysdeps/arm/ldsodefs.h, sysdeps/arm/tst-audit.h: New files.

ChangeLog.arm
sysdeps/arm/dl-machine.h
sysdeps/arm/ldsodefs.h [new file with mode: 0644]
sysdeps/arm/tst-audit.h [new file with mode: 0644]

index 1148fae44ec2367ea2bf9b8947a65158265d7117..e7b6b2435db1d910e98bcbfb99ba9151481c9774 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * sysdeps/arm/dl-machine.h (ARCH_LA_PLTENTER,
+       ARCH_LA_PLTEXIT): Define.
+       * sysdeps/arm/ldsodefs.h, sysdeps/arm/tst-audit.h: New files.
+
 2005-06-13  Philip Blundell  <philb@gnu.org>
 
        Patch from addsub@eyou.com:
index abff153cb39c39b77930874403cc6d34c64fad3b..be03e7be3170ff50ace268c291e5db4d65455342 100644 (file)
@@ -243,6 +243,10 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
    Prelinked libraries may use Elf32_Rela though.  */
 #define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
 
+/* Names of the architecture-specific auditing callback functions.  */
+#define ARCH_LA_PLTENTER arm_gnu_pltenter
+#define ARCH_LA_PLTEXIT arm_gnu_pltexit
+
 #ifdef RESOLVE_MAP
 
 /* Deal with an out-of-range PC24 reloc.  */
diff --git a/sysdeps/arm/ldsodefs.h b/sysdeps/arm/ldsodefs.h
new file mode 100644 (file)
index 0000000..d700e22
--- /dev/null
@@ -0,0 +1,41 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+   Copyright (C) 2005 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _ARM_LDSODEFS_H
+#define _ARM_LDSODEFS_H 1
+
+#include <elf.h>
+
+struct La_arm_regs;
+struct La_arm_retval;
+
+#define ARCH_PLTENTER_MEMBERS \
+    Elf32_Addr (*arm_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,  \
+                                   uintptr_t *, struct La_arm_regs *,       \
+                                   unsigned int *, const char *,            \
+                                   long int *)
+
+#define ARCH_PLTEXIT_MEMBERS \
+    Elf32_Addr (*arm_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,   \
+                                  uintptr_t *, struct La_arm_regs *,        \
+                                  struct La_arm_retval *, const char *)
+
+#include_next <ldsodefs.h>
+
+#endif
diff --git a/sysdeps/arm/tst-audit.h b/sysdeps/arm/tst-audit.h
new file mode 100644 (file)
index 0000000..bec743c
--- /dev/null
@@ -0,0 +1,26 @@
+/* Definitions for testing PLT entry/exit auditing.  ARM version.
+
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#define pltenter la_arm_gnu_pltenter
+#define pltexit la_arm_gnu_pltexit
+#define La_regs La_arm_regs
+#define La_retval La_arm_retval
+#define int_retval lrv_reg[0]