public inbox for libc-ports@sourceware.org
 help / color / mirror / Atom feed
* Move testsuite audit definitions to sysdeps tst-audit.h files
@ 2012-07-19 23:58 Joseph S. Myers
  2012-07-20  1:50 ` Kaz Kojima
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Joseph S. Myers @ 2012-07-19 23:58 UTC (permalink / raw)
  To: libc-alpha
  Cc: libc-ports, Richard Henderson, ryan.arnold, Andreas Krebbel,
	David Miller, Thomas Schwinge, Kaz Kojima

Similar to my patch for ldsodefs.h, this patch moves the auditing
definitions for testcases (tst-auditmod1.c, plus duplicate copies of
the x86_64 definitions in several more x86_64-specific tests) to
tst-audit.h files for libc architectures.  In the case of alpha, the
libc tst-auditmod1.c still had definitions for a ports architecture -
while alpha had a tst-audit.h file with four of the five required
macros, so I added the missing macro there.

The structure of the header files reflects that of the previous
definitions in tst-auditmod1.c (thus, most cases have separate files
for 32-bit and 64-bit, while x86_64 has a single file containing
definitions for both 64-bit and x32 with one of the macros having an
unconditional definition and the others being conditional).

Tested x86 and x86_64.  Could architecture maintainers test / review
the changes for other architectures?

2012-07-19  Joseph Myers  <joseph@codesourcery.com>

	* elf/tst-auditmod1.c (pltenter): Remove all definitions of macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	Update #error for removed macros to refer only to definitions in
	tst-audit.h.
	* elf/tst-auditmod3b.c (pltenter): Remove all definitions of
	macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	* elf/tst-auditmod4b.c (pltenter): Remove all definitions of
	macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	* elf/tst-auditmod5b.c (pltenter): Remove all definitions of
	macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	* elf/tst-auditmod6b.c (pltenter): Remove all definitions of
	macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	* elf/tst-auditmod6c.c (pltenter): Remove all definitions of
	macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	* elf/tst-auditmod7b.c (pltenter): Remove all definitions of
	macro.
	(pltexit): Likewise.
	(La_regs): Likewise.
	(La_retval): Likewise.
	(int_retval): Likewise.
	* sysdeps/generic/tst-audit.h: Update comment to refer only to
	macro definitions in tst-audit.h.
	* sysdeps/i386/tst-audit.h: New file.
	* sysdeps/powerpc/powerpc32/tst-audit.h: Likewise.
	* sysdeps/powerpc/powerpc64/tst-audit.h: Likewise.
	* sysdeps/s390/s390-32/tst-audit.h: Likewise.
	* sysdeps/s390/s390-64/tst-audit.h: Likewise.
	* sysdeps/sh/tst-audit.h: Likewise.
	* sysdeps/sparc/sparc32/tst-audit.h: Likewise.
	* sysdeps/sparc/sparc64/tst-audit.h: Likewise.
	* sysdeps/x86_64/tst-audit.h: Likewise.

ports/ChangeLog.alpha:
2012-07-19  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/alpha/tst-audit.h (int_retval): Define.

diff --git a/elf/tst-auditmod1.c b/elf/tst-auditmod1.c
index 108d6de..227a3b6 100644
--- a/elf/tst-auditmod1.c
+++ b/elf/tst-auditmod1.c
@@ -102,79 +102,10 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-#ifdef __i386__
-# define pltenter la_i86_gnu_pltenter
-# define pltexit la_i86_gnu_pltexit
-# define La_regs La_i86_regs
-# define La_retval La_i86_retval
-# define int_retval lrv_eax
-#elif defined __x86_64__
-# ifndef __ILP32__
-#  define pltenter la_x86_64_gnu_pltenter
-#  define pltexit la_x86_64_gnu_pltexit
-#  define La_regs La_x86_64_regs
-#  define La_retval La_x86_64_retval
-# else
-#  define pltenter la_x32_gnu_pltenter
-#  define pltexit la_x32_gnu_pltexit
-#  define La_regs La_x32_regs
-#  define La_retval La_x32_retval
-# endif
-# define int_retval lrv_rax
-#elif defined __powerpc__ && __WORDSIZE == 32
-# define pltenter la_ppc32_gnu_pltenter
-# define pltexit la_ppc32_gnu_pltexit
-# define La_regs La_ppc32_regs
-# define La_retval La_ppc32_retval
-# define int_retval lrv_r3
-#elif defined __powerpc__ && __WORDSIZE == 64
-# define pltenter la_ppc64_gnu_pltenter
-# define pltexit la_ppc64_gnu_pltexit
-# define La_regs La_ppc64_regs
-# define La_retval La_ppc64_retval
-# define int_retval lrv_r3
-#elif defined __sh__
-# define pltenter la_sh_gnu_pltenter
-# define pltexit la_sh_gnu_pltexit
-# define La_regs La_sh_regs
-# define La_retval La_sh_retval
-# define int_retval lrv_r0
-#elif defined __alpha__
-# define pltenter la_alpha_gnu_pltenter
-# define pltexit la_alpha_gnu_pltexit
-# define La_regs La_alpha_regs
-# define La_retval La_alpha_retval
-# define int_retval lrv_r0
-#elif defined __s390__ && __WORDSIZE == 32
-# define pltenter la_s390_32_gnu_pltenter
-# define pltexit la_s390_32_gnu_pltexit
-# define La_regs La_s390_32_regs
-# define La_retval La_s390_32_retval
-# define int_retval lrv_r2
-#elif defined __s390__ && __WORDSIZE == 64
-# define pltenter la_s390_64_gnu_pltenter
-# define pltexit la_s390_64_gnu_pltexit
-# define La_regs La_s390_64_regs
-# define La_retval La_s390_64_retval
-# define int_retval lrv_r2
-#elif defined __sparc__ && __WORDSIZE == 32
-# define pltenter la_sparc32_gnu_pltenter
-# define pltexit la_sparc32_gnu_pltexit
-# define La_regs La_sparc32_regs
-# define La_retval La_sparc32_retval
-# define int_retval lrv_reg[0]
-#elif defined __sparc__ && __WORDSIZE == 64
-# define pltenter la_sparc64_gnu_pltenter
-# define pltexit la_sparc64_gnu_pltexit
-# define La_regs La_sparc64_regs
-# define La_retval La_sparc64_retval
-# define int_retval lrv_reg[0]
-#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/tst-audit.h or here"
+# error "architecture specific code needed in sysdeps/CPU/tst-audit.h"
 #endif
 
 
diff --git a/elf/tst-auditmod3b.c b/elf/tst-auditmod3b.c
index a9bb0e2..1a41ca8 100644
--- a/elf/tst-auditmod3b.c
+++ b/elf/tst-auditmod3b.c
@@ -105,19 +105,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-# ifndef __ILP32__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
-#else
-# define pltenter la_x32_gnu_pltenter
-# define pltexit la_x32_gnu_pltexit
-# define La_regs La_x32_regs
-# define La_retval La_x32_retval
-#endif
-#define int_retval lrv_rax
-
 #include <tst-audit.h>
 
 ElfW(Addr)
diff --git a/elf/tst-auditmod4b.c b/elf/tst-auditmod4b.c
index 7778d6a..80aaedc 100644
--- a/elf/tst-auditmod4b.c
+++ b/elf/tst-auditmod4b.c
@@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-# ifndef __ILP32__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
-#else
-# define pltenter la_x32_gnu_pltenter
-# define pltexit la_x32_gnu_pltexit
-# define La_regs La_x32_regs
-# define La_retval La_x32_retval
-#endif
-#define int_retval lrv_rax
-
 #include <tst-audit.h>
 
 #ifdef __AVX__
diff --git a/elf/tst-auditmod5b.c b/elf/tst-auditmod5b.c
index 3a42215..576183d 100644
--- a/elf/tst-auditmod5b.c
+++ b/elf/tst-auditmod5b.c
@@ -95,19 +95,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-# ifndef __ILP32__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
-#else
-# define pltenter la_x32_gnu_pltenter
-# define pltexit la_x32_gnu_pltexit
-# define La_regs La_x32_regs
-# define La_retval La_x32_retval
-#endif
-#define int_retval lrv_rax
-
 #include <tst-audit.h>
 
 ElfW(Addr)
diff --git a/elf/tst-auditmod6b.c b/elf/tst-auditmod6b.c
index a9fe5dc..b1c155a 100644
--- a/elf/tst-auditmod6b.c
+++ b/elf/tst-auditmod6b.c
@@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-# ifndef __ILP32__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
-#else
-# define pltenter la_x32_gnu_pltenter
-# define pltexit la_x32_gnu_pltexit
-# define La_regs La_x32_regs
-# define La_retval La_x32_retval
-#endif
-#define int_retval lrv_rax
-
 #include <tst-audit.h>
 
 #ifdef __AVX__
diff --git a/elf/tst-auditmod6c.c b/elf/tst-auditmod6c.c
index 9b1063b..88adb21 100644
--- a/elf/tst-auditmod6c.c
+++ b/elf/tst-auditmod6c.c
@@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-# ifndef __ILP32__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
-#else
-# define pltenter la_x32_gnu_pltenter
-# define pltexit la_x32_gnu_pltexit
-# define La_regs La_x32_regs
-# define La_retval La_x32_retval
-#endif
-#define int_retval lrv_rax
-
 #include <tst-audit.h>
 
 #ifdef __AVX__
diff --git a/elf/tst-auditmod7b.c b/elf/tst-auditmod7b.c
index 1ae9e72..68052ef 100644
--- a/elf/tst-auditmod7b.c
+++ b/elf/tst-auditmod7b.c
@@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
   return sym->st_value;
 }
 
-#ifndef __ILP32__
-# define pltenter la_x86_64_gnu_pltenter
-# define pltexit la_x86_64_gnu_pltexit
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
-#else
-# define pltenter la_x32_gnu_pltenter
-# define pltexit la_x32_gnu_pltexit
-# define La_regs La_x32_regs
-# define La_retval La_x32_retval
-#endif
-#define int_retval lrv_rax
-
 #include <tst-audit.h>
 
 #ifdef __AVX__
diff --git a/ports/sysdeps/alpha/tst-audit.h b/ports/sysdeps/alpha/tst-audit.h
index 7e3022a..44e0db4 100644
--- a/ports/sysdeps/alpha/tst-audit.h
+++ b/ports/sysdeps/alpha/tst-audit.h
@@ -21,3 +21,4 @@
 #define pltexit la_alpha_gnu_pltexit
 #define La_regs La_alpha_regs
 #define La_retval La_alpha_retval
+#define int_retval lrv_r0
diff --git a/sysdeps/generic/tst-audit.h b/sysdeps/generic/tst-audit.h
index 402e7c0..45bc603 100644
--- a/sysdeps/generic/tst-audit.h
+++ b/sysdeps/generic/tst-audit.h
@@ -1,5 +1,5 @@
-/* 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.
+/* Machines can supply a tst-audit.h to define these macros used in
+   elf/tst-auditmod1.c.
 
 
 # define pltenter la_CPU_gnu_pltenter
diff --git a/sysdeps/i386/tst-audit.h b/sysdeps/i386/tst-audit.h
new file mode 100644
index 0000000..082c559
--- /dev/null
+++ b/sysdeps/i386/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  i386 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_i86_gnu_pltenter
+#define pltexit la_i86_gnu_pltexit
+#define La_regs La_i86_regs
+#define La_retval La_i86_retval
+#define int_retval lrv_eax
diff --git a/sysdeps/powerpc/powerpc32/tst-audit.h b/sysdeps/powerpc/powerpc32/tst-audit.h
new file mode 100644
index 0000000..3faac8d
--- /dev/null
+++ b/sysdeps/powerpc/powerpc32/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  PowerPC32 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_ppc32_gnu_pltenter
+#define pltexit la_ppc32_gnu_pltexit
+#define La_regs La_ppc32_regs
+#define La_retval La_ppc32_retval
+#define int_retval lrv_r3
diff --git a/sysdeps/powerpc/powerpc64/tst-audit.h b/sysdeps/powerpc/powerpc64/tst-audit.h
new file mode 100644
index 0000000..cee3f5b
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  PowerPC64 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_ppc64_gnu_pltenter
+#define pltexit la_ppc64_gnu_pltexit
+#define La_regs La_ppc64_regs
+#define La_retval La_ppc64_retval
+#define int_retval lrv_r3
diff --git a/sysdeps/s390/s390-32/tst-audit.h b/sysdeps/s390/s390-32/tst-audit.h
new file mode 100644
index 0000000..051e5ab
--- /dev/null
+++ b/sysdeps/s390/s390-32/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  S/390 32-bit version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_s390_32_gnu_pltenter
+#define pltexit la_s390_32_gnu_pltexit
+#define La_regs La_s390_32_regs
+#define La_retval La_s390_32_retval
+#define int_retval lrv_r2
diff --git a/sysdeps/s390/s390-64/tst-audit.h b/sysdeps/s390/s390-64/tst-audit.h
new file mode 100644
index 0000000..3b4fac4
--- /dev/null
+++ b/sysdeps/s390/s390-64/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  S/390 64-bit version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_s390_64_gnu_pltenter
+#define pltexit la_s390_64_gnu_pltexit
+#define La_regs La_s390_64_regs
+#define La_retval La_s390_64_retval
+#define int_retval lrv_r2
diff --git a/sysdeps/sh/tst-audit.h b/sysdeps/sh/tst-audit.h
new file mode 100644
index 0000000..bb8db98
--- /dev/null
+++ b/sysdeps/sh/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  SH version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_sh_gnu_pltenter
+#define pltexit la_sh_gnu_pltexit
+#define La_regs La_sh_regs
+#define La_retval La_sh_retval
+#define int_retval lrv_r0
diff --git a/sysdeps/sparc/sparc32/tst-audit.h b/sysdeps/sparc/sparc32/tst-audit.h
new file mode 100644
index 0000000..f3aaf13
--- /dev/null
+++ b/sysdeps/sparc/sparc32/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  SPARC32 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_sparc32_gnu_pltenter
+#define pltexit la_sparc32_gnu_pltexit
+#define La_regs La_sparc32_regs
+#define La_retval La_sparc32_retval
+#define int_retval lrv_reg[0]
diff --git a/sysdeps/sparc/sparc64/tst-audit.h b/sysdeps/sparc/sparc64/tst-audit.h
new file mode 100644
index 0000000..7dd4701
--- /dev/null
+++ b/sysdeps/sparc/sparc64/tst-audit.h
@@ -0,0 +1,25 @@
+/* Definitions for testing PLT entry/exit auditing.  SPARC64 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define pltenter la_sparc64_gnu_pltenter
+#define pltexit la_sparc64_gnu_pltexit
+#define La_regs La_sparc64_regs
+#define La_retval La_sparc64_retval
+#define int_retval lrv_reg[0]
diff --git a/sysdeps/x86_64/tst-audit.h b/sysdeps/x86_64/tst-audit.h
new file mode 100644
index 0000000..00cd369
--- /dev/null
+++ b/sysdeps/x86_64/tst-audit.h
@@ -0,0 +1,32 @@
+/* Definitions for testing PLT entry/exit auditing.  x86_64 version.
+
+   Copyright (C) 2012 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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __ILP32__
+# define pltenter la_x86_64_gnu_pltenter
+# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
+#else
+# define pltenter la_x32_gnu_pltenter
+# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
+#endif
+#define int_retval lrv_rax

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Move testsuite audit definitions to sysdeps tst-audit.h files
  2012-07-19 23:58 Move testsuite audit definitions to sysdeps tst-audit.h files Joseph S. Myers
@ 2012-07-20  1:50 ` Kaz Kojima
  2012-07-20 10:39 ` Andreas Krebbel
  2012-07-25 16:21 ` Ryan S. Arnold
  2 siblings, 0 replies; 4+ messages in thread
