<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:clayborg@gmail.com" title="Greg Clayton <clayborg@gmail.com>"> <span class="fn">Greg Clayton</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - Section's m_file_addr left unset after Mach-O parsing"
href="http://llvm.org/bugs/show_bug.cgi?id=18648">bug 18648</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>clayborg@gmail.com
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>INVALID
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - Section's m_file_addr left unset after Mach-O parsing"
href="http://llvm.org/bugs/show_bug.cgi?id=18648#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - Section's m_file_addr left unset after Mach-O parsing"
href="http://llvm.org/bugs/show_bug.cgi?id=18648">bug 18648</a>
from <span class="vcard"><a class="email" href="mailto:clayborg@gmail.com" title="Greg Clayton <clayborg@gmail.com>"> <span class="fn">Greg Clayton</span></a>
</span></b>
<pre>This is actually due to the mach-o file being not properly formed. Looking at
the segments and sections:
% dwarfdump -R simple
----------------------------------------------------------------------
File: simple (x86_64)
----------------------------------------------------------------------
Header
magic: 0xfeedfacf
cputype: 0x01000007
cpusubtype: 0x00000003
filetype: 0x00000002
ncmds: 0x00000009
sizeofcmds: 0x00000898
flags: 0x00000001
Segments
Segment Name vmaddr vmsize fileoff filesize
maxprot initprot nsects flags
---------------- ---------------- ---------------- ----------------
---------------- -------- -------- -------- --------
__PAGEZERO 0000000000000000 0000000000001000 0000000000000000
0000000000000000 00000000 00000000 00000000 00000000
__TEXT 0000000000001000 0000000000053000 0000000000000000
0000000000053000 00000007 00000005 00000006 00000000
__DATA 0000000000054000 00000000000207b8 0000000000053000
00000000000042a0 00000003 00000003 00000005 00000000
__LINKEDIT 0000000000075000 000000000000aef0 000000000007f000
000000000000aef0 00000007 00000003 00000000 00000000
__DWARF 0000000000000000 0000000000000000 0000000000058000
000000000002613d 00000000 00000000 00000008 00000000
Sections
Section Name Segment Name addr size offset
align reloff nreloc flags reserv1 reserv2 reserv3 size size %
---------------- ---------------- ---------------- ---------------- --------
-------- -------- -------- -------- -------- -------- -------- ======== ======
__text __TEXT 0000000000002000 000000000001b039 00001000
00000004 00000000 00000000 00000400 00000000 00000000 00000000 108.06K 17.82%
__rodata __TEXT 000000000001d040 00000000000164e0 0001c040
00000005 00000000 00000000 00000000 00000000 00000000 00000000 89.22K 14.71%
__typelink __TEXT 0000000000033520 00000000000000f8 00032520
00000003 00000000 00000000 00000000 00000000 00000000 00000000 248 0.04%
__gosymtab __TEXT 0000000000033620 000000000000b183 00032620
00000005 00000000 00000000 00000000 00000000 00000000 00000000 44.38K 7.32%
__gopclntab __TEXT 000000000003e7c0 00000000000148f9 0003d7c0
00000005 00000000 00000000 00000000 00000000 00000000 00000000 82.24K 13.56%
__symbol_stub1 __TEXT 00000000000530b9 0000000000000000 00000000
00000000 00000000 00000000 80000408 00000000 00000006 00000000 0 0.00%
__nl_symbol_ptr __DATA 0000000000054000 0000000000000000 00053000
00000002 00000000 00000000 00000006 00000000 00000000 00000000 0 0.00%
__noptrdata __DATA 0000000000054000 0000000000000030 00053000
00000003 00000000 00000000 00000000 00000000 00000000 00000000 48 0.01%
__data __DATA 0000000000054040 0000000000004248 00053040
00000005 00000000 00000000 00000000 00000000 00000000 00000000 16.57K 2.73%
__bss __DATA 00000000000582a0 0000000000006ff8 00000000
00000005 00000000 00000000 00000001 00000000 00000000 00000000 27.99K 4.62%
__noptrbss __DATA 000000000005f2a0 0000000000015518 00000000
00000005 00000000 00000000 00000001 00000000 00000000 00000000 85.27K 14.06%
__debug_abbrev __DWARF 0000000000000000 00000000000000d3 00058000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 211 0.03%
__debug_line __DWARF 0000000000000000 0000000000007228 000580d3
00000000 00000000 00000000 00000000 00000000 00000000 00000000 28.54K 4.71%
__debug_frame __DWARF 0000000000000000 0000000000004eb8 0005f2fb
00000000 00000000 00000000 00000000 00000000 00000000 00000000 19.68K 3.25%
__debug_info __DWARF 0000000000000000 0000000000015224 000641b3
00000000 00000000 00000000 00000000 00000000 00000000 00000000 84.54K 13.94%
__debug_pubnames __DWARF 0000000000000000 0000000000003454 000793d7
00000000 00000000 00000000 00000000 00000000 00000000 00000000 13.08K 2.16%
__debug_pubtypes __DWARF 0000000000000000 0000000000001120 0007c82b
00000000 00000000 00000000 00000000 00000000 00000000 00000000 4.28K 0.71%
__debug_aranges __DWARF 0000000000000000 00000000000007b0 0007d94b
00000000 00000000 00000000 00000000 00000000 00000000 00000000 1.92K 0.32%
__debug_gdb_scri __DWARF 0000000000000000 0000000000000042 0007e0fb
00000000 00000000 00000000 00000000 00000000 00000000 00000000 66 0.01%
We can see that the __DWARF segment has an address of zero and has no size. In
the mach-o world everything in the file must have a valid vmaddr and vmsize, so
the __DWARF segment should have an address that comes after the __LINKEDIT
section (0x75000 + 0xaef0), and the vmsize must be set correctly so it
encompasses all of the "__debug_xxx" sections. Also each address and size of
the "__debug" sections should be set to correctly fall into __DWARF segment
range of [vmaddr, vmsize).
So if you generate a valid mach-o file, LLDB will debug it just fine.
Marking as invalid since this isn't a LLDB bug.</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>