<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 2, 2014 at 1:54 PM, Simon Atanasyan <span dir="ltr"><<a href="mailto:simon@atanasyan.com" target="_blank">simon@atanasyan.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br>
<div class=""><br>
On Wed, Apr 2, 2014 at 1:03 AM, Michael Spencer <<a href="mailto:bigcheesegs@gmail.com">bigcheesegs@gmail.com</a>> wrote:<br>
> On Mon, Mar 31, 2014 at 10:54 AM, Simon Atanasyan <<a href="mailto:simon@atanasyan.com">simon@atanasyan.com</a>> wrote:<br>
</div><div class="">>> As far as I understand now it is impossible to generate ELF object<br>
>> file with relocation sections using yaml2obj tool. I plan to support<br>
>> ELF relocations in the yaml2obj. Does anybody work on it already or<br>
>> plan to start this task soon?<br>
><br>
> I know of nobody working on this. It would be great to have, thanks!<br>
<br>
</div>I am going to add "Relocations" optional list to the "Section"<br>
element. So a YAML file will look like below. An alternative option is<br>
to introduce new top-level list "Relocation Sections" with "Relocation<br>
Section" entries. But I think this solution is a little bit over<br>
designed.<br>
<br>
Any objections / suggestions?<br>
<br>
[[<br>
Sections:<br>
  - Name: .text<br>
    Type: SHT_PROGBITS<br>
    Content: "0000000000000000"<br>
    AddressAlign: 16<br>
    Flags: [SHF_ALLOC]<br>
<br>
  - Name: .rel.text<br>
    Type: SHT_REL<br>
    Info: .text<br>
    AddressAlign: 4<br>
    Relocations:<br>
      - !Relocation<br>
        Offset: 0x1<br>
        SymbolName: glob1<br>
        Type: R_MIPS_32<br>
      - !Relocation<br>
        Offset: 0x2<br>
        SymbolName: glob2<br>
        Type: R_MIPS_CALL16<br>
]]<br></blockquote><div><br></div><div>This makes sense to me. It is basically how I imagined this feature being implemented. I.e. for certain sections there are keys that represent the "Content" in a smarter way than just a hex string.</div>
<div><br class="">It would be really nice to be able to use `!Relocations` to tag the section like Michael said; I think of it as a "dyn_cast" for choosing the set of keys that are used to fill in the `Content`. I don't know how easy it is to do this with YAMLIO but this would be a really great feature to add if it isn't already implemented. If that is a pain, then I think it would be acceptable to have both `Content` and `Relocations` in `struct Section` and use YAMLIO validation <<a href="http://llvm.org/docs/YamlIO.html#validation">http://llvm.org/docs/YamlIO.html#validation</a>> to make sure that they both aren't specified.<br>
</div><div><br></div><div>-- Sean Silva</div><div><br></div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<span class=""><font color="#888888"><br>
--<br>
Simon Atanasyan<br>
</font></span></blockquote></div><br></div></div>