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

This commit is contained in:
Joseph Myers 2012-07-26 11:29:07 +00:00
parent b1b2aaf8eb
commit 3129cfc6ec
20 changed files with 297 additions and 150 deletions

View File

@ -1,3 +1,60 @@
2012-07-26 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.
2012-07-26 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Add __THROW for

View File

@ -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

View File

@ -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)

View File

@ -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__

View File

@ -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)

View File

@ -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__

View File

@ -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__

View File

@ -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__

View File

@ -1,3 +1,7 @@
2012-07-26 Joseph Myers <joseph@codesourcery.com>
* sysdeps/alpha/tst-audit.h (int_retval): Define.
2012-07-26 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/alpha/bits/siginfo.h (siginfo_t): Add

View File

@ -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

View File

@ -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

25
sysdeps/i386/tst-audit.h Normal file
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

25
sysdeps/sh/tst-audit.h Normal file
View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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