From: Kaz Kojima @ 2012-07-20  1:50 UTC (permalink / raw)
  To: joseph; +Cc: libc-alpha, libc-ports, thomas

"Joseph S. Myers" <joseph@codesourcery.com> wrote:
> Tested x86 and x86_64.  Could architecture maintainers test / review
> the changes for other architectures?

SH portion works fine.

Regards,
	kaz

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Move testsuite audit definitions to sysdeps tst-audit.h files
  2012-07-19 23:58 Move testsuite audit definitions to sysdeps tst-audit.h files Joseph S. Myers
  2012-07-20  1:50 ` Kaz Kojima
@ 2012-07-20 10:39 ` Andreas Krebbel
  2012-07-25 16:21 ` Ryan S. Arnold
  2 siblings, 0 replies; 4+ messages in thread
From: Andreas Krebbel @ 2012-07-20 10:39 UTC (permalink / raw)
  To: Joseph S. Myers
  Cc: libc-alpha, libc-ports, Richard Henderson, ryan.arnold,
	David Miller, Thomas Schwinge, Kaz Kojima

On 07/20/2012 01:57 AM, Joseph S. Myers wrote:
> Similar to my patch for ldsodefs.h, this patch moves the auditing
> definitions for testcases (tst-auditmod1.c, plus duplicate copies of
> the x86_64 definitions in several more x86_64-specific tests) to
> tst-audit.h files for libc architectures.  In the case of alpha, the
> libc tst-auditmod1.c still had definitions for a ports architecture -
> while alpha had a tst-audit.h file with four of the five required
> macros, so I added the missing macro there.
> 
> The structure of the header files reflects that of the previous
> definitions in tst-auditmod1.c (thus, most cases have separate files
> for 32-bit and 64-bit, while x86_64 has a single file containing
> definitions for both 64-bit and x32 with one of the macros having an
> unconditional definition and the others being conditional).
> 
> Tested x86 and x86_64.  Could architecture maintainers test / review
> the changes for other architectures?

No regressions on s390 and s390x.

Bye,

-Andreas-


> 
> 2012-07-19  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* elf/tst-auditmod1.c (pltenter): Remove all definitions of macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	Update #error for removed macros to refer only to definitions in
> 	tst-audit.h.
> 	* elf/tst-auditmod3b.c (pltenter): Remove all definitions of
> 	macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	* elf/tst-auditmod4b.c (pltenter): Remove all definitions of
> 	macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	* elf/tst-auditmod5b.c (pltenter): Remove all definitions of
> 	macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	* elf/tst-auditmod6b.c (pltenter): Remove all definitions of
> 	macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	* elf/tst-auditmod6c.c (pltenter): Remove all definitions of
> 	macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	* elf/tst-auditmod7b.c (pltenter): Remove all definitions of
> 	macro.
> 	(pltexit): Likewise.
> 	(La_regs): Likewise.
> 	(La_retval): Likewise.
> 	(int_retval): Likewise.
> 	* sysdeps/generic/tst-audit.h: Update comment to refer only to
> 	macro definitions in tst-audit.h.
> 	* sysdeps/i386/tst-audit.h: New file.
> 	* sysdeps/powerpc/powerpc32/tst-audit.h: Likewise.
> 	* sysdeps/powerpc/powerpc64/tst-audit.h: Likewise.
> 	* sysdeps/s390/s390-32/tst-audit.h: Likewise.
> 	* sysdeps/s390/s390-64/tst-audit.h: Likewise.
> 	* sysdeps/sh/tst-audit.h: Likewise.
> 	* sysdeps/sparc/sparc32/tst-audit.h: Likewise.
> 	* sysdeps/sparc/sparc64/tst-audit.h: Likewise.
> 	* sysdeps/x86_64/tst-audit.h: Likewise.
> 
> ports/ChangeLog.alpha:
> 2012-07-19  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* sysdeps/alpha/tst-audit.h (int_retval): Define.
> 
> diff --git a/elf/tst-auditmod1.c b/elf/tst-auditmod1.c
> index 108d6de..227a3b6 100644
> --- a/elf/tst-auditmod1.c
> +++ b/elf/tst-auditmod1.c
> @@ -102,79 +102,10 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -#ifdef __i386__
> -# define pltenter la_i86_gnu_pltenter
> -# define pltexit la_i86_gnu_pltexit
> -# define La_regs La_i86_regs
> -# define La_retval La_i86_retval
> -# define int_retval lrv_eax
> -#elif defined __x86_64__
> -# ifndef __ILP32__
> -#  define pltenter la_x86_64_gnu_pltenter
> -#  define pltexit la_x86_64_gnu_pltexit
> -#  define La_regs La_x86_64_regs
> -#  define La_retval La_x86_64_retval
> -# else
> -#  define pltenter la_x32_gnu_pltenter
> -#  define pltexit la_x32_gnu_pltexit
> -#  define La_regs La_x32_regs
> -#  define La_retval La_x32_retval
> -# endif
> -# define int_retval lrv_rax
> -#elif defined __powerpc__ && __WORDSIZE == 32
> -# define pltenter la_ppc32_gnu_pltenter
> -# define pltexit la_ppc32_gnu_pltexit
> -# define La_regs La_ppc32_regs
> -# define La_retval La_ppc32_retval
> -# define int_retval lrv_r3
> -#elif defined __powerpc__ && __WORDSIZE == 64
> -# define pltenter la_ppc64_gnu_pltenter
> -# define pltexit la_ppc64_gnu_pltexit
> -# define La_regs La_ppc64_regs
> -# define La_retval La_ppc64_retval
> -# define int_retval lrv_r3
> -#elif defined __sh__
> -# define pltenter la_sh_gnu_pltenter
> -# define pltexit la_sh_gnu_pltexit
> -# define La_regs La_sh_regs
> -# define La_retval La_sh_retval
> -# define int_retval lrv_r0
> -#elif defined __alpha__
> -# define pltenter la_alpha_gnu_pltenter
> -# define pltexit la_alpha_gnu_pltexit
> -# define La_regs La_alpha_regs
> -# define La_retval La_alpha_retval
> -# define int_retval lrv_r0
> -#elif defined __s390__ && __WORDSIZE == 32
> -# define pltenter la_s390_32_gnu_pltenter
> -# define pltexit la_s390_32_gnu_pltexit
> -# define La_regs La_s390_32_regs
> -# define La_retval La_s390_32_retval
> -# define int_retval lrv_r2
> -#elif defined __s390__ && __WORDSIZE == 64
> -# define pltenter la_s390_64_gnu_pltenter
> -# define pltexit la_s390_64_gnu_pltexit
> -# define La_regs La_s390_64_regs
> -# define La_retval La_s390_64_retval
> -# define int_retval lrv_r2
> -#elif defined __sparc__ && __WORDSIZE == 32
> -# define pltenter la_sparc32_gnu_pltenter
> -# define pltexit la_sparc32_gnu_pltexit
> -# define La_regs La_sparc32_regs
> -# define La_retval La_sparc32_retval
> -# define int_retval lrv_reg[0]
> -#elif defined __sparc__ && __WORDSIZE == 64
> -# define pltenter la_sparc64_gnu_pltenter
> -# define pltexit la_sparc64_gnu_pltexit
> -# define La_regs La_sparc64_regs
> -# define La_retval La_sparc64_retval
> -# define int_retval lrv_reg[0]
> -#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/tst-audit.h or here"
> +# error "architecture specific code needed in sysdeps/CPU/tst-audit.h"
>  #endif
> 
> 
> diff --git a/elf/tst-auditmod3b.c b/elf/tst-auditmod3b.c
> index a9bb0e2..1a41ca8 100644
> --- a/elf/tst-auditmod3b.c
> +++ b/elf/tst-auditmod3b.c
> @@ -105,19 +105,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -# ifndef __ILP32__
> -# define pltenter la_x86_64_gnu_pltenter
> -# define pltexit la_x86_64_gnu_pltexit
> -# define La_regs La_x86_64_regs
> -# define La_retval La_x86_64_retval
> -#else
> -# define pltenter la_x32_gnu_pltenter
> -# define pltexit la_x32_gnu_pltexit
> -# define La_regs La_x32_regs
> -# define La_retval La_x32_retval
> -#endif
> -#define int_retval lrv_rax
> -
>  #include <tst-audit.h>
> 
>  ElfW(Addr)
> diff --git a/elf/tst-auditmod4b.c b/elf/tst-auditmod4b.c
> index 7778d6a..80aaedc 100644
> --- a/elf/tst-auditmod4b.c
> +++ b/elf/tst-auditmod4b.c
> @@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -# ifndef __ILP32__
> -# define pltenter la_x86_64_gnu_pltenter
> -# define pltexit la_x86_64_gnu_pltexit
> -# define La_regs La_x86_64_regs
> -# define La_retval La_x86_64_retval
> -#else
> -# define pltenter la_x32_gnu_pltenter
> -# define pltexit la_x32_gnu_pltexit
> -# define La_regs La_x32_regs
> -# define La_retval La_x32_retval
> -#endif
> -#define int_retval lrv_rax
> -
>  #include <tst-audit.h>
> 
>  #ifdef __AVX__
> diff --git a/elf/tst-auditmod5b.c b/elf/tst-auditmod5b.c
> index 3a42215..576183d 100644
> --- a/elf/tst-auditmod5b.c
> +++ b/elf/tst-auditmod5b.c
> @@ -95,19 +95,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -# ifndef __ILP32__
> -# define pltenter la_x86_64_gnu_pltenter
> -# define pltexit la_x86_64_gnu_pltexit
> -# define La_regs La_x86_64_regs
> -# define La_retval La_x86_64_retval
> -#else
> -# define pltenter la_x32_gnu_pltenter
> -# define pltexit la_x32_gnu_pltexit
> -# define La_regs La_x32_regs
> -# define La_retval La_x32_retval
> -#endif
> -#define int_retval lrv_rax
> -
>  #include <tst-audit.h>
> 
>  ElfW(Addr)
> diff --git a/elf/tst-auditmod6b.c b/elf/tst-auditmod6b.c
> index a9fe5dc..b1c155a 100644
> --- a/elf/tst-auditmod6b.c
> +++ b/elf/tst-auditmod6b.c
> @@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -# ifndef __ILP32__
> -# define pltenter la_x86_64_gnu_pltenter
> -# define pltexit la_x86_64_gnu_pltexit
> -# define La_regs La_x86_64_regs
> -# define La_retval La_x86_64_retval
> -#else
> -# define pltenter la_x32_gnu_pltenter
> -# define pltexit la_x32_gnu_pltexit
> -# define La_regs La_x32_regs
> -# define La_retval La_x32_retval
> -#endif
> -#define int_retval lrv_rax
> -
>  #include <tst-audit.h>
> 
>  #ifdef __AVX__
> diff --git a/elf/tst-auditmod6c.c b/elf/tst-auditmod6c.c
> index 9b1063b..88adb21 100644
> --- a/elf/tst-auditmod6c.c
> +++ b/elf/tst-auditmod6c.c
> @@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -# ifndef __ILP32__
> -# define pltenter la_x86_64_gnu_pltenter
> -# define pltexit la_x86_64_gnu_pltexit
> -# define La_regs La_x86_64_regs
> -# define La_retval La_x86_64_retval
> -#else
> -# define pltenter la_x32_gnu_pltenter
> -# define pltexit la_x32_gnu_pltexit
> -# define La_regs La_x32_regs
> -# define La_retval La_x32_retval
> -#endif
> -#define int_retval lrv_rax
> -
>  #include <tst-audit.h>
> 
>  #ifdef __AVX__
> diff --git a/elf/tst-auditmod7b.c b/elf/tst-auditmod7b.c
> index 1ae9e72..68052ef 100644
> --- a/elf/tst-auditmod7b.c
> +++ b/elf/tst-auditmod7b.c
> @@ -94,19 +94,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
>    return sym->st_value;
>  }
> 
> -#ifndef __ILP32__
> -# define pltenter la_x86_64_gnu_pltenter
> -# define pltexit la_x86_64_gnu_pltexit
> -# define La_regs La_x86_64_regs
> -# define La_retval La_x86_64_retval
> -#else
> -# define pltenter la_x32_gnu_pltenter
> -# define pltexit la_x32_gnu_pltexit
> -# define La_regs La_x32_regs
> -# define La_retval La_x32_retval
> -#endif
> -#define int_retval lrv_rax
> -
>  #include <tst-audit.h>
> 
>  #ifdef __AVX__
> diff --git a/ports/sysdeps/alpha/tst-audit.h b/ports/sysdeps/alpha/tst-audit.h
> index 7e3022a..44e0db4 100644
> --- a/ports/sysdeps/alpha/tst-audit.h
> +++ b/ports/sysdeps/alpha/tst-audit.h
> @@ -21,3 +21,4 @@
>  #define pltexit la_alpha_gnu_pltexit
>  #define La_regs La_alpha_regs
>  #define La_retval La_alpha_retval
> +#define int_retval lrv_r0
> diff --git a/sysdeps/generic/tst-audit.h b/sysdeps/generic/tst-audit.h
> index 402e7c0..45bc603 100644
> --- a/sysdeps/generic/tst-audit.h
> +++ b/sysdeps/generic/tst-audit.h
> @@ -1,5 +1,5 @@
> -/* 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.
> +/* Machines can supply a tst-audit.h to define these macros used in
> +   elf/tst-auditmod1.c.
> 
> 
>  # define pltenter la_CPU_gnu_pltenter
> diff --git a/sysdeps/i386/tst-audit.h b/sysdeps/i386/tst-audit.h
> new file mode 100644
> index 0000000..082c559
> --- /dev/null
> +++ b/sysdeps/i386/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  i386 version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_i86_gnu_pltenter
> +#define pltexit la_i86_gnu_pltexit
> +#define La_regs La_i86_regs
> +#define La_retval La_i86_retval
> +#define int_retval lrv_eax
> diff --git a/sysdeps/powerpc/powerpc32/tst-audit.h b/sysdeps/powerpc/powerpc32/tst-audit.h
> new file mode 100644
> index 0000000..3faac8d
> --- /dev/null
> +++ b/sysdeps/powerpc/powerpc32/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  PowerPC32 version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_ppc32_gnu_pltenter
> +#define pltexit la_ppc32_gnu_pltexit
> +#define La_regs La_ppc32_regs
> +#define La_retval La_ppc32_retval
> +#define int_retval lrv_r3
> diff --git a/sysdeps/powerpc/powerpc64/tst-audit.h b/sysdeps/powerpc/powerpc64/tst-audit.h
> new file mode 100644
> index 0000000..cee3f5b
> --- /dev/null
> +++ b/sysdeps/powerpc/powerpc64/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  PowerPC64 version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_ppc64_gnu_pltenter
> +#define pltexit la_ppc64_gnu_pltexit
> +#define La_regs La_ppc64_regs
> +#define La_retval La_ppc64_retval
> +#define int_retval lrv_r3
> diff --git a/sysdeps/s390/s390-32/tst-audit.h b/sysdeps/s390/s390-32/tst-audit.h
> new file mode 100644
> index 0000000..051e5ab
> --- /dev/null
> +++ b/sysdeps/s390/s390-32/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  S/390 32-bit version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_s390_32_gnu_pltenter
> +#define pltexit la_s390_32_gnu_pltexit
> +#define La_regs La_s390_32_regs
> +#define La_retval La_s390_32_retval
> +#define int_retval lrv_r2
> diff --git a/sysdeps/s390/s390-64/tst-audit.h b/sysdeps/s390/s390-64/tst-audit.h
> new file mode 100644
> index 0000000..3b4fac4
> --- /dev/null
> +++ b/sysdeps/s390/s390-64/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  S/390 64-bit version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_s390_64_gnu_pltenter
> +#define pltexit la_s390_64_gnu_pltexit
> +#define La_regs La_s390_64_regs
> +#define La_retval La_s390_64_retval
> +#define int_retval lrv_r2
> diff --git a/sysdeps/sh/tst-audit.h b/sysdeps/sh/tst-audit.h
> new file mode 100644
> index 0000000..bb8db98
> --- /dev/null
> +++ b/sysdeps/sh/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  SH version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_sh_gnu_pltenter
> +#define pltexit la_sh_gnu_pltexit
> +#define La_regs La_sh_regs
> +#define La_retval La_sh_retval
> +#define int_retval lrv_r0
> diff --git a/sysdeps/sparc/sparc32/tst-audit.h b/sysdeps/sparc/sparc32/tst-audit.h
> new file mode 100644
> index 0000000..f3aaf13
> --- /dev/null
> +++ b/sysdeps/sparc/sparc32/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  SPARC32 version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_sparc32_gnu_pltenter
> +#define pltexit la_sparc32_gnu_pltexit
> +#define La_regs La_sparc32_regs
> +#define La_retval La_sparc32_retval
> +#define int_retval lrv_reg[0]
> diff --git a/sysdeps/sparc/sparc64/tst-audit.h b/sysdeps/sparc/sparc64/tst-audit.h
> new file mode 100644
> index 0000000..7dd4701
> --- /dev/null
> +++ b/sysdeps/sparc/sparc64/tst-audit.h
> @@ -0,0 +1,25 @@
> +/* Definitions for testing PLT entry/exit auditing.  SPARC64 version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#define pltenter la_sparc64_gnu_pltenter
> +#define pltexit la_sparc64_gnu_pltexit
> +#define La_regs La_sparc64_regs
> +#define La_retval La_sparc64_retval
> +#define int_retval lrv_reg[0]
> diff --git a/sysdeps/x86_64/tst-audit.h b/sysdeps/x86_64/tst-audit.h
> new file mode 100644
> index 0000000..00cd369
> --- /dev/null
> +++ b/sysdeps/x86_64/tst-audit.h
> @@ -0,0 +1,32 @@
> +/* Definitions for testing PLT entry/exit auditing.  x86_64 version.
> +
> +   Copyright (C) 2012 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, see
> +   <http://www.gnu.org/licenses/>.  */
> +
> +#ifndef __ILP32__
> +# define pltenter la_x86_64_gnu_pltenter
> +# define pltexit la_x86_64_gnu_pltexit
> +# define La_regs La_x86_64_regs
> +# define La_retval La_x86_64_retval
> +#else
> +# define pltenter la_x32_gnu_pltenter
> +# define pltexit la_x32_gnu_pltexit
> +# define La_regs La_x32_regs
> +# define La_retval La_x32_retval
> +#endif
> +#define int_retval lrv_rax
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Move testsuite audit definitions to sysdeps tst-audit.h files
  2012-07-19 23:58 Move testsuite audit definitions to sysdeps tst-audit.h files Joseph S. Myers
  2012-07-20  1:50 ` Kaz Kojima
  2012-07-20 10:39 ` Andreas Krebbel
@ 2012-07-25 16:21 ` Ryan S. Arnold
  2 siblings, 0 replies; 4+ messages in thread
