Maverick Crunch is SO Far...

Dario, psm, solar(敬称略)と話した.
[Same topic via #gentoo-embedded.
Today, I had talked with Dario, psm, solar.]

Dario は GNU gcc + uClibc で Maverick Crunch を
[Dario would correct implement Maverick Crunch
by using GNU gcc + uClibc.]
11/29 20:18:53 Dario
Hello everybody :)
11/29 20:19:22 hiyuh
hey, Dario ;)
11/29 20:22:59 Dario
When compiling a stage2 gcc for my own toolchain I have an error
11/29 20:23:10 Dario
in gcc/libstdc++-v3/configure
11/29 20:23:18 Dario
Here is the config.log file:
11/29 20:23:25 Dario
11/29 20:24:05 Dario
The error log starts at line 174
11/29 20:25:38 Dario
I think this is due to a wrong uclibc installation, right?
11/29 20:26:01 Dario
But I would like to know what I did wrong...
11/29 20:27:15 hiyuh
Dario: hum, isnt it one of headers problems, afaik.
11/29 20:29:14 Dario
In fact it's not a "header xxx not found" error
11/29 20:30:01 Dario
like I had expected it to be
11/29 20:30:55 Dario
Mmm.. I need psm. He certainly knows..
11/29 20:32:22 hiyuh
ya, ask psm more than me. its better. :(
GNU gcc 内部に詳しい psm の登場待ち.
[So, we are patient til psm comes back.]

そこに solar が興味深い情報を提供してくれた. :)
[When, solar suggests to us his exp. :)]
11/29 20:32:34 solar
libstdc++-v3 never worked on any uclibc install afaik
11/29 20:33:04 hiyuh
it needs uclibc++?
11/29 20:33:21 Dario
So a failed configure is ok?
11/29 20:33:46 solar
whatever depends on it. try to remove the dep.
11/29 20:33:59 solar
libstdc++-v3 is a hack anyway for bin compat with older gcc
11/29 20:34:14 solar
a stop gap ebuild more or less
11/29 20:36:48 Dario
solar: I'm building gcc from sources, not using an ebuild
11/29 20:37:06 Dario
So is there a way to tell gcc not to build libstdc++?
11/29 20:39:30 solar
yeah skip the dep
11/29 20:39:38 solar
or merge the pkg in question with -O
11/29 20:39:50 solar
or edit the ebuild and remove the line in question
11/29 20:39:59 solar
or --inject it
11/29 20:40:16 *
Dario remembers solar he is building gcc from sources
11/29 20:40:47 solar
gentoo building with sources ?
11/29 20:40:54 solar
I think redhat does not
11/29 20:40:57 Dario
manual building with sources
11/29 20:41:00 solar
but surely not gentoo
11/29 20:41:02 solar
11/29 20:41:14 hiyuh
eh, isnt it "--enable-languages=c,c++" to "--enable-languases=c"?
11/29 20:41:19 solar
oh. via the non ebuild?
11/29 20:41:42 Dario
./configure blah blah blah; make; make install
11/29 20:41:46 Dario
This stuff
11/29 20:42:09 Dario
hiyuh: so I should disable c++ at all?
11/29 20:42:13 solar
I was kidding with you
11/29 20:42:20 Dario
11/29 20:42:40 solar
do you need c++ right now? if not the above is quite acceptable
11/29 20:42:54 solar
thats more or less what out USE=nocxx flag does
11/29 20:42:58 solar
11/29 20:43:04 Dario
Yes, I should compile or the system with that compiler
11/29 20:43:26 Dario
I need c++
11/29 20:44:01 Dario
I've used the same configuration options that are used by crossdev
11/29 20:44:06 Dario
with the same configuration.
11/29 20:44:25 Dario
Only that I've changed the installation paths
11/29 20:44:33 Dario
Maybe the problem is there
Darioのケースでは C++ なライブラリのサポートが必要な為,
やはり psm 待ちになった. :(
間を持たせてみた. :P
[So, in his case, it requires C++ library support.
We are re-patient till psm comes back. :(
Then, I asked a tricky question for to fill the dull time. :P]
11/29 20:55:50 hiyuh
umm, if build gcc w/ glibc for cross compiler, the cross compiler cannt
build uClibc for the target?
11/29 20:58:37 Dario
hiyuh: I think yes. To build uClibc it's enough a stage 1 gcc it doesn't
matter what libc you have IMHO
11/29 21:02:05 hiyuh
Dario: heh, thx.
11/29 21:10:56 Dario
solar, hiyuh: thanks, I've just realized that also the gcc built with crossdev
11/29 21:11:08 Dario
fails when configuring libstdc++.
11/29 21:11:36 Dario
So this should be perfectly fine :)
11/29 21:15:12 hiyuh
11/29 21:20:03 solar
if you say so.
11/29 21:20:06 solar
good luck.
11/29 21:32:11 Dario
solar: yes, the errors in configure are the same but libstdcc++ gets
built anyway
で,psm 登場.
そして,上手い説明,凄い! :o
[Yeah, psm comes back.
And his suggestion is always cool! :o]
11/29 23:58:53 psm
Dario: lines 302 and 392 are your troubles probably, it seems that your build
env mixed glibc/uclibc libs
11/30 00:00:35 hiyuh
psm: heh, lib mix? header mix?
11/30 00:00:58 psm
lib mix
11/30 00:01:33 psm
header could be too, that DSO failure means very bad things are happening,
11/30 00:02:02 *
hiyuh is gazig the log...
11/30 00:03:11 Dario
psm: I'm compiling gcc with --with-sysroot= pointing to a directory
11/30 00:03:21 Dario
where only the uclibc libraries are present
11/30 00:03:53 Dario
Could this be a problem?
11/30 00:06:27 hiyuh
Dario: but the compiler (which use for to build the cross compiler) might search
its own headers(which is out side of sysroot)?
11/30 00:06:59 Dario
More probably those DSO failure could be caused by my gcc hacks..
11/30 00:07:03 psm
Dario: if you want to reinvent wheel, do it, else for a cross-compiler
use crossdev
11/30 00:07:33 Dario
psm: you know, I'm in big troubles since I've got to modify gcc for my needs :-(
11/30 00:07:45 Dario
There is nothing that works out of the box for me ...
11/30 00:08:14 psm
why ?
11/30 00:08:55 Dario
Becouse of that Maverick crunch coprocessor
11/30 00:09:03 Dario
which has bugged support in gcc 4.0
11/30 00:09:24 Dario
And has an incompatible ABI with standard arm processors, since it uses
11/30 00:09:36 Dario
floating point registers to pass variables to functions
11/30 00:10:04 hiyuh
umm, Maverick crunch is so far...
11/30 00:11:07 Dario
It's a DISASTER \o/
11/30 00:12:16 psm
Dario: what about trying then to use softfloat instead ?
11/30 00:12:52 Dario
psm: Yes, I know.. But I've got to deal with multimedia applications
11/30 00:13:12 Dario
and it's really a pity not to use the coprocessor which has been
11/30 00:13:36 Dario
put for those pourposes
11/30 00:14:11 Dario
I don't know... I'm looking at the code...
11/30 00:14:13 hiyuh
this feature in chip but not available... too sad...
11/30 00:14:34 Dario
Maybe I'll be able to correct this..
11/30 00:14:43 Dario
Maybe not, who knows..
11/30 00:15:14 psm
I would patch within gentoo what changes you need for gcc/binutils ...,
but use crossdev finally, else you can fail at too many places
11/30 00:15:29 psm
don't leave tested ground where you are not forced to
11/30 00:16:01 Dario
psm: ok, thanks for the tip
11/30 00:16:23 Dario
Up to now I've got a script which configures gcc exactly in the way
11/30 00:16:28 Dario
crossdev does
11/30 00:17:04 Dario
Actually it builds binutils, gcc, uclibc (patched), gcc stage2
11/30 00:21:01 hiyuh
Dario: btw, the chip you have is *just* ep9312? i have ep9315.
11/30 00:22:02 hiyuh
i know ep9315 has maverick, but is it lib compat?
11/30 00:22:33 Dario
hiyuh: I have an ep 9315 as well. From a instruction set point of view these
are equivalent.
11/30 00:24:00 hiyuh
Dario: heh, you are my guru, i hope you correct this implement!
11/30 00:24:31 Dario
hiyuh: If I'm your guru, then good luck to you! :)
11/30 00:24:42 hiyuh
こっちは滅茶苦茶に期待していますよ,先生! :)
[Yup, I really hope my guru do it! :)]


