UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22159

7.1i サービス パック 2 - 「EDK/GNU-/..../demangle.c(.text+0x23b0): undefined reference to `realloc'」というエラー メッセージが表示される

説明

キーワード : realloc, link, C++, MicroBlaze, リンカー

重要度 : 標準

概要 :
MicroBlaze コンパイラを使用して c++ のアプリケーションをコンパイルしようとすると、リンカー エラー メッセージ (未解決のシンボル) が表示され、ソース コード上でエラーが検出できません。 コンパイラ/リンカーを EDK から実行しても、Xygwin シェルから実行しても、同じエラー メッセージが表示されます。

エラー メッセージ :
---------------------------------------
mb-gcc -O2 test/*.cpp -o test/executable.elf \
-mno-xl-soft-mul -mno-xl-soft-div -mhard-float -Wl,-T -Wl,test_linker_script -g -I./microblaze_0/include/ -Itest/ -L./microblaze_0/lib/ \
-xl-mode-executable \
-lstdc++

/cygdrive/c/cae/Xilinx/Edk7.1/gnu/microblaze/nt/bin/../lib/gcc/microblaze/3.4.1/../../../../microblaze/lib/libstdc++.a(cp-demangle.o): In function `d_print_resize':
/cygdrive/y/gnu_builds/halite/env/Jobs/MDT/sw/nt/gnu1/bld_mb_gcc/microblaze/libstdc++-v3/libsupc++/cp-demangle.c(.text+0x23b0): undefined reference to `realloc'
./microblaze_0/lib//libc.a(malloc.o): In function `malloc':
malloc.o(.text+0x8): relocation truncated to fit: R_MICROBLAZE_SRW32 .sdata
malloc.o(.text+0x20): relocation truncated to fit: R_MICROBLAZE_SRW32 .sdata
collect2: ld returned 1 exit status
make: *** [test/executable.elf] Error 1

ソリューション

次の内容を含む realloc.c と呼ばれるファイルを作成してください。

#include <stdlib.h>
void *realloc (void *ptr, size_t size)
{
return NULL;
}

realloc.c ファイルをソース コードに含めてください。 このコードを使って、コンパイル エラーを一時的に対処できます。

この問題は、今後のソフトウェア リリースで修正される予定です。
AR# 22159
日付 04/16/2007
ステータス アーカイブ
種類 一般
このページをブックマークに追加