From: Ryan S. Arnold @ 2012-07-25 16:21 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: libc-alpha, libc-ports

On Thu, Jul 19, 2012 at 6:57 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Similar to my patch for ldsodefs.h, this patch moves the auditing
> definitions for testcases (tst-auditmod1.c, plus duplicate copies of
> the x86_64 definitions in several more x86_64-specific tests) to
> tst-audit.h files for libc architectures.  In the case of alpha, the
> libc tst-auditmod1.c still had definitions for a ports architecture -
> while alpha had a tst-audit.h file with four of the five required
> macros, so I added the missing macro there.
>
> The structure of the header files reflects that of the previous
> definitions in tst-auditmod1.c (thus, most cases have separate files
> for 32-bit and 64-bit, while x86_64 has a single file containing
> definitions for both 64-bit and x32 with one of the macros having an
> unconditional definition and the others being conditional).
>
> Tested x86 and x86_64.  Could architecture maintainers test / review
> the changes for other architectures?

Tested on powerpc32 and powerpc64 and no new regressions were observed.

Ryan S. Arnold

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-07-25 16:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-19 23:58 Move testsuite audit definitions to sysdeps tst-audit.h files Joseph S. Myers
2012-07-20  1:50 ` Kaz Kojima
2012-07-20 10:39 ` Andreas Krebbel
2012-07-25 16:21 ` Ryan S. Arnold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).