[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)

Eugene Toder eltoder at gmail.com
Thu Jun 17 10:31:38 PDT 2010


Well, post-processing then.

On Thu, Jun 17, 2010 at 6:25 PM, David Terei <davidterei at gmail.com> wrote:
> On 15 June 2010 23:08, Eugene Toder <eltoder at gmail.com> wrote:
>> Subsections is a very good idea. You can even do without
>> post-processing by using carefully crafted section names, e.g.
>>
>> __attribute__((section(".text,\"ax\", at progbits\n\t.subsection 1 #")))
>> void foo()
>> {
>> }
>
> There is one problem with the section name used here, 'llvm-as'
> doesn't support it. LLVM itself does, so if you compile the above with
> clang then it works fine. If you try to use that section name in a .ll
> file and call one of the tools it fails as the parser doesn't support
> escaping quotes. It also doesn't support interpreting '\n' as a new
> line and outputs each character into the assembly file. Anyway you can
> get around this by using a section name like:
>
> ".text;.subsection 1 #"
>
> instead. If your using the LLVM API then this isn't a problem.
>
> David
>



More information about the llvm-dev mailing list