A Episode from #gentoo-embedded #2

ネタには困らんし. :P
[It's a interested to me like a that.
I have too many issues related its stuff. :P]

I have talked with Hali_303 about CompactFlash related issues.]
11/29 00:31:54 *
Hali_303 (n=surfk@sclauto.scl.sztaki.hu) has joined #gentoo-embedded
11/29 00:32:00 Hali_303
11/29 00:32:13 Hali_303
anyone used a compact flash as a boot medium?
11/29 00:32:50 Hali_303
when I have a compact flash in my system, during bootup the kernel halts for a
few seconds and prints dma_timer_expiry
と言う訳で,DMA の問題が起きていた様です.
 Kernel 側の自動認識に誤りが有るか,
[So, he has DMA's issues.
In this case, it cause that
 Kernel's some auto detection feature failed,
 The driver is not completely implementation,
 Just a got bad hardware....
these are in a major oder in my mind.]
11/29 00:34:42 hiyuh
Hali_303, isnt it a your target's kernel or drivers implementation issues?
11/29 00:38:33 hiyuh
Hali_303, or you *just* got bad compact flash. i know the driver works fine one,
but the driver work *not* fine another one.
11/29 00:43:33 Hali_303
hiyuh: what driver do you mean?
11/29 00:43:51 Hali_303
I have a geode GX1 target (i586 MMX compatible)
11/29 00:44:05 Hali_303
and the CF card can be accessed as a regular IDE drive
11/29 00:44:13 Hali_303
(the bios also sees it)
11/29 00:48:22 hiyuh
i mean "the driver is you selected (it might be found in kernel menu
configuration), then your target use for your cf"
11/29 00:51:23 hiyuh
storage device's driver and/or enabled dma has implementation issues sometimes,
i know
11/29 00:52:42 hiyuh
it coz driver's bug and/or to got bad device
11/29 00:53:38 hiyuh
so, havent you tried to disable dma?
I gave him some suggestions for to work around this issue to disable the DMA.]
11/29 01:07:13 Hali_303
hiyuh: according to hdparm, DMA is disabled
11/29 01:08:19 hiyuh
Hali_303: hum, its a *just* new release hardware?
11/29 01:10:29 *
hiyuh has little knowledge about geode
11/29 01:13:33 hiyuh
Hali_303: some new released hardwares have a bit of driver's issues.
sorry, its just one of generally knowledge. :(
11/29 01:15:30 Hali_303
hiyuh: it's a pretty old advantech geode board
11/29 01:16:31 hiyuh
Hali_303: can i get its spec?
11/29 01:18:45 Hali_303
11/29 01:29:25 hiyuh
Hali_303: i just got its spec. :)
11/29 01:29:29 *
hiyuh is reading the pdf.
11/29 01:31:40 hiyuh
Hali_303: the board has Ultra DMA33 interface. its a cf interface, right?
11/29 01:35:22 hiyuh
Hali_303: umm, your kernel or driver has "dma auto detect is default" feature
or so? isnt it might be failed?
で,解決しました. :)
[Mm'kay, he got a solution. :)]
11/29 02:20:06 Hali_303
hiyuh: I've got the solution
11/29 02:20:40 Hali_303
hiyuh: I had to do two things: in the kernel setup, I've enabled "multi mode by
default" and to the kernel command line, I've added hda=none hdb=none
11/29 02:20:47 Hali_303
(since the flash is hdc)
11/29 02:22:16 hiyuh
Hali_303: ah-ha, wilco.
11/29 02:23:11 hiyuh
Hali_303: have fun your embedded stuff! :)
11/29 02:24:24 Hali_303
hiyuh: thx! I've also disabled DMA to be sure, but I guess I can re-enable it,
since the previous two solved it
11/29 02:35:51 hiyuh
Hali_303: no problem, but im hungry. :P
11/29 02:35:55 *
hiyuh will go to get something to eat.
それを喰いながらこれ書いてました. :)
[After the event,
I bought a noodle and a rice ball at 7-11.
Then, I came back and post it now. :)]


