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

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

-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"

とか書いているうちに
peta 版失敗しました。
コンパイルに失敗しました。
microblaze.c で
config.h
とか tm.h とか必要です。なんでしょう?

gnu 番でもありますね、、、じゃなぜコンパイルエラー?

    • -

まぁいいや
gccuclinux.h を読んでいて
#define INCLUDE_DEFAULTS をはっけん。っこで /usr/include を見ているんだ。

                                                            • -

mb_gnu を直すことにしました。
なおしました。

../../../mb_gnu/src/binutils/configure --prefix=/home/ryos/FPGA_Linux/install/mb-uclinux --target=microblaze-unknown-uclinux-uclibc --with-sysroot=/home/ryos/FPGA_Linux/install/mb-uclinux/microblaze-unknown-uclinux-uclibc

ar なおす
usr cpio

はいgcc
がんばりましょう。

../../../mb_gnu/src/gcc/configure --target=microblaze-unknown-uclinux-uclibc --prefix=/home/ryos/FPGA_Linux/install/mb-uclinux --enable-multilib --disable-libssp --enable-optimize-memory --enable-languages=c --disable-threads --with-sysroot=/home/ryos/FPGA_Linux/install/mb-uclinux/microblaze-unknown-uclinux-uclibc
今確認したら uclinux.h は crt1.o をリンクしていた。
uclibc の要求通りジャン


rel ができるらしく
.junk 0 : { *(.rel*) *(.rela*) }
わざわざアドレスをぶつけてエラーにするようになっている。

コンパイル時に -r をつけると .rel は出来なくなる!!!
a.out ができましたとさ