xuruobin via llvm-dev
2019-Jan-22 01:21 UTC
[llvm-dev] How to add new arch for llvm-cov show?
Hi all, I'm trying to support llvm-cov for a new architecture and I have successfully built compiler-rt for my arch. Following steps shown in https://clang.llvm.org/docs/SourceBasedCodeCoverage.html , I encountered an error for the last step(step of llvm-cov show). The command line was (supposed my arch is XXXX) "llvm-cov show -arch=XXXX ./foo -instr-profile=foo.profdata" and the error was "Failed to load coverage: No object file for requested architecture." I think I should add my arch information to somewhere(maybe an llvm-cov support list?) but I don't know where to add these information. Can someone give me some suggestions? Best Regards, Ruobin.
Vedant Kumar via llvm-dev
2019-Jan-22 17:24 UTC
[llvm-dev] How to add new arch for llvm-cov show?
Hi Ruobin,> On Jan 21, 2019, at 5:21 PM, xuruobin via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi all, > > I'm trying to support llvm-cov for a new architecture and I have successfully built compiler-rt for my arch. Following steps shown in https://clang.llvm.org/docs/SourceBasedCodeCoverage.html , I encountered an error for the last step(step of llvm-cov show). > The command line was (supposed my arch is XXXX) > > "llvm-cov show -arch=XXXX ./foo -instr-profile=foo.profdata" > > and the error was > > "Failed to load coverage: No object file for requested architecture." > > I think I should add my arch information to somewhere(maybe an llvm-cov support list?) but I don't know where to add these information. Can someone give me some suggestions?You’ll need to teach libObject about this architecture. Specifically, the coverage reader checks that calling getArch() on a loaded ObjectFile matches Triple(Arch).getArch() (see loadBinaryFormat in CoverageMappingReader.cpp). best, vedant> > Best Regards, > Ruobin. > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
xuruobin via llvm-dev
2019-Jan-23 09:24 UTC
[llvm-dev] 答复: How to add new arch for llvm-cov show?
Hi vedant, 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). The returned value of " OF->getArch()" is decided by " EF.getHeader()->e_machine" but I found "e_machine" is defined somewhere in MCAssembler(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? Best, Ruobin> -----邮件原件----- > 发件人: vsk at apple.com [mailto:vsk at apple.com] > 发送时间: 2019年1月23日 1:24 > 收件人: xuruobin <xuruobin at huawei.com> > 抄送: llvm-dev at lists.llvm.org; Yuchao (Michael) > <michael.yuchao at huawei.com> > 主题: Re: [llvm-dev] How to add new arch for llvm-cov show? > > Hi Ruobin, > > > On Jan 21, 2019, at 5:21 PM, xuruobin via llvm-dev <llvm-dev at lists.llvm.org> > wrote: > > > > Hi all, > > > > I'm trying to support llvm-cov for a new architecture and I have successfully > built compiler-rt for my arch. Following steps shown in > https://clang.llvm.org/docs/SourceBasedCodeCoverage.html , I encountered > an error for the last step(step of llvm-cov show). > > The command line was (supposed my arch is XXXX) > > > > "llvm-cov show -arch=XXXX ./foo -instr-profile=foo.profdata" > > > > and the error was > > > > "Failed to load coverage: No object file for requested architecture." > > > > I think I should add my arch information to somewhere(maybe an llvm-cov > support list?) but I don't know where to add these information. Can > someone give me some suggestions? > > You’ll need to teach libObject about this architecture. Specifically, the > coverage reader checks that calling getArch() on a loaded ObjectFile matches > Triple(Arch).getArch() (see loadBinaryFormat in > CoverageMappingReader.cpp). > > best, > vedant > > > > > > Best Regards, > > Ruobin. > > _______________________________________________ > > LLVM Developers mailing list > > llvm-dev at lists.llvm.org > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Maybe Matching Threads
- 答复: 答复: How to add new arch for llvm-cov show?
- 答复: How to add new arch for llvm-cov show?
- How to add new arch for llvm-cov show?
- How data is laid out in default.profraw when doing profiling?
- Assembly mimatch between windows and linux llvm.(probably caused by sort algorithm)