<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:微软雅黑;
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:"\@微软雅黑";
        panose-1:2 11 5 3 2 2 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi vedant,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I found the machine code which defined in binutils and changed the number in llvm/support/ELF.h to make them consistent. And defined these 4 __llvm_prf_* sections
 as 4 independent sections. Now the llvm-cov works fine. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Ruobin.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="ZH-CN" style="font-size:11.0pt;font-family:"微软雅黑",sans-serif">发件人</span></b><b><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif">:</span></b><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif"> vsk@apple.com
 [mailto:vsk@apple.com] <br>
<b><span lang="ZH-CN">发送时间</span>:</b> 2019<span lang="ZH-CN">年</span>1<span lang="ZH-CN">月</span>26<span lang="ZH-CN">日</span> 2:55<br>
<b><span lang="ZH-CN">收件人</span>:</b> xuruobin <xuruobin@huawei.com><br>
<b><span lang="ZH-CN">抄送</span>:</b> Vedant Kumar <vedant_kumar@apple.com>; llvm-dev@lists.llvm.org; Yuchao (Michael) <michael.yuchao@huawei.com><br>
<b><span lang="ZH-CN">主题</span>:</b> Re: [llvm-dev] How to add new arch for llvm-cov show?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Jan 24, 2019, at 6:15 PM, xuruobin via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi vedant,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div style="margin-left:36.0pt">
<p class="MsoNormal" style="text-indent:-18.0pt">1.<span style="font-size:7.0pt">     <span class="apple-converted-space"> </span></span>First, I think your theory is right that llvm’s object file reading libraries do not “understand” the architecture I’m working
 on. Since I’m using binutils as assembler which means llvm can only provide asm and object file is provided by biutils. I think these ELF header information is provided by my binutils now, so maybe I have to modify binutils code to provide ELF header to llvm?<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks, this helps me understand your workflow a bit better. And yes, that sounds right.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div style="margin-left:36.0pt">
<p class="MsoNormal">Second, I’m sorry to say that I’m now working on llvm-4.0.0 and in ELF.cpp there is no “return getDynamicTagAsString(getHeader()->e_machine, Type);”. But I think it makes sense ELF file reader get nothing because my compiler doesn’t write
 these information.<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">You mentioned earlier that you're passing assembly to binutils. Perhaps binutils expects an asm directive to inform it which architecture it's targeting?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div style="margin-left:36.0pt">
<p class="MsoNormal">It seems I have to find somewhere(maybe an ELF file writer) to write e_machine  so my reader will read this. But I have no idea where to write it now.<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If there's no asm directive the compiler can emit, you could hack binutils to have it emit the correct e_machine bits for your architecture only.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="margin-left:36.0pt">
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div style="margin-left:36.0pt">
<p class="MsoNormal" style="text-indent:-18.0pt">2.<span style="font-size:7.0pt">     <span class="apple-converted-space"> </span></span>In CoverageMapping.cpp, there is a checking “OF->getArch() != Triple(Arch).getArch()” and it makes an error if not equal.
 “OF->getArch” will go into a switch/case and the code enters the default branch which returns an UnknownArch. I hacked the code to make default branch return Triple::XXXX(only a temporary solution for the first point).<o:p></o:p></p>
</div>
<div style="margin-left:36.0pt">
<p class="MsoNormal">Where should I place __llvm_prf_*  sections? Is it ok to put them into .rodata section?<o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I'm not really familiar with ELF, but as I understand it, .rodata is its own section (unlike MachO's __DATA_CONST, which is a segment). So I'm not sure that it's possible to put __llvm_prf* *in* another section.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">vedant<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="margin-left:36.0pt">
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Best,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ruobin<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="MsoNormal"><b><span lang="ZH-CN" style="font-size:11.0pt;font-family:"微软雅黑",sans-serif">发件人</span></b><b><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif">:</span></b><span class="apple-converted-space"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif"> </span></span><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif"><a href="mailto:vsk@apple.com">vsk@apple.com</a>
 [<a href="mailto:vsk@apple.com">mailto:vsk@apple.com</a>]<span class="apple-converted-space"> </span><b><span lang="ZH-CN">代表</span><span class="apple-converted-space"> </span></b>Vedant Kumar<br>
