From: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
To: "Joseph S. Myers" <joseph@codesourcery.com>
Cc: libc-alpha@sourceware.org, libc-ports@sourceware.org,
Richard Henderson <rth@twiddle.net>,
ryan.arnold@gmail.com, David Miller <davem@davemloft.net>,
Thomas Schwinge <thomas@codesourcery.com>,
Kaz Kojima <kkojima@rr.iij4u.or.jp>
Subject: Re: Move testsuite audit definitions to sysdeps tst-audit.h files
Date: Fri, 20 Jul 2012 10:39:00 -0000 [thread overview]
Message-ID: <50093545.5020905@linux.vnet.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1207192356060.15740@digraph.polyomino.org.uk>
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
>
next prev parent reply other threads:[~2012-07-20 10:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-19 23:58 Joseph S. Myers
2012-07-20 1:50 ` Kaz Kojima
2012-07-20 10:39 ` Andreas Krebbel [this message]
2012-07-25 16:21 ` Ryan S. Arnold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50093545.5020905@linux.vnet.ibm.com \
--to=krebbel@linux.vnet.ibm.com \
--cc=davem@davemloft.net \
--cc=joseph@codesourcery.com \
--cc=kkojima@rr.iij4u.or.jp \
--cc=libc-alpha@sourceware.org \
--cc=libc-ports@sourceware.org \
--cc=rth@twiddle.net \
--cc=ryan.arnold@gmail.com \
--cc=thomas@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).