-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
おしい!!
/home/ryos/FPGA_Linux/install/mb-uclinux/lib/gcc/microblaze-uclinux/4.1.2/../../../../microblaze-uclinux/bin/ld: unrecognised emulation mode:
Supported emulations: elf32microblaze
g++ の -lm も同じ理由でしょう。
これが ld/Makefile
EMUL =
EMULATION_OFILES = eelf32microblaze.o
EMUL_EXTRA_OFILES =
つまり target 名が悪くて ld の configure で何を生成したらいいか
わからなかったということ。じゃぺ田番場やってみよう。
ペタ版はさっき確認したら修正が入っていた。
ld/configure.tgt だね
microblazeel*-linux*)
targ_emul=elf32mbel_linux
targ_extra_emuls="elf32microblaze elf32mb_linux"
;;
microblaze*-linux*)
targ_emul=elf32mb_linux
targ_extra_emuls="elf32microblazeel elf32mbel_linux"
;;
microblazeel*)
targ_emul=elf32microblazeel
targ_extra_emuls="elf32microblaze"
;;
microblaze*)
targ_emul=elf32microblaze
targ_extra_emuls="elf32microblazeel"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
microblaze-unknown-uclinux-uclibc でいけることがわかった。
peta に頼る必要なし。
根性だ。もう一度。
../../../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
../../../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
ど〜〜ですか?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
めちゃくちゃおしい。
rem:test> microblaze-unknown-uclinux-uclibc-gcc test.c
/home/ryos/FPGA_Linux/install/mb-uclinux/lib/gcc/microblaze-unknown-uclinux-uclibc/4.1.2/../../../../microblaze-unknown-uclinux-uclibc/bin/ld: cannot open linker script file xilinx.ld: No such file or directory
えーい xilinx.ld を cp
rem:test> microblaze-unknown-uclinux-uclibc-gcc test.c
/home/ryos/FPGA_Linux/install/mb-uclinux/lib/gcc/microblaze-unknown-uclinux-uclibc/4.1.2/../../../../microblaze-unknown-uclinux-uclibc/bin/ld: crt0.o: No such file: No such file or directory
collect2: ld returned 1 exit status
あ!! xilkernel の環境になってしまうのか、、、、
どうやら gcc がそうしているようだ。
gcc が xilinx.ld を要求しているようだ。
mb_gnu/src/gcc/gcc/config/microblaze
rem:microblaze> grep xilinx *
microblaze.h:%{mxl-gp-opt:%{G*}} %{!mxl-gp-opt: -G 0} %{!Wl,-T*: %{!T*: -T xilinx.ld%s}}"
どうやら LINKSPEC に手を入れる必要があるみたいだ。
microblaze.h に手を入れ始めた、、、、
これは方向性に誤りがあるな、、、