* gdb.base/bigcore.c (RLIMIT_CAP): Define.
authorDaniel Jacobowitz <drow@false.org>
Sat, 20 Jan 2007 18:33:27 +0000 (18:33 +0000)
committerDaniel Jacobowitz <drow@false.org>
Sat, 20 Jan 2007 18:33:27 +0000 (18:33 +0000)
(maximize_rlimit): Reduce limits on 64-bit systems.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/bigcore.c

index 81cbce05228cf9c47cae9fc6f92873a07a0fb5c7..c876e510324a89ad169673aacef45bf2fce995f2 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-20  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * gdb.base/bigcore.c (RLIMIT_CAP): Define.
+       (maximize_rlimit): Reduce limits on 64-bit systems.
+
 2007-01-19  Mark Kettenis  <kettenis@gnu.org>
 
        From Marcus Deuling <deuling@de.ibm.com>:
index 46b5e2afbf5fd17f4ff732ee9222657a6288ee4d..367485b56825cbf62313849028cd6227bee2364f 100644 (file)
 #include <stdlib.h>
 #include <unistd.h>
 
+/* This test was written for >2GB core files on 32-bit systems.  On
+   current 64-bit systems, generating a >4EB (2 ** 63) core file is
+   not practical, and getting as close as we can takes a lot of
+   useless CPU time.  So limit ourselves to a bit bigger than
+   32-bit, which is still a useful test.  */
+#define RLIMIT_CAP (1ULL << 34)
+
 /* Print routines:
 
    The following are so that printf et.al. can be avoided.  Those
@@ -110,6 +117,8 @@ maximize_rlimit (int resource, const char *prefix)
   print_rlimit (resource);
   getrlimit (resource, &rl);
   rl.rlim_cur = rl.rlim_max;
+  if (sizeof (rl.rlim_cur) >= sizeof (RLIMIT_CAP))
+    rl.rlim_cur = (rlim_t) RLIMIT_CAP;
   setrlimit (resource, &rl);
   print_string (" -> ");
   print_rlimit (resource);