Add debug IFUNC tests

This commit is contained in:
H.J. Lu 2012-10-19 22:02:47 -07:00
parent 88481c1638
commit de54b33a3d
6 changed files with 56 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2012-10-20 H.J. Lu <hongjiu.lu@intel.com>
* debug/Makefile (tests-ifunc): New variable.
(tests): Add $(tests-ifunc).
* debug/test-stpcpy_chk.c (TEST_NAME): New macro.
* debug/test-strcpy_chk.c (TEST_NAME): Likewise.
* debug/test-stpcpy_chk-ifunc.c: New file.
* debug/test-strcpy_chk-ifunc.c: Likewise.
2012-10-20 Siddhesh Poyarekar <siddhesh@redhat.com>
[BZ #13601]

View File

@ -126,6 +126,9 @@ tests = backtrace-tst tst-longjmp_chk tst-chk1 tst-chk2 tst-chk3 \
tst-chk4 tst-chk5 tst-chk6 tst-lfschk4 tst-lfschk5 tst-lfschk6 \
tst-longjmp_chk2
tests-ifunc := $(stpcpy_chk strcpy_chk:%=test-%-ifunc)
tests += $(tests-ifunc)
extra-libs = libSegFault libpcprofile
extra-libs-others = $(extra-libs)

View File

@ -0,0 +1,20 @@
/* Test and measure IFUNC implementations of stpcpy checking function.
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 TEST_IFUNC 1
#include "test-stpcpy_chk.c"

View File

@ -1,5 +1,5 @@
/* Test and measure stpcpy checking functions.
Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Jakub Jelinek <jakub@redhat.com>, 1999.
@ -19,6 +19,7 @@
#define STRCPY_RESULT(dst, len) ((dst) + (len))
#define TEST_MAIN
#define TEST_NAME "stpcpy_chk"
#include "../string/test-string.h"
extern void __attribute__ ((noreturn)) __chk_fail (void);

View File

@ -0,0 +1,20 @@
/* Test and measure IFUNC implementations of strcpy checking function.
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 TEST_IFUNC 1
#include "test-strcpy_chk.c"

View File

@ -1,5 +1,5 @@
/* Test and measure __strcpy_chk functions.
Copyright (C) 1999, 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Jakub Jelinek <jakub@redhat.com>, 1999.
@ -20,6 +20,7 @@
#ifndef STRCPY_RESULT
# define STRCPY_RESULT(dst, len) dst
# define TEST_MAIN
# define TEST_NAME "strcpy_chk"
# include "../string/test-string.h"
extern void __attribute__ ((noreturn)) __chk_fail (void);