新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

2010-09-01から1ヶ月間の記事一覧

あ〜なんだろう。

.S で妙な(というかちょっと複雑な)コードを書くと .rela.text ができます。リンク時に、たぶん、シンボルの解決など問題が解決できないとそのまま .rela.dyn となり残ります(たぶん)。これはリロケータブルなシンボルを dynamic に解決するためのセクシ…

ld: final link failed: Bad value

あ〜も〜なんだかわからない。

binutils の target

正確に binutils や gcc が許容するものを書かないといけない。たとえば、microblaze-uclinux と最初していたのだが、gcc の configure のパターンマッチングが -linux を認識するようになっていて、これにより適切な SPEC を含む linux 用のソースが選択さ…

リロケータブル

Wl,-v をつけると情報が出ることがわかった。ついでに flt 化する前のオブジェクトも残してくれる。RELOC がついている。つまりリロケータブル。当たり前か。-q を強引につけているようだ。 elf2flt.c: /* fully resolved (using the `-q' flag with recent …

elf2flt

ダウンロードしてコンパイル。一部 libiberity.h にあるはず PEX_LAST | PEX_SEARCHのが binutils になかったので gcc のをインクルードするようにしてコンパイル。 target=microblze-elf としたため、microblaze-unknown-linux-gnu とあわないのを修正しつ…

uclibc

最新の uclibc を microblaze 用にコンパイルしてみた。 一応コンパイルは通った。

microblaze と busybox

BusyBox v1.00 (2009.08.11-07:01+0000) multi-call binary Usage: busybox [function] [arguments]... or: [function] [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people wi…

initramfs のまとめ

initrd は古い。initramfs を使うべき。 使うには CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="/mnt/small_ramdisk" とする。microblaze では CONFIG_INITRAMFS_NO_CHECK=y としたほうがいいかも。 early_printk_console is enabled at 0x50002000 Ra…

microblaze の uclinux

ram で root fs まではかろうじて(とちゅう BUG とわれるが、、、)たちあがる。しかし、Busybox でエラー。 early_printk_console is enabled at 0x50002000 Ramdisk addr 0x00004b7b, Compiled-in FDT at 0x10172a98 Linux version 2.6.34-00671-g91e2c43…

xilinx の git を使う

Xilinx が git サーバを提供しているのでそこからソースを一式ダウンロードして Linux を動かすことにする。対象は ML405。まず .config の設定。おもむろに次のコマンド叩くと make ARCH=powerpc CROSS_COMPILE=ppc_405- 40x/virtex_defconfig ちゃんと .co…

SystemACE

なんとか SystemACE の ace ファイルというものを作ることができた。えらく苦労した。まず、情報がない。その上、エラーが起こっても、エラーが起こったということがわかるだけで、それ以上何もわからない。SystemACE が何をやっているかというと(あくまで…

logiTAP6 で microblaze linux

おしい、、、 early_printk_console is enabled at 0x50002000 Ramdisk addr 0x00001000, Compiled-in FDT at 0x1011dfb0 ERROR: Microblaze BARREL, MSR, PCMP or DIV-different for kernel and DTS early_printk_console is enabled at 0x50002000DTS と .…