The difference is in the si_code. Linux has a value of 0, FreeBSD has
65537. This is correct.
From vki-freebsd.h
/*
* si_code values
*/
and indeed this signal gets sent by kill()
fprw.stderr.exp-freebsd-x86 \
fwrite.stderr.exp fwrite.vgtest fwrite.stderr.exp-kfail \
gone_abrt_xml.vgtest gone_abrt_xml.stderr.exp gone_abrt_xml.stderr.exp-solaris \
+ gone_abrt_xml.stderr.exp-freebsd \
holey_buffer_too_small.vgtest holey_buffer_too_small.stdout.exp \
holey_buffer_too_small.stderr.exp \
inits.stderr.exp inits.vgtest \
--- /dev/null
+<?xml version="1.0"?>
+
+<valgrindoutput>
+
+<protocolversion>4</protocolversion>
+<protocoltool>memcheck</protocoltool>
+
+<preamble>
+ <line>...</line>
+ <line>...</line>
+ <line>...</line>
+ <line>...</line>
+</preamble>
+
+<pid>...</pid>
+<ppid>...</ppid>
+<tool>memcheck</tool>
+
+<args>
+ <vargv>...</vargv>
+ <argv>
+ <exe>./../../gdbserver_tests/gone</exe>
+ <arg>abort</arg>
+ </argv>
+</args>
+
+<status>
+ <state>RUNNING</state>
+ <time>...</time>
+</status>
+
+starting ...
+aborting ...
+<fatal_signal>
+ <tid>...</tid>
+ <signo>6</signo>
+ <signame>SIGABRT</signame>
+ <sicode>65537</sicode>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>gone.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+</fatal_signal>
+
+
+<status>
+ <state>FINISHED</state>
+ <time>...</time>
+</status>
+
+<errorcounts>
+</errorcounts>
+
+<suppcounts>...</suppcounts>
+
+</valgrindoutput>
+