<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Malgun Gothic";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Malgun Gothic";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:85.05pt 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:98918848;
        mso-list-type:hybrid;
        mso-list-template-ids:798421194 -1919005888 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:2;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Consolas;
        mso-fareast-font-family:"Malgun Gothic";
        mso-bidi-font-family:"Times New Roman";}
@list l1
        {mso-list-id:1220627204;
        mso-list-type:hybrid;
        mso-list-template-ids:675171446 -1338843622 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-text:"\(%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple style='word-wrap: break-word;
-webkit-nbsp-mode: space;-webkit-line-break: after-white-space'>

<div class=Section1>

<div>

<div>

<p class=MsoPlainText><span style='font-size:11.0pt'>On 2008-09-29 07:46, Keun
Soo Yim wrote:<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  Does anyone
succeed at compiling Linux kernel for Sparc v8 architecture?<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  I am currently
trying to expand the regime of LLVM to Sparc kernel codes.<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  The following
is the initial error messages. Any comment is welcomed.<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  <o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  #1. Inline
Assembly<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  <o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  Code:<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  register struct
thread_info *current_thread_info_reg asm("g6");<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  <o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  Error Message:<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>> 
include/asm/thread_info.h:77: error: invalid register name for <o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>
'current_thread_info_reg'<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>I suggest you open a bug
and attach a preprocessed C source file.<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  <o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>> #2. Link error for
single C file<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  <o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  Error Message:<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>> 
/tmp/ccQBRbb6.s:2226: Error: symbol `lstat64' is already defined<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>> 
/tmp/ccQBRbb6.s:2242: Error: symbol `stat64' is already defined<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>> 
/tmp/ccQBRbb6.s:2280: Error: symbol `fstat64' is already defined<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>How does that file look
like? Use -save-temps and attach them to a bugreport.<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>Best regards,<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>--Edwin<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'><o:p> </o:p></span></p>

<p class=MsoPlainText><span style='font-size:11.0pt'>>  <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>The
Sparc backend has no active maintainer [1].  This unfortunately means that
if you want bugs fixed, you will have to make the patches yourself.  If
this is a problem, you might want to pick a different solution for whatever
project you're tackling.<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>-Chris<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>[1]
Actually that's not true.  I'm the maintainer and I'm active, I just don't
have a sparc machine or time to care about sparc.<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>---<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>Thanks Edwin and Chris for interests!<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>Now, at least GCC front-end for Sparc has a problem at compilation.
Chris, is there any document describing the process of porting GCC front-end to
LLVM or would you like to explain a bit so that anyone interested in can port
GCC front-end for Sparc and Power architecture to LLVM? It will make LLVM keep
its initial status as until its version 1.6, it supported Sparc and Power
front-ends.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>This is a description of current Sparc front-end. The first
error that I had was caused by the LLVM’s GCC front-end for x86. As the front-end
I used was compiled for x86 target, it cannot translate the inline assembly
code into the LLVM byte code. I tried to compile both original GCC 4.2 and the GCC
front-end for LLVM however both had at least one error. The GCC 4.2 for Sparc,
MIPS, and ARM is currently broken (see, <a
href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32101">http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32101</a>).<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>Edwin, new errors are attached below as I identified the reason
of the previously posted errors. First bug I previously posted was due to
inline assembly and the second bug is due to the difference in linker option
which I solved by changing the option. <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>(1) An error message generated when compile GCC for Sparc
architecture.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>/home/ksyim/workspace/compiler/llvm/gcc-4.2.2/objdir-sparc/./gcc/xgcc
-B/home/ksyim/workspace/compiler/llvm/gcc-4.2.2/objdir-sparc/./gcc/
-B/home/ksyim/workspace/compiler/llvm/gcc-4.2.2/release-sparc/sparc-sun-linux/bin/
-B/home/ksyim/workspace/compiler/llvm/gcc-4.2.2/release-sparc/sparc-sun-linux/lib/
-isystem
/home/ksyim/workspace/compiler/llvm/gcc-4.2.2/release-sparc/sparc-sun-linux/include
-isystem /home/ksyim/workspace/compiler/llvm/gcc-4.2.2/release-sparc/sparc-sun-linux/sys-include
-O2 -O2 -g -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -I. -I. -I../../gcc
-I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include 
-I../../gcc/../libdecnumber -I../libdecnumber  -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-toplevel-reorder -Dinhibit_libc  \<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>          -c
../../gcc/crtstuff.c -DCRT_BEGIN \<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>         
-o crtbegin.o<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>/home/ksyim/workspace/compiler/llvm/gcc-4.2.2/objdir-sparc/./gcc/as:
line 2: exec: -Q: invalid option<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>exec:
usage: exec [-cl] [-a name] file [redirection ...]<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>make[2]:
*** [crtbegin.o] Error 1<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>make[2]:
Leaving directory
`/scr/ksyim/workspace/compiler/llvm/gcc-4.2.2/objdir-sparc/gcc'<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>(2) </span><span style='font-size:11.0pt;font-family:Consolas'>If
I runaround (1), there comes another error!<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>/scr/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/objdir-sparc/./gcc/xgcc
-B/scr/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/objdir-sparc/./gcc/
-B/home/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/release-sparc//sparc-sun-linux/bin/
-B/home/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/release-sparc//sparc-sun-linux/lib/
-isystem /home/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/release-sparc//sparc-sun-linux/include
-isystem
/home/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/release-sparc//sparc-sun-linux/sys-include 
-O2  -O2 -g -O2  -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I.
-I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include 
-I../../gcc/../libdecnumber -I../libdecnumber
-I/home/ksyim/workspace/compiler/llvm/llvm-2.3/objdir-sparc//include
-I/scr/ksyim/workspace/compiler/llvm/llvm-2.3/include -DL_mulvsi3  -c
../../gcc/libgcc2.c -o libgcc/./_mulvsi3.o<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>Cannot yet
select: 0x8a92348: i32,i32 = smul_lohi 0x8aa5150, 0x8a925f8<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>../../gcc/libgcc2.c:177:
internal compiler error: Aborted<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>Please
submit a full bug report,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>with
preprocessed source if appropriate.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>See
<URL:http://developer.apple.com/bugreporter> for instructions.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>make[3]:
*** [libgcc/./_mulvsi3.o] Error 1<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas'>make[3]:
Leaving directory
`/scr/ksyim/workspace/compiler/llvm/llvm-gcc4.2-2.3.source/objdir-sparc/gcc'<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'>- Keun Soo<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:Consolas;
color:#1F497D'><o:p> </o:p></span></p>

</div>

</div>

</div>

</body>

</html>