2008-01-01から1年間の記事一覧

GCCのミドルでの最適化はどんなものなのか

CPU

int main(int argc,char **argv) { int base=10,pp=5,ret ; long int long_i_type =10,long_pp=5 ; char char_type =20,char_noset; unsigned int uint_type = 100 ,uint_noset ; unsigned char uchar_type =20,uchar_noset; ret = base+pp; long_pp = base …

アセンブラで追いかける

CPU

呼び出し関係 puts->_puts_r->__sfvwrite_r->(return EOF)__swsetup_r->__sinit->std*3 原因探り中

gas

CPU

newlib内のputcのコードを実行 実行結果 ありえない所でhalt信号を出すと思ったら gasのオペコードが間違っていた。修正しても直らず。。。 とおもったらnewlibのコンパイルしなおしていなかった。とりあえず動くけどもswsetupでEOF かえしてる…。

トラ技USB78kos基板 linuxドライバ

認識できるだけーttyのdev構造体とエンドポイトの繋げ方がよく分からず 頓挫中一から全部作ったものでやる方がよいのかな…

NetBSDのBoFで発表した  (下書きにしっぱなしだった

http://www.jp.netbsd.org/ja/JP/JNUG/announce/meeting10.htmlCPUの作成と移植のお話少しは関心を持ってもらえたかな?もっと上手に発表できるように精進します。(汗

レジスタを甘く見ていたらついにSpartan3に収まらなくなった件

CPU

今まで無理やり押し込んでいたがついにオーバー 師曰く「大きすぎないか?」とのことなので 大きい原因を探ってみたXILINXのサマリーCPU全体 Device Utilization Summary Logic Utilization Used Available Utilization Note(s) Number of Slice Flip Flops …

リンカエラー修正

CPU

結論からリンカの引数でライブラリを指定する際は1パスです。orz リンカスクリプトのGROUPSで指定する場合は再帰的に検索する。 gccのLD_SPECで渡す場合は順番をきちんとしてあげないとだめ。 それだけでリンカまわりはほぼ収束

autoconf automake

ものぐさ用スクリプト #!/bin/sh echo "#test is skelton code \n"\ "bin_PROGRAMS=test\n"\ "#test_CFLAGS is test package C compiler option\n"\ "#test_CXXFLAGS is test package C++ compiler option\n"\ "#test_LDADD is test package LOADER option\n…

コードブラウザ(ツール名メモ)

cscope cbrowser source navigator lxr

gccからのld呼び出し

CPU

リンカを使って手動でリンクすればリンク出きるのだが GCCからだとlibglossライブラリが抜け落ちてしまうのでリンカの呼び出し部分の調査 linker_spec is %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %{pie:-pie} %X %{o*} %{A} %{d} %{e*} %{…

linux/GNU環境のGUIデバッガー比較メモ

普段はDDD使うのだがふと気になって日本語の処理をメインに2つほどチョイスして比較してみた。他にもあるのでDDDのサイトの"Where can I learn more about debugging and debuggers?" を参考にubuntuのバイナリインストール時のデフォルト動作 環境変数 LANG…

TODO

CPU

binutils の改善 マルチサイクルに対応できるようにCPUの変更 NetBSDのポーティングに必要な機能の追加 FPGAに載せるシリアルインターフェースの作成 (OpenCoreから引っ張ってくるかススボックスもフリーだったきがする) メモリとIOのマッピングの確定 (…

玄箱

定期的に某所のサーバーと同期を取っているのだが ダウンロードに失敗してることが最近多発なぜかread only file system として認識されるので原因を探っていた。 nfs,smbがなんかしでかしているのかとその辺を止めてみてもまだ起こる。ファイルシステムが壊…

NetBSD & binutils

CPU

前回のは勘違いだわ...orz toolsのオプションはツールチェイン作る。 なのでターゲットのCCでなく ホストのCCつかうのでOK targparam.hが無いって言って止まるので 他のアーキテクチャのを参考に dlx/targparam.h を作った。 ポインタのサイズと浮動小数まわ…

NetBSD

CPU

NetBSDの公式からCVSで落としてきて少しいじくってみた。 build.shでうまくコンパイルできないので 中身をいじくり中。 とりあえず、少し進むようになったけど クロスでやってるつもりがちゃんとクロス環境になっていない。X(

エラー処理

C言語のエラー処理 の記事を見て 長くなるのでこっちへ なんでそんなにmain関数に戻りたいのかわからない…。 俺がおかしいのか? errno.hはman見ておくと良いよ デーモンに限った話ならメモリー取れない時点で処理できないの確定なので exit(0);まぁlinuxなら…

やっとこさっとこ

CPU

こんなレベル FPGAに載せるにはシリアルを載せないとダメだけど 買ってきたCPUなら言わせるのにものの30分も要らないんだけどね… さて、ちゃんとprintfで出せるようにしますか…

配列とポインタ変数2

>> i[p]でも動く(足し算は順序を変えても可・・・*(p+i)=*(i+p))ので、ただの省略表現で配列とは言えないということらしい。と言うのが配列≠ポインタ派の拠って立つところなんだね。ママンC言語だとそもそも配列の添字を抜いた物がポインタなんだょ。。。。 だ…

配列とポインタ変数

ブラックボックスにして使うのもよいけども できれば理解してほしいなと思うわけでポインタと配列何が違うか コンパイラが初期化(メモリの割り当て要するにmalloc)をするかしないかなわけなのだが どうもこいつがわかりにくいのかなーとおもう口だけで説明…

CPU

CPU

問題点がぞろぞろと出ています1.binutilのリロケータブルシンボル globalのシンボル宣言がmulti defineエラーになる。 というかbinutilはかなり手を入れた方が良いみたい。 ポートされているから安心していたが…。2.シングルバイトのst命令を使うと同一アラ…

gcc newlib

CPU

コンパイラの動作テストもかねて newlibのコンパイルとテストcharのポインタをmov出来ない問題を修正リンカ,ローダにバグがあるのか それともそもそもコンパイラの問題なのか分からない問題が発生ジャンプシンボルのテーブルを作成して ジャンプをしようと…