[LLVMdev] how to build eglibc using llvm-gcc without unsupported -fno-toplevel-reorder

Sergey Yakoushkin sergey.yakoushkin at gmail.com
Mon Feb 22 13:32:03 PST 2010


Hi,

llvm doesn't support -fno-toplevel-reorder option which affects
glibc/eglibc for some targets.
http://www.llvm.org/bugs/show_bug.cgi?id=6364

>From conversations with gcc and eglibc maintainers, seems option is
highly expected and is not going to deprecate.

>> 2010/2/23 Ian Lance Taylor <iant at google.com>:
>> If option is going to deprecate in gcc in near future as well, than it
>> make sense to consider changes in glibc(eglibc).
>> So, there are no plans to deprecate option. Did I understand correctly?
> Correct.  There are no plans to deprecate the -fno-toplevel-reorder
> option.

Are there any reasons why option can't be supported by llvm?

Regards,
Sergey Yakoushkin

2010/2/22 Török Edwin <edwintorok at gmail.com>:
> On 2010-02-21 23:36, Sergey Yakoushkin wrote:
>> Hi, Rafael
>>
>> Inlined asm markup inside functions and on the top level is used to
>> split asm prologue/epilogue parts in very fine-grained manner.
>> So, splitting source c won't give the same result.
>
> You could have 2 files:
>  - 1 which contains the function, and a marker where prolog ends
> (beginning of file is implicit marker of where it begins)
>  - 1 which contains the function, and a marker where epilog begins
> (end of file is implicit marker of where it ends)
>
> Or just look at ./sysdeps/x86_64/elf/initfini.c, its a single asm()
> block containing all relevant markers, and no C code.
> I think thats better than all these hacks to get the asm you want out of
> C code.
>
> Best regards,
> --Edwin




More information about the llvm-dev mailing list