<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Failing FreeBSD test case test_inferior_asserting_disassemble (TestInferiorAssert.AssertingInferiorTestCase)"
href="http://llvm.org/bugs/show_bug.cgi?id=18533">18533</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Failing FreeBSD test case test_inferior_asserting_disassemble (TestInferiorAssert.AssertingInferiorTestCase)
</td>
</tr>
<tr>
<th>Product</th>
<td>lldb
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>FreeBSD
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>All Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>lldb-dev@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Reporter</th>
<td>emaste@freebsd.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>From buildbot,
<a href="http://llvm-amd64.freebsd.your.org:8010/builders/lldb-amd64-freebsd/builds/1709/steps/check-lldb.1/logs/stdio">http://llvm-amd64.freebsd.your.org:8010/builders/lldb-amd64-freebsd/builds/1709/steps/check-lldb.1/logs/stdio</a>
Reproducing manually,
% ../../build/bin/lldb test/functionalities/inferior-assert/a.out
(lldb) run
Process 22374 launched:
'/data/emaste/src/llvm/tools/lldb/test/functionalities/inferior-assert/a.out'
(x86_64)
Hello, assertion!
...
(lldb) frame select 2
frame #2: 0x0000000800921351 libc.so.7`__assert(func=<unavailable>,
file=<unavailable>, line=<unavailable>, failedexpr=<unavailable>) + 81 at
assert.c:54
51 (void)fprintf(stderr,
52 "Assertion failed: (%s), function %s, file %s,
line %d.\n",
53 failedexpr, func, file, line);
-> 54 abort();
55 /* NOTREACHED */
56 }
(lldb) disassemble -a 0x0000000800921351
libc.so.7`__assert at assert.c:45:
0x800921300: pushq %rbp
0x800921301: movq %rsp, %rbp
0x800921304: movl %edx, %r9d
0x800921307: movq %rsi, %r8
0x80092130a: movq %rdi, %rax
0x80092130d: movq 0x256fac(%rip), %rdx
0x800921314: movq (%rdx), %rdi
0x800921317: testq %rax, %rax
0x80092131a: jne 0x800921338 ; __assert + 56 at
assert.c:51
0x80092131c: leaq 0x2dd5f(%rip), %rsi
0x800921323: movq %rcx, %rdx
0x800921326: movq %r8, %rcx
0x800921329: movl %r9d, %r8d
0x80092132c: xorb %al, %al
0x80092132e: callq 0x8008547ac ; symbol stub for: fprintf
0x800921333: callq 0x80085490c ; symbol stub for: abort
0x800921338: leaq 0x2dd6e(%rip), %rsi
0x80092133f: movq %rcx, %rdx
0x800921342: movq %rax, %rcx
0x800921345: xorb %al, %al
0x800921347: callq 0x8008547ac ; symbol stub for: fprintf
0x80092134c: callq 0x80085490c ; symbol stub for: abort
(lldb)
The lookup of the PC in frame 2 finds __assert, but the __assert disassembly
stops before the PC:
(lldb) disassemble -s 0x0000000800921347
libc.so.7`__assert + 71 at assert.c:51:
0x800921347: callq 0x8008547ac ; symbol stub for: fprintf
0x80092134c: callq 0x80085490c ; symbol stub for: abort
-> 0x800921351: nop
0x800921352: nop
0x800921353: nop
0x800921354: nop</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>