Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Move testsuite audit definitions to sysdeps tst-audit.h files.
  • Loading branch information
Joseph Myers committed Jul 26, 2012
1 parent b1b2aaf commit 3129cfc
Show file tree
Hide file tree
Showing 20 changed files with 297 additions and 150 deletions.
57 changes: 57 additions & 0 deletions ChangeLog
@@ -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
Expand Down
71 changes: 1 addition & 70 deletions elf/tst-auditmod1.c
Expand Up @@ -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


Expand Down
13 changes: 0 additions & 13 deletions elf/tst-auditmod3b.c
Expand Up @@ -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)
Expand Down
13 changes: 0 additions & 13 deletions elf/tst-auditmod4b.c
Expand Up @@ -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__
Expand Down
13 changes: 0 additions & 13 deletions elf/tst-auditmod5b.c
Expand Up @@ -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)
Expand Down
13 changes: 0 additions & 13 deletions elf/tst-auditmod6b.c
Expand Up @@ -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__
Expand Down
13 changes: 0 additions & 13 deletions elf/tst-auditmod6c.c
Expand Up @@ -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__
Expand Down
13 changes: 0 additions & 13 deletions elf/tst-auditmod7b.c
Expand Up @@ -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__
Expand Down
4 changes: 4 additions & 0 deletions ports/ChangeLog.alpha
@@ -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
Expand Down
1 change: 1 addition & 0 deletions ports/sysdeps/alpha/tst-audit.h
Expand Up @@ -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
4 changes: 2 additions & 2 deletions 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
Expand Down
25 changes: 25 additions & 0 deletions 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
25 changes: 25 additions & 0 deletions 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
25 changes: 25 additions & 0 deletions 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
25 changes: 25 additions & 0 deletions 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

0 comments on commit 3129cfc

Please sign in to comment.