<b><span lang="ZH-CN">发送时间</span>:</b><span class="apple-converted-space"> </span>2019<span lang="ZH-CN">年</span>1<span lang="ZH-CN">月</span>25<span lang="ZH-CN">日</span><span class="apple-converted-space"> </span>3:14<br>
<b><span lang="ZH-CN">收件人</span>:</b><span class="apple-converted-space"> </span>xuruobin <<a href="mailto:xuruobin@huawei.com">xuruobin@huawei.com</a>><br>
<b><span lang="ZH-CN">抄送</span>:</b><span class="apple-converted-space"> </span><a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>; Yuchao (Michael) <<a href="mailto:michael.yuchao@huawei.com">michael.yuchao@huawei.com</a>><br>
<b><span lang="ZH-CN">主题</span>:</b><span class="apple-converted-space"> </span>Re: [llvm-dev] How to add new arch for llvm-cov show?</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">On Jan 23, 2019, at 11:36 PM, xuruobin <<a href="mailto:xuruobin@huawei.com"><span style="color:purple">xuruobin@huawei.com</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi vedant,</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:36.0pt">
<div>
<p class="MsoNormal" style="text-indent:-18.0pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">1.</span><span style="font-size:7.0pt;color:#1F497D">      <span class="apple-converted-space"> </span></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">The
 definition is from llvm/Supprot/ELF.h. But this machine information(e_machine) is given to compiler at lib/MC/ELFObjectWriter.cpp. I greped the whole llvm project and found that e_machine was assigned at only two files. One was lib/MC/ELFObjectWriter.cpp(there
 was an comment said “e_machine=target”) and the other was tools/obj2yaml/elf2yaml.cpp(GDB stopped only at the former one when using x86_64 llvm-cov so I thought it was MC provide this e_machine information to compiler).</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">First, I think this reinforces my theory that llvm’s object file reading libraries do not “understand” the architecture you’re working on.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Second — and I’m not super familiar with this part of the codebase, so apologies for any mistakes here — you might have missed the ELF file reader?<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">$ git grep -iE "\<e_?machine\>” lib<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">…<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">lib/Object/ELF.cpp:  return getDynamicTagAsString(getHeader()->e_machine, Type);<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div style="margin-left:36.0pt">
<div>
<p class="MsoNormal" style="text-indent:-18.0pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">2.</span><span style="font-size:7.0pt;color:#1F497D">      <span class="apple-converted-space"> </span></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">New
 error was “Failed to load coverage: No coverage data found” since the compiler cannot get NamesSection(at loadBinaryFormat in CoverageMappingReader.cpp). I thought it was my ldscript problem because I put __llvm_prf_names,</span><span class="apple-converted-space"><span style="color:white"> </span></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">__llvm_prf_cnts,</span><span class="apple-converted-space"><span style="color:white"> </span></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">__llvm_prf_data
 and __llvm_prf_vnds inside .rodata section. Compiler checked .rodata but not things inside .rodata. What’s the right position to put these 4 __llvm_prf_* sections?</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I’m not sure what changed, exactly, between the point you encountered the last error and this one. Could you elaborate?<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">This is just a shot in the dark, but you may need to teach getInstrProfSectionName about any custom linker directives needed for your architecture.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">vedant<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Best,</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Ruobin.</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<div>
<p class="MsoNormal"><b><span lang="ZH-CN" style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">发件人</span></b><b><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">:</span></b><span class="apple-converted-space"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white"> </span></span><a href="mailto:vsk@apple.com"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:purple">vsk@apple.com</span></a><span class="apple-converted-space"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white"> </span></span><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">[</span><a href="mailto:vsk@apple.com"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:purple">mailto:vsk@apple.com</span></a><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">]<span class="apple-converted-space"> </span><b><span lang="ZH-CN">代表</span><span class="apple-converted-space"> </span></b>Vedant
 Kumar<br>
<b><span lang="ZH-CN">发送时间</span>:</b><span class="apple-converted-space"> </span>2019<span lang="ZH-CN">年</span>1<span lang="ZH-CN">月</span>24<span lang="ZH-CN">日</span><span class="apple-converted-space"> </span>0:12<br>
<b><span lang="ZH-CN">收件人</span>:</b><span class="apple-converted-space"> </span>xuruobin <</span><a href="mailto:xuruobin@huawei.com"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:purple">xuruobin@huawei.com</span></a><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">><br>
<b><span lang="ZH-CN">抄送</span>:</b><span class="apple-converted-space"> </span></span><a href="mailto:vsk@apple.com"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:purple">vsk@apple.com</span></a><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">;<span class="apple-converted-space"> </span></span><a href="mailto:llvm-dev@lists.llvm.org"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:purple">llvm-dev@lists.llvm.org</span></a><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">;
 Yuchao (Michael) <</span><a href="mailto:michael.yuchao@huawei.com"><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:purple">michael.yuchao@huawei.com</span></a><span style="font-size:11.0pt;font-family:"微软雅黑",sans-serif;color:white">><br>
<b><span lang="ZH-CN">主题</span>:</b><span class="apple-converted-space"> </span>Re:<span class="apple-converted-space"> </span><span lang="ZH-CN">答复</span>: [llvm-dev] How to add new arch for llvm-cov show?</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:white">On Jan 23, 2019, at 1:24 AM, xuruobin <</span><a href="mailto:xuruobin@huawei.com"><span style="color:purple">xuruobin@huawei.com</span></a><span style="color:white">> wrote:</span><o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white">Hi vedant,<br>
<br>
 The program didn't pass the checking "OF->getArch() != Triple(Arch).getArch()" loadBinaryFormat in CoverageMappingReader.cpp and returned an error. It's because "OF->getArch()" returned null and "Triple(Arch).getArch()" returned XXXX(name of my arch).<span class="apple-converted-space"> </span><br>
 The returned value of  " OF->getArch()" is decided by " EF.getHeader()->e_machine" but I found "e_machine" is defined somewhere in MCAssembler</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white">I haven’t double-checked, but I thought this definition came from llvm/Support/ELF.h?</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"><br>
