<div>Hi,</div><div><br></div><div>Are there any existing patches (or instructions) for eglibc(may be glibc/uclibc) to build it correctly with llvm-gcc?</div><div><div>Could you please point to them?</div><div><br></div></div>
<div>I'm cross-compiling eglibc for new processor using llvm-gcc.</div><div>Build passes, but creates mis-optimized crt* files due to lack of -fno-toplevel-reorder support.</div><div>Seems there are reasons to skip support of this option in llvm.</div>
<div><a href="http://www.llvm.org/bugs/show_bug.cgi?id=6364">http://www.llvm.org/bugs/show_bug.cgi?id=6364</a></div><div><br></div>Particular issue is with libc/sysdeps/generic/initfini.c file which contains inlined asm with special markup. C is compiled into<br>
asm and then gawk is used to strip different parts for different crt* files.<br><br>However, llvm outputs all top level inlined asm first, and only after it outputs code for functions. As result<br>gawk strips wrong parts into crt*.s.<br>
<div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><pre class="bz_comment_text" id="comment_text_0" style="font-size: medium; font-family: monospace; white-space: pre-wrap; width: 50em; ">
<font class="Apple-style-span" face="arial"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: small;">Exmple initfini.c fragment:</span></font>
 asm (".section " ".init" );

 extern void __attribute__ ((section (".init"))) _init (void);
 void
 _init (void)
 {
  call_gmon_start ();

  asm ("ALIGN");
  asm("END_INIT");

  asm ("\n/*@_init_PROLOG_ENDS*/");
  asm ("\n/*@_init_EPILOG_BEGINS*/");
  asm (".section " ".init" );
 }
 asm ("END_INIT");
 asm ("\n/*@_init_EPILOG_ENDS*/");
 asm ("\n/*@_fini_PROLOG_BEGINS*/");</pre><font class="Apple-style-span" face="arial"><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"><br>Regards,<br>
Sergey Yakoushkin</span></font></span></div>