On Wed, Sept 19, 2018 at 8:17 AM, Yonghong Song wrote: > On 9/18/18 12:18 AM, Yutaro Hayakawa wrote: > > Hello, > > > > Paul, thank you for your help. I’m Yutaro a reporter of this issue. > > > >> > >> On Mon, Sep 17, 2018 at 3:46 PM Alexei Starovoitov > >> <[email protected] <mailto:[email protected]>> > >> wrote: > >>> > >>> On Mon, Sep 17, 2018 at 11:29:13PM +0200, Paul Chaignon wrote: > >>>> I am sending here as an RFC instead of LLVM's mailing list as I'm > >>>> not sure > >>>> this is the intended behavior, and the "fix" may therefore not be > >>>> needed. > >>>> > >>>> Clang-compiled object files currently don't include the symbol sizes and > >>>> types. Some tools however need that information. For example, > >>>> ctfconvert > >>>> uses that information to generate FreeBSD's CTF representation from ELF > >>>> files. > >>>> With this patch, that information is included in object files. > >>>> > >>>> Signed-off-by: Paul Chaignon <[email protected] > >>>> <mailto:[email protected]>> > >>>> Reported-by: Yutaro Hayakawa <[email protected] > >>>> <mailto:[email protected]>> > >>>> --- > >>>> Index: lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h > >>>> =================================================================== > >>>> --- lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h (revision 341679) > >>>> +++ lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h (working copy) > >>>> @@ -30,8 +30,8 @@ > >>>> WeakRefDirective = "\t.weak\t"; > >>>> > >>>> UsesELFSectionDirectiveForBSS = true; > >>>> - HasSingleParameterDotFile = false; > >>>> - HasDotTypeDotSizeDirective = false; > >>>> + HasSingleParameterDotFile = true; > >>>> + HasDotTypeDotSizeDirective = true; > >>>> > >>>> SupportsDebugInformation = true; > >>>> ExceptionsType = ExceptionHandling::DwarfCFI; > >>> > >>> make sense to me, but I wonder why pahole's dwarf->btf converter > >>> doesn't have this issue. > >>> Could you describe what exactly are you trying to do with llvm > >>> generated elf file? > >> > >> Currently, BTF does not deal with symbols, so that is why it is okay. > >> llvm-objdump does not need symbol size either. It only needs symbol > >> offset. > >> that is why we did not have issues so far. > >> > >> In my future proposed func support in BTF, I also need offset only. > >> > >> In your use case, the size is merely to satisfy conversion to CTF or there > >> are some other needs? What did you do with CTF? > > > > Describing the background, I’m trying to port eBPF to FreeBSD > > (https://github.com/YutaroHayakawa/generic-ebpf) > > > > What I want to do with CTF is very similar to that of BTF, but I > > currently focusing on assisting verification. Since FreeBSD > > already has library to deal with CTF, we prefer to use CTF instead of BTF. > > > > In FreeBSD, we usually use tool called ctfconvert > > (https://www.freebsd.org/cgi/man.cgi?query=ctfconvert&sektion=1&apropos=0&manpath=FreeBSD+10.0-RELEASE > > > > <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.freebsd.org_cgi_man.cgi-3Fquery-3Dctfconvert-26sektion-3D1-26apropos-3D0-26manpath-3DFreeBSD-2B10.0-2DRELEASE&d=DwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=iNlZa9ix8b8zAn4H53xuaTcSjVa5mlX0j4jNsEgF7gY&s=7c-EOY-jp0QTHfqm121Y9ODTslqckSpZBzQSrP7Qi6o&e=>) > > > > to generate CTF. > > > > And the problem is ctfconvert is aware of symbol type and size. It > > cannot generate correct CTF if they were missing. > > > > To solve this issue I need the change. > > Yutaro/Paul, > > Thanks for explanation. Now I understand your use case. > The change looks good to me. Please send me and Alexei a formal patch > through standard "git send-email" or just an email with > all necessary patch information, and I will apply > to llvm trunk.
Don't we need to cc llvm-commits? I can also send via Phabricator if that's fine with you. > > Yonghong > > > > > Regards, > > Yutaro > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1482): https://lists.iovisor.org/g/iovisor-dev/message/1482 Mute This Topic: https://lists.iovisor.org/mt/25729284/21656 Group Owner: [email protected] Unsubscribe: https://lists.iovisor.org/g/iovisor-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