<br>
<br>
<br>
</span><o:p></o:p></p>
</div>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white">(My compiler uses binutils as assembler) . Although I make some hacks to pass this checking, I still get other errors. So my problem is whether llvm-cov has to work with MCAssembler and is it possible to do it
 with binutils?</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white">Coverage support should be / is largely compatible with binutils, but you may have to watch out for this BFD bug: </span><a href="https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#drawbacks-and-limitations"><span style="color:purple">https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#drawbacks-and-limitations</span></a><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white">What is the error you see?</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white">vedant </span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"><br>
<br>
<br>
<br>
</span><o:p></o:p></p>
</div>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:white"><br>
Best,<br>
Ruobin<br>
<br>
<br>
<br>
<br>
</span><o:p></o:p></p>
</div>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">-----</span><span lang="ZH-CN" style="font-family:宋体;color:white">邮件原件</span><span style="color:white">-----</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="ZH-CN" style="font-family:宋体;color:white">发件人</span><span style="color:white">:<span class="apple-converted-space"> </span></span><a href="mailto:vsk@apple.com"><span style="color:purple">vsk@apple.com</span></a><span class="apple-converted-space"><span style="color:white"> </span></span><span style="color:white">[</span><a href="mailto:vsk@apple.com"><span style="color:purple">mailto:vsk@apple.com</span></a><span style="color:white">]</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="ZH-CN" style="font-family:宋体;color:white">发送时间</span><span style="color:white">: 2019</span><span lang="ZH-CN" style="font-family:宋体;color:white">年</span><span style="color:white">1</span><span lang="ZH-CN" style="font-family:宋体;color:white">月</span><span style="color:white">23</span><span lang="ZH-CN" style="font-family:宋体;color:white">日</span><span class="apple-converted-space"><span style="color:white"> </span></span><span style="color:white">1:24</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="ZH-CN" style="font-family:宋体;color:white">收件人</span><span style="color:white">: xuruobin <</span><a href="mailto:xuruobin@huawei.com"><span style="color:purple">xuruobin@huawei.com</span></a><span style="color:white">></span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="ZH-CN" style="font-family:宋体;color:white">抄送</span><span style="color:white">:<span class="apple-converted-space"> </span></span><a href="mailto:llvm-dev@lists.llvm.org"><span style="color:purple">llvm-dev@lists.llvm.org</span></a><span style="color:white">;
 Yuchao (Michael)</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"><</span><a href="mailto:michael.yuchao@huawei.com"><span style="color:purple">michael.yuchao@huawei.com</span></a><span style="color:white">></span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="ZH-CN" style="font-family:宋体;color:white">主题</span><span style="color:white">: Re: [llvm-dev] How to add new arch for llvm-cov show?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">Hi Ruobin,</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">On Jan 21, 2019, at 5:21 PM, xuruobin via llvm-dev <</span><a href="mailto:llvm-dev@lists.llvm.org"><span style="color:purple">llvm-dev@lists.llvm.org</span></a><span style="color:white">></span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">wrote:</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">Hi all,</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">I'm trying to support llvm-cov for a new architecture and I have successfully</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">built compiler-rt for my arch. Following steps shown in</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><a href="https://clang.llvm.org/docs/SourceBasedCodeCoverage.html"><span style="color:purple">https://clang.llvm.org/docs/SourceBasedCodeCoverage.html</span></a><span class="apple-converted-space"><span style="color:white"> </span></span><span style="color:white">,
 I encountered</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">an error for the last step(step of llvm-cov show).</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">The command line was (supposed my arch is XXXX)</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">"llvm-cov show -arch=XXXX ./foo -instr-profile=foo.profdata"</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">and the error was</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">"Failed to load coverage: No object file for requested architecture."</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">I think I should add my arch information to somewhere(maybe an llvm-cov</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">support list?) but I don't know where to add these information. Can</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">someone give me some suggestions?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">You’ll need to teach libObject about this architecture. Specifically, the</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">coverage reader checks that calling getArch() on a loaded ObjectFile matches</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">Triple(Arch).getArch() (see loadBinaryFormat in</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">CoverageMappingReader.cpp).</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">best,</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">vedant</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">Best Regards,</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">Ruobin.</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">_______________________________________________</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="color:white">LLVM Developers mailing list</span><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><a href="mailto:llvm-dev@lists.llvm.org"><span style="color:purple">llvm-dev@lists.llvm.org</span></a><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"><span style="color:purple">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</span></a><o:p></o:p></p>
</div>
</div>
</blockquote>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif">_______________________________________________<br>
LLVM Developers mailing list<br>
</span><a href="mailto:llvm-dev@lists.llvm.org"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;color:purple">llvm-dev@lists.llvm.org</span></a><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif"><br>
</span><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;color:purple">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</span></a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>