A Episode from #gentoo-embedded

[Then, I saw a man sacrifices for uClibc...]

11/28 06:16:34 zmedico
I built a i386-pc-linux-uclibc toolchain with crossdev and when I emerge dropbear
with ROOT=/somedir dies during configure because it can't find zlib. If I add
LDFLAGS="-L${ROOT}/lib" and CFLAGS="${CFLAGS} -I${ROOT}/usr/include" to the
ebuild then it works but should that be necessary?
11/28 06:22:26 zmedico
I know that ROOT= isn't allways well supported but I just looking for pointers...
11/28 06:28:48 hiyuh
zmedico: umm, check your --host and --build option when configuration library for
your taregt, or ${CC} and ${CXX} also
11/28 06:32:20 hiyuh
NON-PREFIXed executable commands (like ${CC} as "gcc") generates architecture
specific object is VERY harmful...
11/28 06:32:21 zmedico
hiyuh: thanks, I'm pretty sure --host and --build were set properly in econf by
CHOST and CBUILD but let me check on the CC and CXX too...
11/28 06:32:55 zmedico
11/28 06:37:26 hiyuh
and check portage's FEATURES variable. if it contain sandbox or usersandbox,
remove it then cross re-emerging
11/28 06:37:45 zmedico
11/28 06:45:42 hiyuh
but i use crossdev+distcc+nfs tricks for my almost embedded stuff. i haven't used
ROOT+crossdev tricks for all embedded stuff.
11/28 06:46:42 *
hiyuh is a embedded newbie, dont trust him. :P
11/28 06:47:06 zmedico
ahh, so what I'm trying hasn't actually worked for you ;)
11/28 06:47:32 zmedico
config.log says CC='i386-pc-linux-uclibc-gcc'
11/28 06:51:28 hiyuh
mm, what did config.log said for your error? just zlib not found?
11/28 06:52:12 zmedico
cannot find -lz
11/28 06:53:24 *
zmedico suspects that many ebuilds are broken with respect to ROOT=/somedir
cross compilation...

