|
From: <sv...@va...> - 2013-12-16 22:52:33
|
Author: philippe
Date: Mon Dec 16 22:52:20 2013
New Revision: 13762
Log:
Fix 325714 Empty vgcore but RLIMIT_CORE is big enough (too big)
Use ULong rather than UInt for coredump file size.
Tested manually by
ulimit -c 4294967296
./vg-in-place ./gdbserver_tests/gone abort
valgrind creates vgcore.xxxxx unusable by GDB.
With the fix, GDB can read the core dump.
Patch from Romain Geissler
Modified:
trunk/NEWS
trunk/coregrind/m_coredump/coredump-elf.c
trunk/coregrind/m_coredump/coredump-macho.c
trunk/coregrind/pub_core_coredump.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Mon Dec 16 22:52:20 2013
@@ -13,8 +13,8 @@
* New and modified GDB server monitor features:
- - A new monitor command "v.info stats" that shows various valgrind core and tool
- statistics.
+ - A new monitor command "v.info stats" that shows various valgrind core and
+ tool statistics.
* ==================== FIXED BUGS ====================
@@ -29,6 +29,7 @@
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.
+325714 Empty vgcore but RLIMIT_CORE is big enough (too big)
326462 Refactor vgdb to isolate invoker stuff into separate module
326983 Clear direction flag after tests on amd64.
327238 Callgrind Assertion 'passed <= last_bb->cjmp_count' failed
Modified: trunk/coregrind/m_coredump/coredump-elf.c
==============================================================================
--- trunk/coregrind/m_coredump/coredump-elf.c (original)
+++ trunk/coregrind/m_coredump/coredump-elf.c Mon Dec 16 22:52:20 2013
@@ -518,7 +518,7 @@
#endif
static
-void make_elf_coredump(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
+void make_elf_coredump(ThreadId tid, const vki_siginfo_t *si, ULong max_size)
{
HChar* buf = NULL;
const HChar *basename = "vgcore";
@@ -692,7 +692,7 @@
VG_(close)(core_fd);
}
-void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
+void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, ULong max_size)
{
make_elf_coredump(tid, si, max_size);
}
Modified: trunk/coregrind/m_coredump/coredump-macho.c
==============================================================================
--- trunk/coregrind/m_coredump/coredump-macho.c (original)
+++ trunk/coregrind/m_coredump/coredump-macho.c Mon Dec 16 22:52:20 2013
@@ -36,7 +36,7 @@
#include "pub_core_libcsetjmp.h" // to keep _threadstate.h happy
#include "pub_core_threadstate.h"
-void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
+void VG_(make_coredump)(ThreadId tid, const vki_siginfo_t *si, ULong max_size)
{
// DDD: #warning GrP fixme coredump
}
Modified: trunk/coregrind/pub_core_coredump.h
==============================================================================
--- trunk/coregrind/pub_core_coredump.h (original)
+++ trunk/coregrind/pub_core_coredump.h Mon Dec 16 22:52:20 2013
@@ -39,7 +39,7 @@
//--------------------------------------------------------------------
extern void VG_(make_coredump) ( ThreadId tid, const vki_siginfo_t *si,
- UInt max_size );
+ ULong max_size );
#endif // __PUB_CORE_COREDUMP_H
|