This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


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

Re: Move testsuite audit definitions to sysdeps tst-audit.h files


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
> 


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