<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-12574936</id><updated>2012-05-17T00:19:26.054+08:00</updated><category term="shellcode" /><category term="linker" /><category term="documentation" /><category term="glibc" /><category term="fuse" /><category term="gentoo" /><category term="bug" /><category term="acid3" /><category term="crossdev" /><category term="ntfs-3g" /><category term="loongson" /><category term="bayonne" /><category term="tag" /><category term="scim" /><category term="fontconfig" /><category term="cflags" /><category term="sysroot" /><category term="suse" /><category term="chardet" /><category term="audacious" /><category term="gwn" /><category term="firefox" /><category term="xulrunner" /><category term="plugin" /><category term="gaim" /><category term="as-needed" /><category term="input method" /><category term="winning eleven" /><category term="synway" /><category term="prelink" /><category term="unicode" /><category term="ivr" /><category term="ld" /><category term="mldonkey" /><category term="c++" /><category term="laptop" /><category term="antialias" /><category term="linux" /><category term="driver" /><category term="debug" /><category term="screen" /><category term="distcc" /><category term="i18n" /><category term="binutils" /><category term="id3v2" /><category term="portage" /><category term="cvs" /><category term="emacs" /><category term="ps3" /><category term="gdb" /><category term="yeeloong" /><category term="ntfs" /><category term="sqlite" /><category term="stardict" /><category term="simsun" /><category term="voip" /><category term="fcitx" /><category term="overlay" /><category term="game" /><category term="bash" /><category term="font" /><category term="kde" /><category term="dri" /><category term="segfault" /><category term="asterisk" /><category term="free software" /><category term="mips" /><category term="desktop" /><category term="kernel" /><category term="ocaml" /><category term="gcc" /><category term="mp3" /><category term="fbsplash" /><category term="qt" /><category term="fuloong" /><category term="amarok" /><category term="exploit" /><category term="nvidia" /><title type="text">Free as in freedom</title><subtitle type="html">This blog is about works I have done for Gentoo and free software in general</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://r0bertz.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default?start-index=26&amp;max-results=25" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>206</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/r0bertz" /><feedburner:info uri="r0bertz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/2.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><feedburner:emailServiceId>r0bertz</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry><id>tag:blogger.com,1999:blog-12574936.post-50582622836791188</id><published>2011-08-20T01:28:00.003+08:00</published><updated>2011-08-20T06:39:46.464+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gentoo" /><title type="text">about gentoo-cn.org</title><content type="html">There's been some problem renewing this domain. We might as well abandon this domain name altogether and switch to gentoo-zh.org. Actually I have already registered the later one.
&lt;br /&gt;
&lt;br /&gt;Probably will set it up this weekend.
&lt;br /&gt;
&lt;br /&gt;Meanwhile you can access the site using zhangle.is-a-geek.org. Everything works fine, except sub domains, like {planet,irc...}.gentoo-cn.org.
&lt;br /&gt;
&lt;br /&gt;Sorry for the convenience caused, if any.
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-50582622836791188?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=7anFIC3Zpz4:I5yX0GvaAg8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=7anFIC3Zpz4:I5yX0GvaAg8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=7anFIC3Zpz4:I5yX0GvaAg8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=7anFIC3Zpz4:I5yX0GvaAg8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=7anFIC3Zpz4:I5yX0GvaAg8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=7anFIC3Zpz4:I5yX0GvaAg8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=7anFIC3Zpz4:I5yX0GvaAg8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=7anFIC3Zpz4:I5yX0GvaAg8:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=7anFIC3Zpz4:I5yX0GvaAg8:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/7anFIC3Zpz4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/50582622836791188/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=50582622836791188" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/50582622836791188" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/50582622836791188" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/7anFIC3Zpz4/about-gentoo-cnorg.html" title="about gentoo-cn.org" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2011/08/about-gentoo-cnorg.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3051241580606465716</id><published>2011-06-12T03:36:00.003+08:00</published><updated>2011-06-12T13:34:28.711+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="overlay" /><category scheme="http://www.blogger.com/atom/ns#" term="gentoo" /><title type="text">gentoo-zh overlay</title><content type="html">&lt;div&gt;&lt;p&gt;So gentoo-china and gentoo-taiwan overlay will merge. The new overlay will be called gentoo-zh.&lt;br /&gt;I have already added gentoo-zh overlay to repositories.xml based on which layman-global.txt is generated.&lt;/p&gt;&lt;p&gt;Thanks to microcai for merging the repository of these two projects.&lt;/p&gt;&lt;p&gt;EDIT: sorry there is an error about the source type. already fixed.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3051241580606465716?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=wFUgmf4OX9s:qVI-28usU30:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=wFUgmf4OX9s:qVI-28usU30:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=wFUgmf4OX9s:qVI-28usU30:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=wFUgmf4OX9s:qVI-28usU30:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=wFUgmf4OX9s:qVI-28usU30:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=wFUgmf4OX9s:qVI-28usU30:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=wFUgmf4OX9s:qVI-28usU30:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=wFUgmf4OX9s:qVI-28usU30:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=wFUgmf4OX9s:qVI-28usU30:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/wFUgmf4OX9s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/3051241580606465716/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3051241580606465716" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/3051241580606465716" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/3051241580606465716" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/wFUgmf4OX9s/gentoo-zh-overlay.html" title="gentoo-zh overlay" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2011/06/gentoo-zh-overlay.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4313129922639802703</id><published>2011-02-21T08:28:00.002+08:00</published><updated>2011-02-21T08:40:10.908+08:00</updated><title type="text">New job, New life</title><content type="html">So, as some of you may know, I have just settled down in San Jose, CA.&lt;br /&gt;My new job is Site Reliability Engineer in Google Mountain View office.&lt;br /&gt;&lt;br /&gt;I would like make some new friends here.&lt;br /&gt;If you live nearby, let me know, ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4313129922639802703?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=KtyDB42-1oY:0BSJo2LaR8g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=KtyDB42-1oY:0BSJo2LaR8g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=KtyDB42-1oY:0BSJo2LaR8g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=KtyDB42-1oY:0BSJo2LaR8g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=KtyDB42-1oY:0BSJo2LaR8g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=KtyDB42-1oY:0BSJo2LaR8g:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=KtyDB42-1oY:0BSJo2LaR8g:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=KtyDB42-1oY:0BSJo2LaR8g:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=KtyDB42-1oY:0BSJo2LaR8g:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/KtyDB42-1oY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/4313129922639802703/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4313129922639802703" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/4313129922639802703" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/4313129922639802703" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/KtyDB42-1oY/new-job-new-life.html" title="New job, New life" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>13</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2011/02/new-job-new-life.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2998564454213019452</id><published>2010-12-19T18:14:00.006+08:00</published><updated>2010-12-19T19:00:06.951+08:00</updated><title type="text">Linux 2.6.35 + glibc compiled with &gt;linux-header-2.6.34 == Unusable MIPS N32 System</title><content type="html">&lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=31c984a5acabea5d8c7224dc226453022be46f33;hp=98a0f86a54bb195c28ae1ccb5a5f5cda12cf7121"&gt;getdents64 was added&lt;/a&gt; to N32 ABI during 2.6.35 merge window. But it has a problem which is later fixed by &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9fb4d84d69403d1e004422086c559b31b3f8136"&gt;a patch&lt;/a&gt; merged in 2.6.36 window.&lt;br /&gt;&lt;br /&gt;IIRC, readdir in glibc works with both getdents and getdents64, and it prefers getdents64 if it is available.&lt;br /&gt;&lt;br /&gt;So if your glibc is compiled against linux-header-2.6.35 and upwards, readdir will use getdents64, but on Linux 2.6.35 it actually calls getdents. So readdir will be confused.&lt;br /&gt;&lt;br /&gt;As a consequence, you will have problems accessing files. The system will be effectively unusable.&lt;br /&gt;&lt;br /&gt;So if you have encountered this problem, pray that you have another system which could boot the machine. Compile a kernel 2.6.36 or upwards and use it to boot the system. Then you should be able to get your system back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2998564454213019452?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=T1zG6W9mmyQ:72lNk2xEm-0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=T1zG6W9mmyQ:72lNk2xEm-0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=T1zG6W9mmyQ:72lNk2xEm-0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=T1zG6W9mmyQ:72lNk2xEm-0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=T1zG6W9mmyQ:72lNk2xEm-0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=T1zG6W9mmyQ:72lNk2xEm-0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=T1zG6W9mmyQ:72lNk2xEm-0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=T1zG6W9mmyQ:72lNk2xEm-0:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=T1zG6W9mmyQ:72lNk2xEm-0:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/T1zG6W9mmyQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/2998564454213019452/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2998564454213019452" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2998564454213019452" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2998564454213019452" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/T1zG6W9mmyQ/linux-2635-glibc-compiled-with-linux.html" title="Linux 2.6.35 + glibc compiled with &gt;linux-header-2.6.34 == Unusable MIPS N32 System" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/12/linux-2635-glibc-compiled-with-linux.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8637315506800516632</id><published>2010-09-15T11:10:00.004+08:00</published><updated>2010-09-15T11:22:46.433+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="mips" /><category scheme="http://www.blogger.com/atom/ns#" term="loongson" /><title type="text">MIPS N32 Firefox</title><content type="html">Almost forget to mention, now with this workaround &lt;a href="http://bit.ly/d5rBqp"&gt;http://bit.ly/d5rBqp&lt;/a&gt;, N32 firefox-3.6.8 is working again.&lt;br /&gt;&lt;br /&gt;I am still trying to fix the binutils bug.&lt;br /&gt;&lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=11956"&gt;http://sourceware.org/bugzilla/show_bug.cgi?id=11956&lt;/a&gt;&lt;br /&gt;I am feeling that I am not far from a break through.&lt;br /&gt;&lt;br /&gt;BTW, Shenzhen Linux User Group will celebrate Software Freedom Day 2010 on this Saturday.&lt;br /&gt;If you happen to be in town by then, do drop by, ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bit.ly/sz_sfd_2010"&gt;http://bit.ly/sz_sfd_2010&lt;/a&gt;&lt;br /&gt;If you can come, and don't understand Chinese, I am always ready for help. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8637315506800516632?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=91ixfzDmdhE:S0SDOp_uSBc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=91ixfzDmdhE:S0SDOp_uSBc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=91ixfzDmdhE:S0SDOp_uSBc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=91ixfzDmdhE:S0SDOp_uSBc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=91ixfzDmdhE:S0SDOp_uSBc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=91ixfzDmdhE:S0SDOp_uSBc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=91ixfzDmdhE:S0SDOp_uSBc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=91ixfzDmdhE:S0SDOp_uSBc:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=91ixfzDmdhE:S0SDOp_uSBc:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/91ixfzDmdhE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/8637315506800516632/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8637315506800516632" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8637315506800516632" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8637315506800516632" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/91ixfzDmdhE/mips-n32-firefox.html" title="MIPS N32 Firefox" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/09/mips-n32-firefox.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8806369207399374841</id><published>2010-07-29T09:51:00.005+08:00</published><updated>2010-07-29T10:41:26.085+08:00</updated><title type="text">Loongson 2F N32 stage3 is now available on gentoo mirrors</title><content type="html">It is under experimental/mips/stages/loongson/. Like:&lt;br /&gt;&lt;a href="http://mirrors.xmu.edu.cn/gentoo/experimental/mips/stages/loongson/"&gt;http://mirrors.xmu.edu.cn/gentoo/experimental/mips/stages/loongson/&lt;/a&gt;&lt;br /&gt;I should have done it long ago, just don't familiar with catalyst and catalyst lacks documentation.&lt;br /&gt;&lt;br /&gt;Thanks to leio and robbat2 for making it happen.&lt;br /&gt;&lt;a href="http://bugs.gentoo.org/show_bug.cgi?id=330021"&gt;http://bugs.gentoo.org/show_bug.cgi?id=330021&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have already included kernel modules in the stage3. You can find the corresponding kernel here:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/%7Ezhangle/"&gt;http://www.gentoo-cn.org/~zhangle/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to build your own kernel, use the source here:&lt;br /&gt;&lt;a href="http://dev.lemote.com/code/linux-loongson-community/wiki/WikiStart"&gt;http://dev.lemote.com/code/linux-loongson-community/wiki/WikiStart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You also need loongson overlay. Just use layman to add it. Of course you need to emerge layman first.&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you find portage ask you to downgrade packages, you can try this trick&lt;br /&gt;ACCEPT_KEYWORDS="x86 ~x86 ~mips"&lt;br /&gt;However you need to understand that there is no guarantee that software installed in this way would work. But at least some of them will work. Like perl. I have been using this for a long time. Some packages are not so easy to downgrade. So maybe you need to use this too. But remember, if the package really works, better file a keyword bug asking devs to add mips keyword to it.&lt;br /&gt;&lt;br /&gt;Please note this is experimental, so I am afraid there will be problems. If you hit any, please don't hesitate to contact me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8806369207399374841?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=M_2OxVkPCGo:NyStM28sm84:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=M_2OxVkPCGo:NyStM28sm84:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=M_2OxVkPCGo:NyStM28sm84:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=M_2OxVkPCGo:NyStM28sm84:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=M_2OxVkPCGo:NyStM28sm84:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=M_2OxVkPCGo:NyStM28sm84:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=M_2OxVkPCGo:NyStM28sm84:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=M_2OxVkPCGo:NyStM28sm84:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=M_2OxVkPCGo:NyStM28sm84:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/M_2OxVkPCGo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/8806369207399374841/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8806369207399374841" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8806369207399374841" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8806369207399374841" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/M_2OxVkPCGo/loongson-2f-n32-stage3-is-now-available.html" title="Loongson 2F N32 stage3 is now available on gentoo mirrors" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/07/loongson-2f-n32-stage3-is-now-available.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8456800591996708681</id><published>2010-07-18T20:41:00.012+08:00</published><updated>2010-07-24T01:00:50.532+08:00</updated><title type="text">Type special characters in xterm in N900</title><content type="html">UPDATE: The build failed because of gcc's multislot USE flag(seed stage has it while catalyst can't set USE for stage3). I was on a trip so there is actually no progress for the last 5 days. Sorry. I have worked around it. Now rebuilding.&lt;br /&gt;&lt;br /&gt;First, sudo gainroot.&lt;br /&gt;&lt;br /&gt;Then run the following two commands:&lt;br /&gt;&lt;blockquote&gt;/home/user # gconftool-2 -s /apps/osso/xterm/key_labels -t list --list-type=string '[Tab,Esc,~,`,|,&gt;,&lt;]'&lt;br /&gt;/home/user # gconftool-2 -s /apps/osso/xterm/keys -t list --list-type=string "[Tab,Escape,asciitilde,grave,bar,greater,less]"&lt;/blockquote&gt;Then restart your xterm, you will see the bottom bar looks like the one showing in the following picture:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5DviKWWZZGY/TEL26zOhapI/AAAAAAAAAes/7WDJ88vh9fE/s1600/Screenshot-20100718-203352.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 240px;" src="http://1.bp.blogspot.com/_5DviKWWZZGY/TEL26zOhapI/AAAAAAAAAes/7WDJ88vh9fE/s400/Screenshot-20100718-203352.png" alt="" id="BLOGGER_PHOTO_ID_5495225985389390482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This picture shows that I am building new stage3 for Loongson 2F, N32 ABI, ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8456800591996708681?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=E27SwK9x_0w:Ik1M8oywL9A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=E27SwK9x_0w:Ik1M8oywL9A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=E27SwK9x_0w:Ik1M8oywL9A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=E27SwK9x_0w:Ik1M8oywL9A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=E27SwK9x_0w:Ik1M8oywL9A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=E27SwK9x_0w:Ik1M8oywL9A:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=E27SwK9x_0w:Ik1M8oywL9A:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=E27SwK9x_0w:Ik1M8oywL9A:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=E27SwK9x_0w:Ik1M8oywL9A:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/E27SwK9x_0w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/8456800591996708681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8456800591996708681" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8456800591996708681" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8456800591996708681" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/E27SwK9x_0w/type-special-characters-in-xterm-in.html" title="Type special characters in xterm in N900" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_5DviKWWZZGY/TEL26zOhapI/AAAAAAAAAes/7WDJ88vh9fE/s72-c/Screenshot-20100718-203352.png" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/07/type-special-characters-in-xterm-in.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7264023210337147058</id><published>2010-05-21T16:31:00.008+08:00</published><updated>2010-07-09T23:34:28.813+08:00</updated><title type="text">FEATURES installsources not working on MIPS?</title><content type="html">Update 2010-07-09: the patch received upstream attention. The maintainer said it's better to send to &lt;a href="rpm-devel@rpm5.org"&gt;rpm-devel@rpm5.org&lt;/a&gt; directly.&lt;br /&gt;Update: just reported to upstream &lt;a href="http://rpm5.org/cvs/tktview?tn=61"&gt;http://rpm5.org/cvs/tktview?tn=61&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I resumed my quest to xulrunner linking problem on Loongson: &lt;a href="http://old.nabble.com/R_MIPS_TLS_GD-reloc-overflow-when-linking-%3E%3Dxulrunner-1.9.1.5-td26755056.html"&gt;http://old.nabble.com/R_MIPS_TLS_GD-reloc-overflow-when-linking-%3E%3Dxulrunner-1.9.1.5-td26755056.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But I found that "installsources" FEATURE is not working on Loongson. I investigated it and found that it is because debug.sources file produced by debugedit is empty.&lt;br /&gt;&lt;br /&gt;Then I found that in turn was because debug related sections in MIPS elf file is not of type SHT_PROGBITS, but SHT_MIPS_DWARF.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[32] .debug_aranges    MIPS_DWARF      00000000 0845c4 0002c0 00      0   0  1&lt;br /&gt;[33] .debug_pubnames   MIPS_DWARF      00000000 084884 001a2a 00      0   0  1&lt;br /&gt;[34] .debug_info       MIPS_DWARF      00000000 0862ae 015221 00      0   0  1&lt;br /&gt;[35] .debug_abbrev     MIPS_DWARF      00000000 09b4cf 002c9a 00      0   0  1&lt;br /&gt;[36] .debug_line       MIPS_DWARF      00000000 09e169 009ce3 00      0   0  1&lt;br /&gt;[37] .debug_str        MIPS_DWARF      00000000 0a7e4c 0049d7 01  MS  0   0  1&lt;br /&gt;[38] .debug_loc        MIPS_DWARF      00000000 0ac823 004c7d 00      0   0  1&lt;br /&gt;[39] .debug_macinfo    MIPS_DWARF      00000000 0b14a0 1cf9d6 00      0   0  1&lt;br /&gt;[40] .debug_ranges     MIPS_DWARF      00000000 280e76 0001d8 00      0   0  1&lt;br /&gt;&lt;/pre&gt;So the fix is very easy and straight forward.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;--- debugedit.c.orig    2010-05-21 16:26:13.000000000 +0800&lt;br /&gt;+++ debugedit.c 2010-05-21 01:44:08.000000000 +0800&lt;br /&gt;@@ -1596,6 +1596,7 @@&lt;br /&gt;  switch (dso-&gt;shdr[i].sh_type)&lt;br /&gt;   {&lt;br /&gt;   case SHT_PROGBITS:&lt;br /&gt;+       case SHT_MIPS_DWARF:&lt;br /&gt;     name = strptr (dso, dso-&gt;ehdr.e_shstrndx, dso-&gt;shdr[i].sh_name);&lt;br /&gt;     /* TODO: Handle stabs */&lt;br /&gt;#if 0&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7264023210337147058?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=m1QxyiO3-dg:MA2n8OTL2QI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=m1QxyiO3-dg:MA2n8OTL2QI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=m1QxyiO3-dg:MA2n8OTL2QI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=m1QxyiO3-dg:MA2n8OTL2QI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=m1QxyiO3-dg:MA2n8OTL2QI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=m1QxyiO3-dg:MA2n8OTL2QI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=m1QxyiO3-dg:MA2n8OTL2QI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=m1QxyiO3-dg:MA2n8OTL2QI:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=m1QxyiO3-dg:MA2n8OTL2QI:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/m1QxyiO3-dg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/7264023210337147058/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7264023210337147058" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/7264023210337147058" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/7264023210337147058" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/m1QxyiO3-dg/features-installsources-not-working-on.html" title="FEATURES installsources not working on MIPS?" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/05/features-installsources-not-working-on.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-1780234498960139789</id><published>2010-04-18T00:23:00.010+08:00</published><updated>2010-04-19T09:48:24.896+08:00</updated><title type="text">Show real swap usage for each individual process</title><content type="html">Update: the kernel patch is already in 2.6.34-rcN.&lt;br /&gt;&lt;br /&gt;Currently, in top, the SWAP column only shows the difference between VIRT and RES:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-style: italic;"&gt;    case P_SWP:&lt;br /&gt;     MKCOL(scale_num(PAGES_TO_KB(p-&gt;size - p-&gt;resident), w, s));&lt;/span&gt;&lt;/pre&gt;So currently the value is of no use.&lt;br /&gt;&lt;br /&gt;As a matter of fact, a recent enough kernel has provided the information which is needed to calculate the swap usage for each process. It is in /proc/$PID/smaps. But using smaps may affect top's performance because you have to calculate the sum yourself.&lt;br /&gt;&lt;br /&gt;But with this patch &lt;a href="https://patchwork.kernel.org/patch/56929/"&gt;https://patchwork.kernel.org/patch/56929/&lt;/a&gt;, the kernel will keep track of each process's swap usage for you. This patch (maybe not exactly in the same shape) is already in &lt;span style="text-decoration: line-through;"&gt;mmotm tree (&lt;a href="http://userweb.kernel.org/%7Eakpm/mmotm/"&gt;http://userweb.kernel.org/~akpm/mmotm/&lt;/a&gt;)&lt;/span&gt; 2.6.34-rcN.&lt;br /&gt;&lt;br /&gt;However, checking the /proc/$PID/status file directly may not be a thing which people would like to do. So I decided to make a patch for ps and top. Now it seems to be working.&lt;br /&gt;&lt;br /&gt;This is the vanilla ps:&lt;br /&gt;$ ps -o m_swap,comm -e  | grep firefox&lt;br /&gt;- firefox&lt;br /&gt;&lt;br /&gt;This is modified ps:&lt;br /&gt;$ ./ps/ps -o m_swap,comm -e | grep firefox&lt;br /&gt;2984 firefox&lt;br /&gt;&lt;br /&gt;This is a picture showing a modified top:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5DviKWWZZGY/S8nmgKzW09I/AAAAAAAAAZ8/PTOjeWzGTdE/s1600/top-with-swap.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_5DviKWWZZGY/S8nmgKzW09I/AAAAAAAAAZ8/PTOjeWzGTdE/s400/top-with-swap.jpg" alt="" id="BLOGGER_PHOTO_ID_5461149463493399506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The patch can be found here:&lt;br /&gt;&lt;a href="http://dev.gentoo.org/%7Er0bertz/per-process-swap-usage.patch"&gt;http://dev.gentoo.org/~r0bertz/per-process-swap-usage.patch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-1780234498960139789?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ol9K1IuooVs:n13Pcca7AKM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ol9K1IuooVs:n13Pcca7AKM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=ol9K1IuooVs:n13Pcca7AKM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ol9K1IuooVs:n13Pcca7AKM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=ol9K1IuooVs:n13Pcca7AKM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ol9K1IuooVs:n13Pcca7AKM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=ol9K1IuooVs:n13Pcca7AKM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ol9K1IuooVs:n13Pcca7AKM:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ol9K1IuooVs:n13Pcca7AKM:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/ol9K1IuooVs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/1780234498960139789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=1780234498960139789" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/1780234498960139789" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/1780234498960139789" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/ol9K1IuooVs/show-real-swap-usage-for-each.html" title="Show real swap usage for each individual process" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_5DviKWWZZGY/S8nmgKzW09I/AAAAAAAAAZ8/PTOjeWzGTdE/s72-c/top-with-swap.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/04/show-real-swap-usage-for-each.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7179705007209584067</id><published>2010-04-03T18:22:00.002+08:00</published><updated>2010-04-03T18:38:07.121+08:00</updated><title type="text">Generate coredumps automatically in specified directory</title><content type="html">If you are into investigating coredumps, or you are just curious about how many processes have coredumped, then this is for you:&lt;br /&gt;&lt;br /&gt;1. add the following line to /etc/security/limits.conf&lt;br /&gt;&lt;blockquote&gt;*                -       core            unlimited&lt;/blockquote&gt;2. add the following line to /etc/sysctl.conf&lt;br /&gt;&lt;blockquote&gt;kernel.core_pattern = /corefiles/core.%e.%p&lt;/blockquote&gt;%e is the executable filename, %p is pid.&lt;br /&gt;Please check the "Naming of core dump files" section of man 5 core for more information on this.&lt;br /&gt;&lt;br /&gt;3. run "sysctl -p", then logout and login. Or just reboot.&lt;br /&gt;&lt;br /&gt;This is what I have on my Yeeloong:&lt;br /&gt;$ ls /corefiles/&lt;br /&gt;core.genstrings.11832       core.nscd.10278  core.nscd.12821  core.nscd.13617  core.nscd.23172  core.nscd.29367  core.nscd.6428&lt;br /&gt;core.genstrings.18210       core.nscd.10281  core.nscd.13061  core.nscd.13620  core.nscd.23175  core.nscd.29368  core.nscd.6431&lt;br /&gt;core.main.19478             core.nscd.10284  core.nscd.13064  core.nscd.19028  core.nscd.24042  core.nscd.29369&lt;br /&gt;core.main.19702             core.nscd.10293  core.nscd.13067  core.nscd.19031  core.nscd.29353  core.nscd.29371&lt;br /&gt;core.main.19825             core.nscd.10294  core.nscd.13219  core.nscd.22710  core.nscd.29360  core.nscd.29372&lt;br /&gt;core.main.19894             core.nscd.12815  core.nscd.13222  core.nscd.22713  core.nscd.29363  core.nscd.29373&lt;br /&gt;core.mkhomedir_helpe.31721  core.nscd.12818  core.nscd.13614  core.nscd.22716  core.nscd.29366  core.nscd.6425&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7179705007209584067?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=gJOl0fZL2MI:VkQFv8wLCbM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=gJOl0fZL2MI:VkQFv8wLCbM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=gJOl0fZL2MI:VkQFv8wLCbM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=gJOl0fZL2MI:VkQFv8wLCbM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=gJOl0fZL2MI:VkQFv8wLCbM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=gJOl0fZL2MI:VkQFv8wLCbM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=gJOl0fZL2MI:VkQFv8wLCbM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=gJOl0fZL2MI:VkQFv8wLCbM:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=gJOl0fZL2MI:VkQFv8wLCbM:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/gJOl0fZL2MI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/7179705007209584067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7179705007209584067" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/7179705007209584067" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/7179705007209584067" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/gJOl0fZL2MI/generate-coredumps-automatically-in.html" title="Generate coredumps automatically in specified directory" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/04/generate-coredumps-automatically-in.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3644907714764967166</id><published>2010-03-13T19:35:00.004+08:00</published><updated>2010-03-13T19:38:16.312+08:00</updated><title type="text">Gentoo Penguins</title><content type="html">One of my friends has been to Antarctica.&lt;br /&gt;She has taken some photos of Gentoo Penguin.&lt;br /&gt;Enjoy! (and sorry the blog is in Chinese. :P)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.sina.com.cn/s/blog_657eb8a70100h34p.html"&gt;http://blog.sina.com.cn/s/blog_657eb8a70100h34p.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3644907714764967166?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=G4X-IJ0ghfA:OUBKVJRdGq4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=G4X-IJ0ghfA:OUBKVJRdGq4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=G4X-IJ0ghfA:OUBKVJRdGq4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=G4X-IJ0ghfA:OUBKVJRdGq4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=G4X-IJ0ghfA:OUBKVJRdGq4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=G4X-IJ0ghfA:OUBKVJRdGq4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=G4X-IJ0ghfA:OUBKVJRdGq4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=G4X-IJ0ghfA:OUBKVJRdGq4:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=G4X-IJ0ghfA:OUBKVJRdGq4:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/G4X-IJ0ghfA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/3644907714764967166/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3644907714764967166" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/3644907714764967166" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/3644907714764967166" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/G4X-IJ0ghfA/gentoo-penguins.html" title="Gentoo Penguins" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2010/03/gentoo-penguins.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2621801887658231650</id><published>2009-12-21T14:15:00.001+08:00</published><updated>2009-12-21T14:17:47.390+08:00</updated><title type="text">Germany Training confirmed</title><content type="html">Anyone in Nuremberg? ;)&lt;br /&gt;&lt;br /&gt;Activity : Linux Kernel Internals and Crash Dump Analysis&lt;br /&gt;Activity Code : Linux-IHC-001&lt;br /&gt;Type : Internally Held Classroom&lt;br /&gt;From : 01/26/2010&lt;br /&gt;To : 01/28/2010&lt;br /&gt;Facility:  EMEA - Nuernberg, DEU&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2621801887658231650?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=s3CjprkApY0:drHXlAPmp5c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=s3CjprkApY0:drHXlAPmp5c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=s3CjprkApY0:drHXlAPmp5c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=s3CjprkApY0:drHXlAPmp5c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=s3CjprkApY0:drHXlAPmp5c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=s3CjprkApY0:drHXlAPmp5c:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=s3CjprkApY0:drHXlAPmp5c:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=s3CjprkApY0:drHXlAPmp5c:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=s3CjprkApY0:drHXlAPmp5c:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/s3CjprkApY0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/2621801887658231650/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2621801887658231650" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2621801887658231650" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2621801887658231650" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/s3CjprkApY0/germany-training-confirmed.html" title="Germany Training confirmed" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/12/germany-training-confirmed.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2616192416793147556</id><published>2009-11-29T03:05:00.004+08:00</published><updated>2009-11-29T19:24:47.081+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fbsplash" /><title type="text">silent splash progress bar does not progress</title><content type="html">I got a laptop from my employer (Novell) nearly 3 months ago. I installed both Gentoo and SLED in it. I didn't setup fbsplash on it when I installed Gentoo. I tried it today.&lt;br /&gt;&lt;br /&gt;However, I found the progress bar in silent mode did not progress. It stayed at "Initializing kernel", 0%.&lt;br /&gt;&lt;br /&gt;Finally, I found the reason was that I didn't have "/lib/rc/plugins" directory and as a consequence splashutils openrc plugin splash.so can't be installed into this directory. And that's why the progress bar does not progress.&lt;br /&gt;&lt;br /&gt;I think maybe it is a bug in openrc. But I am not sure and I can't investigate it further today, it is already 3 pm. :( So I just left a note here. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2616192416793147556?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=4HcS-NzzMSQ:PWJ543jV0iM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=4HcS-NzzMSQ:PWJ543jV0iM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=4HcS-NzzMSQ:PWJ543jV0iM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=4HcS-NzzMSQ:PWJ543jV0iM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=4HcS-NzzMSQ:PWJ543jV0iM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=4HcS-NzzMSQ:PWJ543jV0iM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=4HcS-NzzMSQ:PWJ543jV0iM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=4HcS-NzzMSQ:PWJ543jV0iM:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=4HcS-NzzMSQ:PWJ543jV0iM:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/4HcS-NzzMSQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/2616192416793147556/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2616192416793147556" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2616192416793147556" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2616192416793147556" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/4HcS-NzzMSQ/silent-splash-progress-bar-does-not.html" title="silent splash progress bar does not progress" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/11/silent-splash-progress-bar-does-not.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-490314546450552876</id><published>2009-11-08T16:48:00.007+08:00</published><updated>2009-11-08T20:47:22.257+08:00</updated><title type="text">Update on building mips64el cross toolchain</title><content type="html">1. git clone git://www.gentoo-cn.org/var/git/loongson.git&lt;br /&gt;&lt;br /&gt;2. Don't include loongson overlay's directory directly in your PORTDIR_OVERLAY. But in your own overlay, like /usr/local/portage, create symlinks pointing to sys-devel/ and sys-libs/glibc in loongson overlay. This is because you may not want to install packages from loongson overlay in your host machine. Also you need to make sure your own overlay is the first overlay containing binutils/gcc/glibc in your PORTDIR_OVERLAYS list. You may check the value of this list using command:&lt;br /&gt;&lt;blockquote&gt;portageq envvar PORTDIR_OVERLAY&lt;br /&gt;&lt;/blockquote&gt;3. Then, just run crossdev -t mips64el-unknown-linux-gnu. This command installed the following components on my host machine:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;linux-headers-2.6.27-r2 from portage.&lt;/li&gt;&lt;li&gt;binutils-2.19.1-r1 from loongson overlay.&lt;/li&gt;&lt;li&gt;gcc-4.4.2 from portage. The gcc in loongson overlay currently is just a symlink to portage gcc.&lt;/li&gt;&lt;li&gt;glibc-2.9_p2009042 from loongson overlay. However if you build the toolchain now, glibc-2.10.1 will be installed instead, I just updated it.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-490314546450552876?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=tfZBvthlaNo:Sz-QvqSP18I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=tfZBvthlaNo:Sz-QvqSP18I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=tfZBvthlaNo:Sz-QvqSP18I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=tfZBvthlaNo:Sz-QvqSP18I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=tfZBvthlaNo:Sz-QvqSP18I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=tfZBvthlaNo:Sz-QvqSP18I:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=tfZBvthlaNo:Sz-QvqSP18I:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=tfZBvthlaNo:Sz-QvqSP18I:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=tfZBvthlaNo:Sz-QvqSP18I:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/tfZBvthlaNo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/490314546450552876/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=490314546450552876" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/490314546450552876" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/490314546450552876" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/tfZBvthlaNo/update-on-building-mips64el-cross.html" title="Update on building mips64el cross toolchain" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/11/update-on-building-mips64el-cross.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6985361770081753994</id><published>2009-08-01T16:42:00.004+08:00</published><updated>2009-08-02T00:13:26.129+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="sqlite" /><category scheme="http://www.blogger.com/atom/ns#" term="cflags" /><category scheme="http://www.blogger.com/atom/ns#" term="xulrunner" /><title type="text">Setting CFLAGS on a per-package basis</title><content type="html">Update: as reported by Fai Wong, -O1 is actually fine. Obviously, it must be some flag(s) which is(are) enabled at -O2 but not at -O1 caused this problem. However, it is not a priority ATM. Anyone who is interested in it is welcome to investigate it further.&lt;br /&gt;&lt;br /&gt;As I have &lt;a href="http://r0bertz.blogspot.com/2009/05/mips-n32-firefox-35-beta4.html"&gt;mentioned earlier&lt;/a&gt;, sqlite compiled with -O2 may cause xulrunner to segfault in N32 userland on Loongson. Well, I almost forget it.&lt;br /&gt;&lt;br /&gt;So to remove the -O2 from CFLAGS once and for all, I adopted the technique described &lt;a href="http://archives.gentoo.org/gentoo-portage-dev/msg_fac717b026ba37b4396b448f1152153e.xml"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;pre&gt;zhangle@2f env $ pwd&lt;br /&gt;/etc/portage/env&lt;br /&gt;zhangle@2f env $ find&lt;br /&gt;.&lt;br /&gt;./dev-db&lt;br /&gt;./dev-db/sqlite&lt;br /&gt;./O2-removal&lt;br /&gt;zhangle@2f env $ cat O2-removal&lt;br /&gt;pre_pkg_setup() {&lt;br /&gt;      elog "bashrc is removing \"-O2\" from CFLAGS for $PN"&lt;br /&gt;      CFLAGS="${CFLAGS/-O2/}"&lt;br /&gt;}&lt;br /&gt;zhangle@2f env $ ls -l dev-db/sqlite&lt;br /&gt;lrwxrwxrwx 1 zhangle zhangle 13 2009-08-01 16:10 dev-db/sqlite -&gt; ../O2-removal&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6985361770081753994?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=9E_-ycOJ4KU:lHvwqQ0PAvc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=9E_-ycOJ4KU:lHvwqQ0PAvc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=9E_-ycOJ4KU:lHvwqQ0PAvc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=9E_-ycOJ4KU:lHvwqQ0PAvc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=9E_-ycOJ4KU:lHvwqQ0PAvc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=9E_-ycOJ4KU:lHvwqQ0PAvc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=9E_-ycOJ4KU:lHvwqQ0PAvc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=9E_-ycOJ4KU:lHvwqQ0PAvc:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=9E_-ycOJ4KU:lHvwqQ0PAvc:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/9E_-ycOJ4KU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/6985361770081753994/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6985361770081753994" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/6985361770081753994" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/6985361770081753994" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/9E_-ycOJ4KU/setting-cflags-on-per-package-basis.html" title="Setting CFLAGS on a per-package basis" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/08/setting-cflags-on-per-package-basis.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-132885942027527048</id><published>2009-07-31T00:57:00.003+08:00</published><updated>2009-07-31T01:13:39.261+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="loongson" /><category scheme="http://www.blogger.com/atom/ns#" term="kernel" /><category scheme="http://www.blogger.com/atom/ns#" term="gdb" /><title type="text">About the kernel of Loongson 2F machine</title><content type="html">I just found that, it is actually very easy to trigger the problem that the -mfix-ls2f-kernel as option could fix. Like just emerging glibc could hang the system. So if you are using linux-loongson/2.6.30/stable branch from this git tree http://dev.lemote.com/git?p=rt4ls.git;a=summary, you maybe want to line 129 of arch/mips/Makefile:&lt;br /&gt;&lt;pre&gt;$(call cc-option,-march=loongson2f,-march=r4600) $(call cc-optoin,-mtune=loongson2f)&lt;/pre&gt;to&lt;br /&gt;&lt;pre&gt;$(call cc-option,-march=loongson2f,-march=r4600) $(call as-option,-Wa$(comma)-mfix-ls2f-kernel,)&lt;/pre&gt;Actually, $(call cc-optoin,-mtune=loongson2f) here is not required.&lt;br /&gt;&lt;br /&gt;BTW, glibc-2.10.1 is ready in my overlay. This version could solve the gdb issue:&lt;br /&gt;&lt;pre&gt;Error while reading shared library symbols:&lt;br /&gt;find_new_threads_callback: cannot get thread info: generic error&lt;br /&gt;find_new_threads_callback: cannot get thread info: generic error&lt;/pre&gt;This happened previously when debugging multithread applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-132885942027527048?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=93lILTos9-s:vbkWxBwjTwI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=93lILTos9-s:vbkWxBwjTwI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=93lILTos9-s:vbkWxBwjTwI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=93lILTos9-s:vbkWxBwjTwI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=93lILTos9-s:vbkWxBwjTwI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=93lILTos9-s:vbkWxBwjTwI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=93lILTos9-s:vbkWxBwjTwI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=93lILTos9-s:vbkWxBwjTwI:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=93lILTos9-s:vbkWxBwjTwI:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/93lILTos9-s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/132885942027527048/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=132885942027527048" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/132885942027527048" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/132885942027527048" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/93lILTos9-s/about-kernel-of-loongson-2f-machine.html" title="About the kernel of Loongson 2F machine" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/07/about-kernel-of-loongson-2f-machine.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8703389834302191882</id><published>2009-07-27T01:42:00.007+08:00</published><updated>2009-07-27T16:09:12.244+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mips" /><category scheme="http://www.blogger.com/atom/ns#" term="fuloong" /><category scheme="http://www.blogger.com/atom/ns#" term="yeeloong" /><category scheme="http://www.blogger.com/atom/ns#" term="loongson" /><title type="text">More on Yeeloong status</title><content type="html">I have not blogged here for some time. But that does not necessarily mean I am slacking, ;). Instead I have been doing things. I should've blogged more.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=shortlog"&gt;http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=shortlog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Redhatter posted two blogs related to Yeeloong's status. I guess I should say something too.&lt;br /&gt;&lt;br /&gt;First of all, I recommend this mailing list &lt;a href="http://groups.google.com/group/loongson-dev"&gt;http://groups.google.com/group/loongson-dev&lt;/a&gt; to those who want to know the latest news about Loongson. If you want to try Gentoo on Yeeloong, you can take this &lt;a href="http://www.gentoo-cn.org/%7Ezhangle/loongson_mips3_n32_mplt_20081231.tar.bz2"&gt;http://www.gentoo-cn.org/~zhangle/loongson_mips3_n32_mplt_20081231.tar.bz2&lt;/a&gt; The file's sha256sum is c94bcd45e58e5f4b8314942a6b3110a2316fd74adb009c8269d1e8e2077d7c72. Please note the userland is N32 ABI, meaning there may be more problems than in O32. But I should've already solved many of them for you.&lt;br /&gt;&lt;br /&gt;I have been working on Fuloong 2E/2F and Yeeloong's support, particularly N32 ABI system. Firefox is just one example.&lt;br /&gt;&lt;br /&gt;I have 3 Loongson machines, all donated by lemote:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;One Fuloong 2E box. Now gentoo-cn.org is running on it. O32 ABI userland. Gcc 4.4, -march=loongson2e. MIPS plt. I am not running X on it. I am not sure if Redhatter runs X on it or not. If not, then you can say that Fuloong 2E has not X support in Gentoo. Anyway, I think very few people have it, and even fewer are using it as desktop.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;One Fuloong 2F box. I have two Gentoo on it. One O32 ABI userland, the other is N32 ABI userland. Gcc 4.4, -march=loongson2f. MIPS plt. xorg-server-1.6.2. LXDE. Dev machine.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;One Yeeloong notebook. I have one Gentoo on it. N32 ABI userland. xorg-server-1.6.2. xf86-video-siliconmotion-1.7.2. LXDE. Dev machine.&lt;/li&gt;&lt;/ol&gt;For the kernel support, please just use this kernel source, all you want is just there: &lt;a href="http://groups.google.com/group/loongson-dev/browse_thread/thread/1b0a6a4f7c2485e8"&gt;http://groups.google.com/group/loongson-dev/browse_thread/thread/1b0a6a4f7c2485e8&lt;/a&gt; You don't need to have gcc 4.4 if you don't care about -march=loongons2f. There is some magic in the Makefile which could make the compiling just work. And in this source, as option -mfix-ls2f-kernel is not enabled. So that binutils patch is not required for this source to compile. And this patch solves the problem that system sometimes hangs under stress test. So if your system never hang before, then maybe you don't need it.&lt;br /&gt;&lt;br /&gt;For firefox, upstream xulrunner 1.9.1 already has O32 ABI patch. So nothing extra need to be done if you want to run Firefox in O32 ABI userland. Just emerge. If you are using N32 ABI userland, please use the ebuild from my overlay, check the link at the top. I haven't tried thunderbird though. I am now using Mutt anyway, :D.&lt;br /&gt;&lt;br /&gt;For X, it is quite complicated. You can claim that X server now requires no patch at all, but that actually depends on which machine and which version of xorg-server you are using. On Fuloong 2F, xorg-server-1.6.2 does not need patching, the driver I am using now is the highest version of xf86-video-sis in tree. On Yeeloong, xorg-server-1.6.2 need patching if you use xf86-video-siliconmotion-1.7.2 from xorg (I have a live ebuild for it in my overlay). If you use xorg-server-1.4.x, you can also use xf86-video-siliconmotion-2.2.8 (I will explain it immediately) from lemote, this way xorg-server does not need patching. BTW, this xf86-video-siliconmotion-2.2.8 is actually from siliconmotion card's manufacturer, it should be based on xorg's xf86-video-siliconmotion somewhere before it has got libpciaccess support and later it has got its own version numbering scheme. So this xf86-video-siliconmotion-2.2.8 won't work on xorg-server-1.5.x and later. And I have tried to add libpciaccess support to it, but after done what I think is necessary, I found there are more problems. So I gave up on xf86-video-siliconmotion-2.2.8. I left the sources here: &lt;a href="http://www.gentoo-cn.org/gitweb/?p=siliconmotion.git;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=siliconmotion.git;a=summary&lt;/a&gt; Then I tried to fix xorg's siliconmotion driver, and I found the cause &lt;a href="http://bugs.freedesktop.org/show_bug.cgi?id=21528"&gt;http://bugs.freedesktop.org/show_bug.cgi?id=21528&lt;/a&gt;. So now xf86-video-siliconmotion-1.7.2 is working on Yeeloong without any patch, only if you use 24 bit depth. If you use 16 bit depth which is required for dual head mode, there are still problems. &lt;a href="http://bugs.freedesktop.org/show_bug.cgi?id=21622"&gt;http://bugs.freedesktop.org/show_bug.cgi?id=21622&lt;/a&gt; Also there maybe some configuration options are needed in xorg.conf for X to work, so please check out my xorg.conf on &lt;a href="http://www.gentoo-cn.org/%7Ezhangle/fuloong2f-xorg.conf.txt"&gt;fuloong2f &lt;/a&gt;and &lt;a href="http://www.gentoo-cn.org/%7Ezhangle/yeeloong-xorg.conf.txt"&gt;yeeloong&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8703389834302191882?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aSixWGnSFVI:IyUZfbLm89w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aSixWGnSFVI:IyUZfbLm89w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=aSixWGnSFVI:IyUZfbLm89w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aSixWGnSFVI:IyUZfbLm89w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=aSixWGnSFVI:IyUZfbLm89w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aSixWGnSFVI:IyUZfbLm89w:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=aSixWGnSFVI:IyUZfbLm89w:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aSixWGnSFVI:IyUZfbLm89w:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aSixWGnSFVI:IyUZfbLm89w:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/aSixWGnSFVI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/8703389834302191882/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8703389834302191882" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8703389834302191882" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8703389834302191882" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/aSixWGnSFVI/more-on-yeeloong-status.html" title="More on Yeeloong status" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/07/more-on-yeeloong-status.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5782608113489520580</id><published>2009-05-04T15:37:00.011+08:00</published><updated>2009-05-05T01:39:32.779+08:00</updated><title type="text">MIPS N32 firefox 3.5 beta4</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5DviKWWZZGY/Sf6cTWbOu5I/AAAAAAAAAT4/-4JCo0e3Hgs/s1600-h/n32-firefox-3.5b4-acid3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 291px;" src="http://4.bp.blogspot.com/_5DviKWWZZGY/Sf6cTWbOu5I/AAAAAAAAAT4/-4JCo0e3Hgs/s400/n32-firefox-3.5b4-acid3.jpg" alt="" id="BLOGGER_PHOTO_ID_5331870865104485266" border="0" /&gt;&lt;/a&gt;It is working too. The xulrunner's ebuild is already in &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary"&gt;loongson overlay&lt;/a&gt;. For the mozilla-firefox ebuild, just use the one from mozilla overlay.&lt;br /&gt;&lt;br /&gt;If you experienced segfault, try to re-emerge sqlite with no optimization. Using the bundled sqlite surely is not an optimal solution, ;)&lt;br /&gt;&lt;br /&gt;One more thing: Xorg's siliconmotion driver is now working on &lt;a href="http://wiki.gnewsense.org/Projects/Lemote#toc81"&gt;yeeloong notebook&lt;/a&gt;: &lt;a href="http://bugs.freedesktop.org/show_bug.cgi?id=21528"&gt;http://bugs.freedesktop.org/show_bug.cgi?id=21528&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5782608113489520580?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=BAjEoe1orXs:oa3WI7BH3Dg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=BAjEoe1orXs:oa3WI7BH3Dg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=BAjEoe1orXs:oa3WI7BH3Dg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=BAjEoe1orXs:oa3WI7BH3Dg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=BAjEoe1orXs:oa3WI7BH3Dg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=BAjEoe1orXs:oa3WI7BH3Dg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=BAjEoe1orXs:oa3WI7BH3Dg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=BAjEoe1orXs:oa3WI7BH3Dg:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=BAjEoe1orXs:oa3WI7BH3Dg:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/BAjEoe1orXs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/5782608113489520580/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5782608113489520580" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/5782608113489520580" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/5782608113489520580" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/BAjEoe1orXs/mips-n32-firefox-35-beta4.html" title="MIPS N32 firefox 3.5 beta4" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_5DviKWWZZGY/Sf6cTWbOu5I/AAAAAAAAAT4/-4JCo0e3Hgs/s72-c/n32-firefox-3.5b4-acid3.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/05/mips-n32-firefox-35-beta4.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2233437790335481801</id><published>2009-04-30T16:37:00.007+08:00</published><updated>2009-04-30T18:55:15.050+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="mips" /><category scheme="http://www.blogger.com/atom/ns#" term="loongson" /><category scheme="http://www.blogger.com/atom/ns#" term="acid3" /><title type="text">MIPS N32 firefox in acid3 test</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5DviKWWZZGY/SflpxohpKcI/AAAAAAAAATw/SUVlTXrFpnI/s1600-h/n32-firefox-acid3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 290px;" src="http://3.bp.blogspot.com/_5DviKWWZZGY/SflpxohpKcI/AAAAAAAAATw/SUVlTXrFpnI/s400/n32-firefox-acid3.jpg" alt="" id="BLOGGER_PHOTO_ID_5330407935382727106" border="0" /&gt;&lt;/a&gt;My quest for MIPS N32 firefox could finally come to an end, since I just got it scores the same as &lt;a href="http://en.wikipedia.org/wiki/File:Acid3firefox3.0.PNG"&gt;X86 firefox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Remember I said it would encounter bus error on a few websites in &lt;a href="http://r0bertz.blogspot.com/2009/03/firefox-on-mips.html"&gt;my last related post&lt;/a&gt;. But I didn't plan to look into this issue before dealing with cache aliasing problem.&lt;br /&gt;&lt;br /&gt;However, since Rayson Ho helped me to &lt;a href="http://groups.google.com/group/loongson-dev/msg/7f815c5cd1a01ab6"&gt;locate the exact cause&lt;/a&gt; of this issue, I decided to finish it first.&lt;br /&gt;&lt;br /&gt;The problem is caused by unaligned access of ldc1/sdc1 instruction. These two instructions' operand must be 8 bytes aligned. But when crashing, the operand is only 4 bytes aligned.&lt;br /&gt;&lt;br /&gt;After some discussion and experimenting, I found a &lt;a href="http://groups.google.com/group/loongson-dev/msg/d7f60b2850dad616"&gt;workaround&lt;/a&gt; for sina.com.cn crashing problem. Yeah, a padding pointer sounds scary and fragile, but it did work. Before posting any comment to this, please make sure you have read all the emails in that thread.&lt;br /&gt;&lt;br /&gt;Then &lt;a href="http://lazyfai.blogspot.com/"&gt;Fai Wong&lt;/a&gt; reported to me that it still crash in &lt;a href="http://acid3.acidtests.org/"&gt;acid3 test&lt;/a&gt;. So I took another look. This time the problem happened in a different location, and it is harder to solve. Because the object in question sometimes is 8 bytes aligned, but sometimes it is only 4 bytes aligned, which does not make any sense, since the object contains double variable. So, either way, the double variable just can't get aligned in both case. I thought of kernel exception handler. I did &lt;a href="http://groups.google.com/group/loongson-dev/msg/e3fce5ed817f1d14"&gt;come up with a patch and it worked&lt;/a&gt;! But since Ralf refused to accept it, I had to move on. And I found the reason is because of the way the memory is allocated - &lt;a href="http://glenmccl.com./nd_cmp.htm"&gt;placement new&lt;/a&gt;. Thanks to LI Daobing for telling me this. And &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob_plain;f=net-libs/xulrunner/files/xulrunner-mips-bus-error.patch;hb=e2eca4738cce8cb2d8adb78164794f982a388862"&gt;this&lt;/a&gt; is what the final patch looks like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2233437790335481801?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ymTecMp3z_c:C1QYhyPH1Fw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ymTecMp3z_c:C1QYhyPH1Fw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=ymTecMp3z_c:C1QYhyPH1Fw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ymTecMp3z_c:C1QYhyPH1Fw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=ymTecMp3z_c:C1QYhyPH1Fw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ymTecMp3z_c:C1QYhyPH1Fw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=ymTecMp3z_c:C1QYhyPH1Fw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ymTecMp3z_c:C1QYhyPH1Fw:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=ymTecMp3z_c:C1QYhyPH1Fw:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/ymTecMp3z_c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/2233437790335481801/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2233437790335481801" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2233437790335481801" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2233437790335481801" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/ymTecMp3z_c/mips-n32-firefox-in-acid3-test.html" title="MIPS N32 firefox in acid3 test" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_5DviKWWZZGY/SflpxohpKcI/AAAAAAAAATw/SUVlTXrFpnI/s72-c/n32-firefox-acid3.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/04/mips-n32-firefox-in-acid3-test.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2936442411840356864</id><published>2009-04-14T22:24:00.005+08:00</published><updated>2009-04-14T22:36:28.899+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="loongson" /><title type="text">Ftrace is working now on my loongson box</title><content type="html">&lt;a href="http://www.linux-mips.org/archives/linux-mips/2009-04/msg00112.html"&gt;http://www.linux-mips.org/archives/linux-mips/2009-04/msg00112.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I confirmed that this MIPS &lt;a href="http://lwn.net/Articles/322666/"&gt;ftrace&lt;/a&gt; support is really working. Thanks to Wu Zhangjin (吴章金). However, I have no interest in finding out what kind of difference between my loongson2f patch and wu's caused wu's ftrace patch does not work on top of my loongson 2f patch. What I would like to see now is to get loongson2f patch &lt;a href="http://www.linux-mips.org/archives/linux-mips/2009-04/msg00065.html"&gt;merged into mainline&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Plus, I wish I could make loongson linux to be able to use 4k page(Now, loongson could only use 16k page in order to avoid d-cache aliasing). I have already started working on it now. Even if it turns out that I can't, I could tell others what I have done in order to achieve this goal. And by that time, I would've got a much deeper understanding of Linux's memory management subsystem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2936442411840356864?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=0i-TpdVxMzU:i5hB7gLxqps:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=0i-TpdVxMzU:i5hB7gLxqps:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=0i-TpdVxMzU:i5hB7gLxqps:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=0i-TpdVxMzU:i5hB7gLxqps:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=0i-TpdVxMzU:i5hB7gLxqps:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=0i-TpdVxMzU:i5hB7gLxqps:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=0i-TpdVxMzU:i5hB7gLxqps:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=0i-TpdVxMzU:i5hB7gLxqps:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=0i-TpdVxMzU:i5hB7gLxqps:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/0i-TpdVxMzU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/2936442411840356864/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2936442411840356864" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2936442411840356864" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2936442411840356864" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/0i-TpdVxMzU/ftrace-is-working-now-on-my-loongson.html" title="Ftrace is working now on my loongson box" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/04/ftrace-is-working-now-on-my-loongson.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8848582070368706851</id><published>2009-03-17T00:28:00.005+08:00</published><updated>2009-03-17T03:33:05.140+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="kernel" /><title type="text">Two more kernel patches</title><content type="html">This one is MIPS related, already accepted:&lt;br /&gt;&lt;a class="title" href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3b289d6e35a1a535c19a5b079f0500526754e650"&gt;MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This one is proc filesystem related:&lt;br /&gt;&lt;a href="http://lkml.org/lkml/2009/3/16/24"&gt;[PATCH] filp-&gt;f_pos not correctly updated in proc_task_readdir&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The later one is also MIPS related actually,  in a peculiar way:&lt;br /&gt;MIPS N32 does not have getdents64 system call. And because of readdir's implementation in glibc, this bug will be triggered when trying to run pstree or simply 'ls /proc/xxxx/task', where xxxx is the pid of a multithread process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8848582070368706851?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=bsx03fQOlMw:6a8WvMLAkts:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=bsx03fQOlMw:6a8WvMLAkts:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=bsx03fQOlMw:6a8WvMLAkts:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=bsx03fQOlMw:6a8WvMLAkts:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=bsx03fQOlMw:6a8WvMLAkts:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=bsx03fQOlMw:6a8WvMLAkts:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=bsx03fQOlMw:6a8WvMLAkts:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=bsx03fQOlMw:6a8WvMLAkts:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=bsx03fQOlMw:6a8WvMLAkts:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/bsx03fQOlMw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/8848582070368706851/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8848582070368706851" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8848582070368706851" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/8848582070368706851" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/bsx03fQOlMw/two-more-kernel-patches.html" title="Two more kernel patches" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/03/two-more-kernel-patches.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7823337567532787416</id><published>2009-03-12T02:40:00.013+08:00</published><updated>2009-03-12T06:05:26.321+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="mips" /><category scheme="http://www.blogger.com/atom/ns#" term="xulrunner" /><title type="text">Firefox for MIPS N32 ABI</title><content type="html">Finally, I could announce that &lt;span style="font-style: italic;"&gt;it is working (tm).&lt;/span&gt;&lt;br /&gt;I just submitted the patches (together with O32 ABI patch) to upstream.&lt;br /&gt;&lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=482759"&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=482759&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a big step forward for MIPS N32 GNU/Linux desktop.&lt;br /&gt;&lt;br /&gt;One thing to note though: It (the N32 one) would encounter bus error on a few websites, e.g. www.sina.com.cn. I will try to find out why later when I have time.&lt;br /&gt;&lt;br /&gt;For those who are into long stories, please read on:&lt;br /&gt;&lt;br /&gt;I finally sorted out the font size problem, independently. It turned out that the problem is caused by strict aliasing issue in NSPR (NetScape Portable Runtime). Specifically, when parsing css file, in order to get the font size, PR_strtod() will be used to convert string to floating point value. But because of the strict aliasing issue, certain code in PR_strtod will be optimized out if -fstrict-aliasing is turned on, which is just the case if -O2 is used. And as a result, the floating point value would be wrong， e.g. "1.5" will be converted to 15.0, "0.67" will become 67.0. At first, I thought it was a bug in gcc 4.4 (not released yet, but supports -march=loongson2f), since this problem does not exist if I used gcc 4.3. So I filed a gcc bug [1]. However, as&lt;span style="font-style: italic;"&gt; Jakub Jelinek&lt;/span&gt; stated, this is actually a bug in NSPR [2].&lt;br /&gt;&lt;br /&gt;PS: flameeyes just reminded me that this is not a problem of NSPR its own [3]. He is trying to find out all the packages that have used this dtoa.c. The list is not finished yet. But there is one thing for sure, there will be quite a few.&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39418"&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39418&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=487844"&gt;https://bugzilla.redhat.com/show_bug.cgi?id=487844&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518927"&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518927&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7823337567532787416?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=3Rc3jO9Kxws:PBjdgLGs3aI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=3Rc3jO9Kxws:PBjdgLGs3aI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=3Rc3jO9Kxws:PBjdgLGs3aI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=3Rc3jO9Kxws:PBjdgLGs3aI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=3Rc3jO9Kxws:PBjdgLGs3aI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=3Rc3jO9Kxws:PBjdgLGs3aI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=3Rc3jO9Kxws:PBjdgLGs3aI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=3Rc3jO9Kxws:PBjdgLGs3aI:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=3Rc3jO9Kxws:PBjdgLGs3aI:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/3Rc3jO9Kxws" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/7823337567532787416/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7823337567532787416" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/7823337567532787416" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/7823337567532787416" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/3Rc3jO9Kxws/firefox-on-mips.html" title="Firefox for MIPS N32 ABI" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/03/firefox-on-mips.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2053060931020618777</id><published>2009-02-25T16:15:00.019+08:00</published><updated>2009-03-16T19:44:17.740+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="glibc" /><category scheme="http://www.blogger.com/atom/ns#" term="crossdev" /><title type="text">mips64el-unknown-linux-gnu cross toolchain building</title><content type="html">NOTE: I just updated the command at the bottom, again. No big change. Now all should be good to go, including building on PS3, which is big endian.&lt;br /&gt;&lt;br /&gt;Crossdev is a great tool. Thanks to vapier.&lt;br /&gt;However, it may not work in all circumstances, although the problems may not lie in crossdev itself. For example, when creating mips64el-unknown-linux-gnu cross toolchain.&lt;br /&gt;The problems happen when building glibc headers. Because at that time, we don't have cross gcc yet. So some gcc options only cross gcc supports or some macros only cross gcc defines can't be used.&lt;br /&gt;Also happen when building gcc on big endian machines. Because of the erroneous LD_LIBRARY_PATH setting, cc1 generated in stage 1 will try to load libgcc_s.so.1 generated in stage 1, which is little endian.&lt;br /&gt;So I made some work-arounds. These are the three patches needed:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blobdiff;f=sys-libs/glibc/files/eblits/src_compile.eblit;h=e482daf66bcb5349ef8e9dd736e4d1d04d8b46d1;hp=c7ce858acd305aafabbb7bf7ed8cb5ce42de2d23;hb=HEAD;hpb=848378774d73da9bbb054029d39bf21f174262ce"&gt;one patch to src_compile.eblit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blobdiff;f=sys-libs/glibc/files/eblits/src_install.eblit;h=1e54425f33a247dd47dd1348325375991c908f2d;hp=aa1d4e7ad4905bd44113088e97527530e44d25bd;hb=HEAD;hpb=848378774d73da9bbb054029d39bf21f174262ce"&gt;a second patch to src_install.eblit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blobdiff;f=sys-devel/gcc/gcc-4.4.0_pre9999.ebuild;h=4b4184e20c3fc51e8cd577c6fb677a8c6d760a7b;hp=da29e629dfcc5b7395b959983964952b128726ec;hb=a1e2adf4ef20525dd847a22ca34e8d27b59a2df0;hpb=da402935eca7da18fc3bff52e64199ed032d01a5"&gt;a third patch to gcc ebuild&lt;/a&gt;&lt;br /&gt;These are all small changes, but took me a lot of time to investigate.&lt;br /&gt;&lt;br /&gt;To use it, just run the following commands:&lt;br /&gt;&lt;pre&gt;cd&lt;br /&gt;git clone git://www.gentoo-cn.org/var/git/loongson.git&lt;br /&gt;mkdir cross-overlay&lt;br /&gt;cd cross-overlay&lt;br /&gt;mkdir profiles&lt;br /&gt;echo 'cross-overlay' &gt; profiles/repo_name&lt;br /&gt;ln -sf ../loongson/sys-libs&lt;br /&gt;sed -i -e '/PORTDIR_OVERLAY/ s/"$/ ${HOME}\/cross-overlay"/' /etc/make.conf&lt;br /&gt;crossdev -t mips64el-unknown-linux-gnu --b 9999 --g 4.4.0_pre9999 --l 2.9_p20081201-r2 --k 2.6.27-r2 -v&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2053060931020618777?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=rid8w2qvAWE:kAbX7bVBvFw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=rid8w2qvAWE:kAbX7bVBvFw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=rid8w2qvAWE:kAbX7bVBvFw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=rid8w2qvAWE:kAbX7bVBvFw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=rid8w2qvAWE:kAbX7bVBvFw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=rid8w2qvAWE:kAbX7bVBvFw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=rid8w2qvAWE:kAbX7bVBvFw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=rid8w2qvAWE:kAbX7bVBvFw:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=rid8w2qvAWE:kAbX7bVBvFw:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/rid8w2qvAWE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/2053060931020618777/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2053060931020618777" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2053060931020618777" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/2053060931020618777" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/rid8w2qvAWE/mips64el-unknown-linux-gnu-cross.html" title="mips64el-unknown-linux-gnu cross toolchain building" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/02/mips64el-unknown-linux-gnu-cross.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6353588898180304279</id><published>2009-01-14T23:38:00.004+08:00</published><updated>2009-05-10T12:02:53.124+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="loongson" /><title type="text">MIPS N32 patch for xulrunner(firefox)</title><content type="html">Finally, I have produced some results. I have watched 6 seasons of 24 and 2 seasons of Friends since late last month. So this is delayed. :P&lt;br /&gt;The patch is &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob;f=net-libs/xulrunner/files/xulrunner-mips-n32.patch;h=da43909f6f529e36459b5f2d9b7bcb2056acf324;hb=HEAD"&gt;here&lt;/a&gt;.&lt;br /&gt;I think it still need some tweaks, you can always get the latest patch in my loongson overlay on &lt;a href="http://www.gentoo-cn.org/gitweb"&gt;http://www.gentoo-cn.org/gitweb&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The produced xulrunner could run a little example:&lt;br /&gt;&lt;a href="http://dev.gentoo.org/%7Er0bertz/xulrunner/myapp.tar.bz2"&gt;http://dev.gentoo.org/~r0bertz/xulrunner/myapp.tar.bz2&lt;/a&gt;&lt;br /&gt;(untar the tarball, cd myapp &amp;amp;&amp;amp; xulrunner-1.9 application.ini)&lt;br /&gt;&lt;br /&gt;However, I haven't got a fully functioning firefox yet.&lt;br /&gt;Some font size is extremely large. And sometimes bus error.&lt;br /&gt;&lt;br /&gt;I have noticed that I have used -O3 to compile it.&lt;br /&gt;I will try -O2/-O1 later and see if it still bus error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6353588898180304279?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aXEAxbJcX4c:syrjsJAHsR8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aXEAxbJcX4c:syrjsJAHsR8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=aXEAxbJcX4c:syrjsJAHsR8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aXEAxbJcX4c:syrjsJAHsR8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=aXEAxbJcX4c:syrjsJAHsR8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aXEAxbJcX4c:syrjsJAHsR8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=aXEAxbJcX4c:syrjsJAHsR8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aXEAxbJcX4c:syrjsJAHsR8:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=aXEAxbJcX4c:syrjsJAHsR8:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/aXEAxbJcX4c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/6353588898180304279/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6353588898180304279" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/6353588898180304279" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/6353588898180304279" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/aXEAxbJcX4c/mips-n32-patch-for-xulrunnerfirefox.html" title="MIPS N32 patch for xulrunner(firefox)" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2009/01/mips-n32-patch-for-xulrunnerfirefox.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-751920947777199976</id><published>2008-12-28T18:09:00.012+08:00</published><updated>2009-01-10T07:34:57.441+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="glibc" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title type="text">glibc doesn't build with linux-header-2.6.28 on loongson</title><content type="html">Update: It is &lt;a href="http://www.linux-mips.org/archives/linux-mips/2009-01/msg00029.html"&gt;said&lt;/a&gt; that this problem has &lt;a href="http://lkml.org/lkml/2009/1/6/341"&gt;already been fixed&lt;/a&gt;. I will test it later.&lt;br /&gt;&lt;br /&gt;Actually I intended to send this to LKML, but just before I was about to send I found there was already &lt;a href="http://marc.info/?l=linux-sparc&amp;amp;m=122956478603612&amp;amp;w=2"&gt;some discussions&lt;/a&gt; about this . So instead I decided to just post it here.&lt;br /&gt;&lt;br /&gt;To make long story short, please take a look at these two files first:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceware.org/cgi-bin/cvsweb.cgi/libc/string/endian.h?rev=1.10&amp;amp;content-type=text/x-cvsweb-markup&amp;amp;cvsroot=glibc"&gt;The first file&lt;/a&gt;, which will become part of /usr/include/endian.h. This file defines both __LITTLE_ENDIAN and __BIG_ENDIAN. And this file will be included by the second file.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=include/linux/byteorder.h;h=29f002d73d989c577f0e79a8100d6fb7e0abb188;hb=bc2aa80e18a1b43ea2b8066500006b729c4ba4a7"&gt;The second file&lt;/a&gt;, which will be /usr/include/linux/byteorder.h&lt;br /&gt;&lt;br /&gt;Obviously, this test in the second file will fail:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;    &lt;blockquote&gt;#if defined(__LITTLE_ENDIAN) &amp;amp;&amp;amp; defined(__BIG_ENDIAN)&lt;br /&gt;# error Fix asm/byteorder.h to define one endianness&lt;br /&gt;#endif&lt;/blockquote&gt;&lt;/div&gt;It seems that there is an inconsistency between Linux and glibc on handling __LITTLE_ENDIAN and __BIG_ENDIAN. Linux treats them like a flag, while glibc treats them like a value. glibc uses __BYTE_ORDER to determine the endianness.&lt;br /&gt;&lt;br /&gt;This problem must be solved, or any userland program including kernel headers which include {asm,linux}/byteorder.h will fail to build, e.g. glibc.&lt;br /&gt;&lt;br /&gt;It seems to me that the most straight forward way, but also very intrusive way is to make the handling of these two marco consistent in the two projects. That'll be a very large changeset. Also it will suddenly change a convention in a project that has already been followed for a long time. So I don't think people will accept this.&lt;br /&gt;&lt;br /&gt;How this problem will be solved is still remained to be seen.&lt;br /&gt;&lt;br /&gt;EDIT: someone reported that it worked well on ~amd64. So I modified the title and removed the last sentence. I will see if this problem still exists on my x86 notebook.&lt;br /&gt;&lt;br /&gt;EDIT 2: I confirm that this problem does not exists on x86. I will find out what exactly is going on loongson, or rather mips. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-751920947777199976?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=myhZiLF6LnQ:1X0Pt1KQWZ4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=myhZiLF6LnQ:1X0Pt1KQWZ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=myhZiLF6LnQ:1X0Pt1KQWZ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=myhZiLF6LnQ:1X0Pt1KQWZ4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=myhZiLF6LnQ:1X0Pt1KQWZ4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=myhZiLF6LnQ:1X0Pt1KQWZ4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?i=myhZiLF6LnQ:1X0Pt1KQWZ4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=myhZiLF6LnQ:1X0Pt1KQWZ4:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/r0bertz?a=myhZiLF6LnQ:1X0Pt1KQWZ4:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/r0bertz?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/r0bertz/~4/myhZiLF6LnQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://r0bertz.blogspot.com/feeds/751920947777199976/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12574936&amp;postID=751920947777199976" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/751920947777199976" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12574936/posts/default/751920947777199976" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/r0bertz/~3/myhZiLF6LnQ/glibc-doesnt-build-with-linux-header.html" title="glibc doesn't build with linux-header-2.6.28 on loongson" /><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>7</thr:total><feedburner:origLink>http://r0bertz.blogspot.com/2008/12/glibc-doesnt-build-with-linux-header.html</feedburner:origLink></entry></feed>