で,Dario さんが少し助けてくれた.
[And then, Dario makes a bit of to help.]

11/28 06:54:05 Dario
zmedico: there are lots of ebuilds that don't compile with the ROOT cross
compilation trick
11/28 06:54:27 Dario
Or at least this is my personal experience...
11/28 06:54:55 Dario
Some of them are nearly impossible to cross-compile,
11/28 06:55:18 Dario
since, like xorg, use a particular build system
11/28 06:55:36 hiyuh
zmedico: mm, just execute "i386-pc-linux-eclibc -v", its output lack of
11/28 06:56:01 hiyuh
hi, Dario
11/28 06:56:13 Dario
hi hiyuh :)
11/28 06:57:22 Dario
zmedico: so prepare to tweak these variables very often :-)
11/28 07:00:29 *
hiyuh is making powerpc's faketoo on x86_64 server for fighting some horibble
beast's library
11/28 07:00:33 zmedico
Dario: thanks for the info. Do you normally just tweak the ebuilds then? If so,
do ebuild maintainers typically accept patches to fix this kind of thing?
11/28 07:02:57 Dario
zmedico: sometimes tweaking the ebuilds isn't worth it, imho. Better compiling
11/28 07:03:33 Dario
But in some situations compiling natively becomes too time consuming and I try
11/28 07:04:02 Dario
to make crossdev work with that package..
11/28 07:04:27 hiyuh
zmedico: one more info, some vanilla security related stuff is severe test when
configure and/or install, i remember
11/28 07:04:59 hiyuh
it is harmfull when cross compiling...
11/28 07:05:00 Dario
I've spent lots of time on cross-compilation issues, but I don't feel to have all
the answers, sorry
11/28 07:06:13 Dario
In this channel there are people who know this stuff much more than me.
11/28 07:06:46 zmedico
well, thanks anyways ;)
11/28 07:06:55 hiyuh
ya, more than me.

