Similar to qsort(), the glibc version of memcpy() also declares its
arguments with __attribute__(__nonnull__(...)). If NULL is passed
anyway, upstream GCC's new pass '-fisolate-erroneous-paths' typically
causes a trap in such cases. I've encountered this with GDB in
chain_candidate() when trying to execute the break.exp test case.
gdb/
2013-11-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
* dwarf2loc.c (chain_candidate): Prevent invoking memcpy with
NULL.
+2013-11-15 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (chain_candidate): Prevent invoking memcpy with
+ NULL.
+
2013-11-15 Tom Tromey <tromey@redhat.com>
PR c++/16117:
* (length - 1));
result->length = length;
result->callers = result->callees = length;
- memcpy (result->call_site, VEC_address (call_sitep, chain),
- sizeof (*result->call_site) * length);
+ if (!VEC_empty (call_sitep, chain))
+ memcpy (result->call_site, VEC_address (call_sitep, chain),
+ sizeof (*result->call_site) * length);
*resultp = result;
if (entry_values_debug)