Hello Paul, Yonghong Thank you very much for your help and understand.
Regards, Yutaro > 2018/09/19 23:08、Y Song <[email protected]>のメール: > > On Wed, Sep 19, 2018 at 1:20 AM Paul Chaignon <[email protected] > <mailto:[email protected]>> wrote: >> >> 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. > > You can also cc llvm-commits. > >>> >>> Yonghong >>> >>>> >>>> Regards, >>>> Yutaro -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1487): https://lists.iovisor.org/g/iovisor-dev/message/1487 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]] -=-=-=-=-=-=-=-=-=-=-=-