[But, this problem cold not solve, how shame. :(]

その後,少しGNU GCCについての話になるが...
[After, I have talked a bit of about GNU GCC...]

11/28 07:07:32 *
hiyuh wants to more hack power...
11/28 07:08:25 *
Dario needs more hack power, which is worse ;-P
11/28 07:10:41 *
Dario also needs knowledge of gcc internals for the arm platforms, since the
processor he has to use isn't supported properly
11/28 07:12:43 hiyuh
yap, some usefull apps have huge code size. so it is too complex to understand.
11/28 07:15:02 Dario
hiyuh: It's not that it's a so huge code size, It's that gcc is all about macros.
And you have to know them otherwise you don't understand what the hell the code
11/28 07:16:52 hiyuh
11/28 07:21:47 hiyuh
when i heve seen the gcc code is just when some problem happend. and that i have
only seen almost configuration related files. :(
11/28 07:38:49 Dario
hiyuh: when someone ends up looking at the gcc code, then something bad is going
11/28 07:42:58 hiyuh
Dario: ya, i know that's we are :(

[Well, It's just NOT funny for us. :(]


A Episode from #gentoo-ppc

#gentoo-ppc での或る出来事.
長いから. :P
[There is a episode from #gentoo-ppc.
Meantime, I didn't translate to Japanese this IRC logs.
It's a bit of long for me. :P]
11/27 04:25:09 BearPerson
excuse me, would anyone here be willing to share some experience/advice to a fellow
source-distro developer about ppc installer CDs?
11/27 04:25:39 BearPerson
mine keep stopping to boot just before the framebuffer is initialized
11/27 04:26:10 BearPerson
strangely enough, the very same CD works on a different ppc box just fine
11/27 04:30:29 nixnut
BearPerson: no idea, have you tried a gentoo cd on both machines?
11/27 04:31:17 BearPerson
no, the one machine where it didn't work is my team lead's, we could try there,
the machine where it works was a normal user, no idea where he's off to
11/27 04:31:43 BearPerson
also, an ISO with 2.6.12 kernel booted, while one with 2.6.13 didn't
11/27 04:36:14 BearPerson
but there wouldn't be some community knowledge you could share? I'm pretty new to
making ppc ISOs, and might be falling into some or other almost-obvious pitfall
11/27 04:38:26 nixnut
BearPerson: well, I don't build those things myself, just consume them when I need
to install on a new maching. I think JoseJX and Pylon would be the people to talk
11/27 04:38:47 hansmi
All you need are the catalyst spec files (available via viewcvs) and catalyst
11/27 04:39:28 nixnut
yeah, but that's pretty gentoo centric, eh? :)
11/27 04:39:33 JoseJX
BearPerson: Is it a nvidia card?
11/27 04:39:47 hansmi
nixnut: We're in a Gentoo channel.
11/27 04:39:50 JoseJX
BearPerson: I'll bet you're having Framebuffer issues on boot
11/27 04:39:53 BearPerson
not sure...
11/27 04:39:58 BearPerson
JoseJX, yes, I am
11/27 04:40:00 nixnut
hansmi: damn! really?
11/27 04:40:12 JoseJX
BearPerson: That's almost definitely the problem then
11/27 04:40:23 BearPerson
nvidia cards not properly supported?
11/27 04:40:28 JoseJX
BearPerson: Try playing with the video= kernel append value
11/27 04:40:40 BearPerson
ah, will do, thanks
11/27 04:40:44 hansmi
video=ofonly should work on every card, but might be slow
11/27 04:40:44 JoseJX
11/27 04:42:02 BearPerson
ah, hmm... I don't even have framebuffer drivers for nvidia compiled into the
kernel... that probably is the problem :-)
11/27 04:45:15 BearPerson
video=ofonly doesn't boot properly in pearpc either, but then again, I've been told
that pearpc is near-total garbage for this kind of stuff
11/27 04:49:19 nixnut
BearPerson: yah, having an emulator emulate the OF framebuffer too might be asking
a bit too much :)
11/27 05:28:37 BearPerson
just a question, would my problems be obviously caused by missing the nvidia
framebuffer driver in the kernel config?
11/27 06:47:29 JoseJX
BearPerson: It's a common problem to not have it boot if you don't have the proper
framebuffer device, PPC requires it.
11/27 06:49:03 BearPerson
so likely the problem was just that I forgot to build all (or most) framebuffer
devices into the kernel?
11/27 06:52:04 JoseJX
BearPerson: Yeah, depends on your target, but it's best to compile in support for
as many as possible.
11/27 06:52:16 BearPerson
As I said when I came in... I'm very likely missing something dead obvious :-)
11/27 06:52:42 BearPerson
thanks a lot :-)
11/27 06:53:20 BearPerson
... and thanks for not flaming me out the door, everyone ;-)
11/27 06:53:53 BearPerson
if you ever happen to need some bash script, I'd be happy to help you :-)
11/27 06:55:10 JoseJX
BearPerson: BTW, it would probably be worth it to look through our forums, we deal
with a lot of common kernel problems because everyone compiles their own.
11/27 06:55:28 BearPerson
heh, that's true :-)
11/27 06:55:52 JoseJX
Which distro are you working on?
11/27 06:55:58 BearPerson
I've had someone on x86 today whose kernel wouldn't boot because of some built-in
RAID driver
11/27 06:56:12 BearPerson
Source Mage... /me points to cloak (or to channel list) ;-)
良いね,こう言うの. :)
[Yum, how nice. :)]
11/27 06:56:13 nixnut
BearPerson: yeah, and if you find duplicates you can point them out to me so I can
clean up :p
11/27 06:56:32 BearPerson
duplicates where?
11/27 06:56:54 nixnut
BearPerson: in the forums, duplicate posts dealing with the same problem. But just
kidding :)
11/27 06:57:00 BearPerson
11/27 06:57:45 BearPerson
we recently had to restore the last few months of our bugzilla due to a hard drive
crash... recovered from the bugzilla change notification mails... we have duplicate
messages all over the place :-/
11/27 06:58:01 nixnut
BearPerson: ouch
11/27 06:58:22 BearPerson
was probably the sickest script I ever wrote
11/27 06:58:26 JoseJX
11/27 06:58:27 nixnut
どこでも同じだなぁ. :)
[Heh, I have seen like the things . :)]


