This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FR-V PLT audit


The FR-V port doesn't support profiling (yet?), and so we never
actually lay out the structure that pltenter/exit functions rely on,
but it looks like we must define them anyway.  Here are the
definitions.

Index: ChangeLog
2005-01-26  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add frv
	members.
	* elf/tst-auditmod1.c: Add frv macros.

Index: sysdeps/generic/ldsodefs.h
--- sysdeps/generic/ldsodefs.h	2005-02-01 02:58:10.000000000 -0200
+++ sysdeps/generic/ldsodefs.h	2005-01-31 05:03:10.000000000 -0200
@@ -195,6 +195,8 @@
 struct La_s390_64_retval;
 struct La_ia64_regs;
 struct La_ia64_retval;
+struct La_frv_regs;
+struct La_frv_retval;
 
 struct audit_ifaces
 {
@@ -251,6 +253,10 @@
 				     uintptr_t *, struct La_ia64_regs *,
 				     unsigned int *, const char *name,
 				     long int *framesizep);
+    Elf32_Addr (*frv_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
+				    uintptr_t *, struct La_frv_regs *,
+				    unsigned int *, const char *name,
+				    long int *framesizep);
   };
   union
   {
@@ -294,6 +300,9 @@
 				      uintptr_t *,
 				      const struct La_ia64_regs *,
 				      struct La_ia64_retval *, const char *);
+    unsigned int (*frv_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
+				     uintptr_t *, const struct La_frv_regs *,
+				     struct La_frv_retval *, const char *);
   };
   unsigned int (*objclose) (uintptr_t *);
 
Index: elf/tst-auditmod1.c
--- elf/tst-auditmod1.c	2005-02-01 02:58:04.000000000 -0200
+++ elf/tst-auditmod1.c	2005-01-31 05:01:50.000000000 -0200
@@ -162,6 +162,12 @@
 # define La_regs La_ia64_regs
 # define La_retval La_ia64_retval
 # define int_retval lrv_r8
+#elif defined __FRV_FDPIC__
+# define pltenter la_frv_gnu_pltenter
+# define pltexit la_frv_gnu_pltexit
+# define La_regs La_frv_regs
+# define La_retval La_frv_retval
+# define int_retval lrv_gr8
 #else
 # error "architecture specific code needed"
 #endif

-- 
Alexandre Oliva             http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]