gdb/testsuite/

* gdb.base/auxv.c (func2): setrlimit to infinity to enable core dumps.
	* gdb.base/auxv.exp: Try to compile it with -DUSE_RLIMIT first.
	(generate native core dump): Make the test unsupported if core cannot
	be generated.
This commit is contained in:
Jan Kratochvil 2012-03-19 18:38:56 +00:00
parent e97a38f76e
commit 2e98ca5343
3 changed files with 28 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2012-03-19 Jan Kratochvil <jan.kratochvil@redhat.com>
Siddhesh Poyarekar <siddhesh@redhat.com>
* gdb.base/auxv.c (func2): setrlimit to infinity to enable core dumps.
* gdb.base/auxv.exp: Try to compile it with -DUSE_RLIMIT first.
(generate native core dump): Make the test unsupported if core cannot
be generated.
2012-03-19 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.gdb/selftest.exp (do_steps_and_nexts): New entry

View File

@ -35,6 +35,13 @@
#define ABORT {char *invalid = 0; *invalid = 0xFF;}
#endif
#ifdef USE_RLIMIT
# include <sys/resource.h>
# ifndef RLIM_INFINITY
# define RLIM_INFINITY -1
# endif
#endif /* USE_RLIMIT */
/* Don't make these automatic vars or we will have to walk back up the
stack to access them. */
@ -53,6 +60,14 @@ func2 (int x)
int i;
static int y;
#ifdef USE_RLIMIT
{
struct rlimit rlim = { RLIM_INFINITY, RLIM_INFINITY };
setrlimit (RLIMIT_CORE, &rlim);
}
#endif
/* Make sure that coremaker_local doesn't get optimized away. */
for (i = 0; i < 5; i++)
coremaker_local[i] = i;

View File

@ -31,7 +31,10 @@ set binfile ${objdir}/${subdir}/${testfile}
set corefile ${objdir}/${subdir}/${testfile}.corefile
set gcorefile ${objdir}/${subdir}/${testfile}.gcore
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
{debug additional_flags=-DUSE_RLIMIT}] != ""
&& [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
{debug}] != "" } {
untested "couldn't compile ${srcdir}/${subdir}/${srcfile}"
return -1
}
@ -155,7 +158,7 @@ if {$core_works} {
} else {
set core_works 0
warning "can't generate a core file - core tests suppressed - check ulimit -c"
fail $test
unsupported $test
}
} else {
unsupported $test