From 2e98ca5343c02e2f2e0721b38f759373ba46e321 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Mon, 19 Mar 2012 18:38:56 +0000 Subject: [PATCH] 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. --- gdb/testsuite/ChangeLog | 8 ++++++++ gdb/testsuite/gdb.base/auxv.c | 15 +++++++++++++++ gdb/testsuite/gdb.base/auxv.exp | 7 +++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2a8bf9d091..0c05576038 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2012-03-19 Jan Kratochvil + Siddhesh Poyarekar + + * 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 * gdb.gdb/selftest.exp (do_steps_and_nexts): New entry diff --git a/gdb/testsuite/gdb.base/auxv.c b/gdb/testsuite/gdb.base/auxv.c index ed5f2b6ec4..c87d0f7c2e 100644 --- a/gdb/testsuite/gdb.base/auxv.c +++ b/gdb/testsuite/gdb.base/auxv.c @@ -35,6 +35,13 @@ #define ABORT {char *invalid = 0; *invalid = 0xFF;} #endif +#ifdef USE_RLIMIT +# include +# 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; diff --git a/gdb/testsuite/gdb.base/auxv.exp b/gdb/testsuite/gdb.base/auxv.exp index da10f058a4..16f12c7f93 100644 --- a/gdb/testsuite/gdb.base/auxv.exp +++ b/gdb/testsuite/gdb.base/auxv.exp @@ -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 -- 2.34.1