[LLVMdev] Comment "FIXME" in X86MachObjectWriter::RecordX86Relocation

Kaylor, Andrew andrew.kaylor at intel.com
Fri Jun 29 15:47:21 PDT 2012


Can I assume we're talking about MCJIT since a file format and relocations are involved?

Some changes are required in order to get MCJIT to generate ELF object files.  Eli Bendersky submitted a patch some time ago to modify the target triple code to enable this, but after a bit of discussion there didn't seem to be a consensus for accepting this proposal.

If you want to try it out, the patch can be found here: 

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136053.html

I believe you can also find the related discussions from that post.  We've had success using this patch to generate ELF on Windows.  I don't know if any progress has been made toward a more generally acceptable solution.

-Andy


-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Jim Grosbach
Sent: Friday, June 29, 2012 9:54 AM
To: Verena Beckham
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Comment "FIXME" in X86MachObjectWriter::RecordX86Relocation

Hi Verena,

Windows + MachO is likely to run into lots of problems once you start passing in non-trivial code. The relocation model is very tied to Darwin.

I believe some folks doing JIT on Windows have had some success w/ ELF. Hopefully someone more familiar with the specifics of that will chime in.

-Jim

On Jun 29, 2012, at 8:58 AM, Verena Beckham <verena at codeplay.com> wrote:

> Hi,
> 
> In X86MachObjectWriter::RecordX86Relocation I found the comment
> 
> 
>   if (Target.isAbsolute()) { // constant
>     // SymbolNum of 0 indicates the absolute section.
>     //
>     // FIXME: Currently, these are never generated (see code below). I 
> cannot
>     // find a case where they are actually emitted.
>     Type = macho::RIT_Vanilla;
>   }
> 
> Is the FIXME still true? I've got some code that hits this, and it 
> seems any code doing a function call to an absolute address (as 
> described in this bug for ELF: 
> http://llvm.org/bugs/show_bug.cgi?id=8656) would hit this. (Although I 
> haven't tried it)
> 
> I'm using Windows 32bit x86 Mach-O, with MCJIT.
> 
> Trying to find a bug within my program and wondered whether the code 
> is just not supported by LLVM. Let me know if you need a testcase.
> 
> Thanks!
> 
> 
> --
> Verena Beckham
> 
> Vice President Engineering
> 
> Codeplay Software Ltd
> 45 York Place, Edinburgh, EH1 3HP
> Tel: 0131 466 0503
> Fax: 0131 557 6600
> Website: http://www.codeplay.com
> 
> This email and any attachments may contain confidential and /or 
> privileged information and  is for use  by the addressee only. If you 
> are not the intended recipient, please notify Codeplay Software Ltd 
> immediately and delete the message from your computer. You may not 
> copy or forward it,or use or disclose its contents to any other 
> person. Any views or other information in this message which do not 
> relate to our business are not authorized by Codeplay software Ltd, 
> nor does this message form part of any contract unless so stated.
> As internet communications are capable of data corruption Codeplay 
> Software Ltd does not accept any responsibility for any changes made 
> to this message after it was sent. Please note that Codeplay Software 
> Ltd does not accept any liability or responsibility for viruses and it 
> is your responsibility to scan any attachments.
> Company registered in England and Wales, number: 04567874 Registered 
> office: 81 Linkfield Street, Redhill RH1 6BY 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list