スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Linux zaurus cross compiler for Mac OS X

Mac OS XでLinux zaurus crossメモ

クロスコンパイラを作らないことには始まらない!
ということで、大変でした。
書いてあることをそのままやって成功しないという、
本当に成功している人が居るのか疑問に思うことが多々。
最初、既存のライブラリを使わずに一から作ろうと思ったんですが、失敗しました。

しかし、コンパイラの互換性問題って大変ですね(苦笑)

ちなみにこのテキストはgcc 2.95.2をターゲットにしています。

■1
 rpm2cpioで取り出したincludeやライブラリをファイルを$(prefix)に入れる。
/usr系は使わない方が良いと思います。デフォルトの/usr/localなども。
失敗する場合などを考慮して新しい場所を用意しましょう。

■2
 GNUのsedを使う事(通常はbsd系が入ってます)
これはMac OS Xでは地味に失敗するので気をつけたいところです。

binutils 2.17は避ける事(最新版は互換性に若干問題があるようです)
これも地味に失敗するようです。
自分は2.15を使いました。

■3
 $(prefix)/arm-linux/bin/
にincludeのリンクを張ること。
これは、-Bオプションで指定された所から
includeを読み込むための措置です。
これについては他に方法があるのかもしれない。
(specsファイルとかが鍵なような気がしますが…)

■4
 パッチを当てる。
www.emucamp.com/boukichi/gcc_linuxzaurus.diff
libioに問題が…。
ストリームを扱うところがstructとEOF(int型)と混同するので、
定義をストリームのstructな型からlong系の型に。

■5
 specsファイルをセルフ開発環境などからコピーしてくる。
場所は最初、$(prefix)/arm-linux/bin/に、
次に、make installでコピーされるものを
arm-linux-gcc -vで調べて上書き。
ここらへんは違う方法ができるんじゃないかと思うんですが…。

■6
 これでHello,worldがコンパイル可能、実機で動作するようになれば、
完了です。
 うちでは、次にgcc3のコンパイル&インストールです。
ある程度のパッチ(試行錯誤したので)が当たっているかもしれませんが、
--disable-sharedのみでどうにか行きました。

■7
 実機でプログラムを動かすとき、libgcc.soが無いと言われます。
これは、-static-libgccオプションをつけることで解決します。
C++では若干問題がでるとか?
libgccは制限条項付きGPLであってリンク自由なので問題ないようです。
スポンサーサイト

pmaパッチ?

http://diary.okotama.org/

LHaのUNIX版にpma展開のパッチを送られてきた人が居るとか。珍しい。
pmaの展開ルーチンについて、経路を書いておくと。
元々DOSのunpmaというコマンド(pmextとは別のもので、おそらくpmextから解析されたもの)を
mth氏(現在openMSXの要の一人)がアセンブラソースからC言語化、
そしてそれを某氏が再コーディング?してDLL化、そして問題発生の後に
DLL消滅という事になってます。

ところで、RUNZ80を公開してからDLLの問題は知りました。
なんと言うか、残念な問題といいますか。難しいですよね。
Windowsの開発ツール高いし。

従って、pma圧縮コードはC言語としては現在存在しないはずです。
そんなに難しくないと思うので、作ると面白いと思います。

気になるネットラジオ

最近はネットラジオでも面白いものが結構出てきてまして。
記録として残しておきます。

・うたわれるものらじお
 これは何も言うまでもなく、面白いラジオです。
一番ホットなネットラジオなんじゃないでしょうか。
配信システムが落ちるという凄さ。
そもそもLeafが出していたとか全然知らなくて、
作品も見た事ないんですが、ラジオは面白いというパターン。

・織田マリと三園あすかのぶっちゃけどうなの?
テンションが異常に高いラジオ番組。今はまだ0回だけど期待したい。
ふつ~にトークするという形で。
問題は忘れてしまいそうな所か…。
URLは、http://www.studio774.com/

・兄貴の魂とハリーの知恵袋
1回目から全部聞きました。
面白いんだけど、ほどんど注目されていないんじゃないか(失礼)と思われるラジオ。
というか、こういうのは宣伝しないと…。
番組的にはマニアックに行くのか、広く一般に行くのか…。
あと、月一更新ということでいいんでしょうか?
そういうゆっくり更新なネットラジオの欠点として忘れてしまう事かな。
そういう意味じゃポットキャスティングなのかな~。やっぱり。
URLは、http://www.amusement-center.com/project/emusic/radio/index.html

RUNZ80バグ考察

・PMArc使用時にアーカイブが破損する
ごくまれに、ただデータによっては確実に。
別のエミュレータで試したところ正しく作られたので
CPUエラーかなと。

・LinuxZaurusのself compilerでコンパイルできない
おそらくそれはgcc2のせいです。
3.3のもあるらしいのですが…まとめサイトは無いんですかね?(汗

Q88P v 0.01 Makefile for PSPSDK

最近のPSPSDKでコンパイルできるか実験。
とりあえず実験として動作可能な状態を目指すため0.01から。
また、ライブラリも混ぜ合わせて最低限の変更でトライ。

一発OKでした。凄い。

www.emucamp.com/boukichi/mak-pspsdk.tar.gz

ちなみにoutpatchはUSERPROGのものを使用します。
これはmodule名をただHelloWorldからUSERPROGに変えたもので、
HelloWorldの次のプログラムあたりで汎用性の為に変更されたもののようです。
elf2pbpは0.3、コンパイルしただけです。

g++ hogehoge.cpp -o something
とすればよいのです。

と、丁寧に解説しておきます。

RUNZ80 ver 0.1

圧縮、圧縮、解凍、解凍

www.emucamp.com/boukichi/runz80-061007.tar.gz

CP/Mシミュレータです。ソース付きです。
シミュレータは数あれど、自由に使えるものが無かったので…。
openMSXから引っ張ってきてGPLにしようかと思ったんですが、
面倒だったのでこのような形に。

LinuxとかWindowsでも動くと思います。
でも付属しているバイナリはMac OS Xバイナリ(Universal)です。

PMArcを冗談の為に使えるように、と思ったのが最初です。
当初は解析して再実装しようかと考えていましたが、
流石に大変そうなので、シミュレータに。

所でPMArc2を使って実験でMP3を圧縮したときにCRCエラーが…。
大きなファイルが扱えないのかなと思って別のMP3ファイルを圧縮すると
こちらは問題が無いようで…。シミュレータのバグの可能性もあるんですが、
気になるところでもあります。

この手の解析は面白そうなんですが、一旦ハマると抜け出せなくなりそうで…。
unpmaからアーカイバを書き起こすなんて面白いんじゃないでしょうか。

重要な事

 何かが終わるってことは何かが始まるということ。
形が変わってしまうのは悲しいけど、
また違う世界がそこに構築されます。
破壊と構築。世の中はそのフェイズに沿って動いているのです。

10/1だから書いてみました。

プロフィール

BouKiCHi

Author:BouKiCHi
ABOUT ME
MAIL:alf_byncyou at hotmail.com

WEB:http://clogging.web.fc2.com/
TWITTER:@bkc_alf

月別アーカイブ

FC2カウンター

ブロとも申請フォーム

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。