History log of /external/libunwind/tests/crasher.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5e7e890a0b75fc9b64838dd197f554c6c6285d88 19-Sep-2012 Tommi Rantala <tt.rantala@gmail.com> Plug in `ALIAS' attribute
/external/libunwind/tests/crasher.c
e3e49dc28aee0dc78f0243d932a5c950aaec7e3e 18-Sep-2012 Tommi Rantala <tt.rantala@gmail.com> Define and use `NOINLINE'
/external/libunwind/tests/crasher.c
ff0c6ccf6b526cbf3a17230541ba0793ac391d0b 07-Aug-2012 Tommi Rantala <tt.rantala@gmail.com> Remove unneeded length modifier from suppressed match in sscanf() format in tests/crasher.c

GCC is complaining about the `%*jx' match in sscanf() format string.
Replace it with `%*x'; sscanf() will identically match an unsigned
hexadecimal integer without the length modifier.

crasher.c: In function 'write_maps':
crasher.c:30:9: warning: use of assignment suppression and length modifier together in gnu_scanf format [-Wformat]
/external/libunwind/tests/crasher.c
04c77cced4975d2d4f8e1fd76b49e5884d9cbae4 10-Aug-2012 Konstantin Belousov <kostikbel@gmail.com> Fix for test suite build in the separate directory.
Avoid manually coding the rule to build crasher, instead fuddle
the compiler so that even -O2 optimization does not eliminate call
to b().

First, put calls to both a() and b() in the b() into non-tail-recursive
position. Second, as recommended in gcc manual, use asm volatile("");
to prevent further prevent inlining, besides attribute((noinline).
And third, call b() by alias, which current gcc optimizer cannot see
through.

Also, do not dereference NULL in a, and mark the memory access as volatile.
[ Minor portability improvements: asharma@fb.com ]
/external/libunwind/tests/crasher.c
0f6c8313b78b9bc292a36388b23436d0e71a8fd9 18-Jun-2012 Konstantin Belousov <kib@FreeBSD.org> Port crasher to FreeBSD.
/external/libunwind/tests/crasher.c
0f9a540c8c67ec4bb2e03130feea00a0cc9bf30c 17-May-2012 Martin Milata <mmilata@redhat.com> coredump: add test

Program test-coredump-unwind was modified to map backing files based on
virtual addresses instead of segment numbers.

The crasher.c is a program that essentially calls some functions and
then writes to invalid address causing a crash. Before that, it detects
which executables are mapped to which virtual addresses and writes this
information to a file suitable for consumption by test-coredump-unwind.
The mapping information is obtained form /proc/self/maps, so currently
it only works on linux.

The test itself is a shell script, which first runs the program and then
runs test-coredump-unwind on the resulting core and address space
map file to check whether the stack trace obtained from the dump roughly
corresponds to what it should look like.

Signed-off-by: Martin Milata <mmilata@redhat.com>
/external/libunwind/tests/crasher.c