Amazing HIRA Method!

Armadillo-9 を封印するとこう言うネタが尽きない件について.
[I wonder,
when ONLY sealed down my embedded stuff
I JUST salvage some topics like that.]

[This is one of to read the source code: HIRA Method]

そのうち真似するか. :P
[Amazing, Yum-Yum...
He said,
The license of this method is "NOT to restrict to use the method".
I'll try it at some future day. :P]

GNU GCC Support Cirrus Logic Maverick Crunch Optimisation

Armadillo-9 は封印したけど,少し出し遅れた関連ネタ.
[Armadillo-9 was sealed down.
But this topic is related it.]

Armadillo-9 に載っている Cirrus Logic EP9315は,
Maverick Crunch Co-Processor と言う FPU が付属している.
[Armadillo-9 is Cirrus Logic EP9315 CPU borad.
EP9315 has Maverick Crunch Co-Processor as FPU.]

GNU GCC に関するこのFPU 向けに最適化するオプションの
this topic is when building GNU GCC for
to optimise this FPU's option,
it happens some bugs.]

このバグレポートを出したDario Massarinさん,
以前 #gentoo-embedded で少し話した所,
彼は,GNU as でフルアセンブルな Maverick Crunch 用の
アプリを作る強者だった. :o
GNU GCC 4.0.x のドキュメントに EP93xx の最適化オプションを発見し,
[Dario Massarin reported this bug.
I have talked with him via IRC on #gentoo-embedded
about this FPU features.
I think he is nice guy because he had made an application
which coding completely GNU as for Maverrick Crunch. :o
He had found the optimisation options related this features
in GNU GCC 4.0.x documents,
and he had tried it, but it build failed.]

で,Richard Earnshawさんから
この御返事,対応が早ーい! :o
当の本人もこの驚き様. :P
[And then,
Richard Earnshaw replied.
Oh-ho, SO FAST! :o
Dario Massarin surprised.]

あとで訊いておこうっと. :)
it seems new bug comes.
Now, didn't it works about this features?
I want to talk about this things if there is a next time. :)]


Overslept, Reading Some Documents Related Python

調布祭二日目を寝過ごした. :P
[I had overslept Chofu-festival 2nd-day. :P]

卒業研究の方が一段落するまで Armadillo-9 は封印するので,
I'll have Armadillo-9 is sealed down.
Be patient next time.]

Python のコーディングに入る前に,
[I have to read some documents related Python for my resarch.]

Python Official Doocuments
PyJUG Japanese Documents
Learning Python, 2nd Edition
A Byte of Python
Dive Into Python