CHERTS, провел несколько экспериментов с попыткой сборки вот этого
Сначала попробовал собрать с libc. Оно бы собралось, но не влазит в IRAM, потому что вытягивает в IRAM много чего из libc.
Сделал из Вашего libc libcirom (кстати, почему бы Вам не включить сборку libcirom в UDK?) и попытался слинковать с ним. Получил портянку ошибок вроде
Такое чувство, что libstdc++ собран без -mlongcalls?
Код:
extern "C" void user_init(void)
{
stringstream ss;
string str;
str += "test";
ss << str;
}
Сделал из Вашего libc libcirom (кстати, почему бы Вам не включить сборку libcirom в UDK?) и попытался слинковать с ним. Получил портянку ошибок вроде
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.2.0/../../../../xtensa-lx106-elf/lib\libstdc++.a(cp-demangle.o): In function `d_identifier':
d:\Neo\crosstool\dl\gcc-5.2.0\build-2\xtensa-lx106-elf\libstdc++-v3\libsupc++/cp-demangle.c:1681.text+0x425): dangerous relocation: call0: call target out of range: memcmp
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.2.0/../../../../xtensa-lx106-elf/lib\libstdc++.a(cp-demangle.o): In function `d_growable_string_resize':
d:\Neo\crosstool\dl\gcc-5.2.0\build-2\xtensa-lx106-elf\libstdc++-v3\libsupc++/cp-demangle.c:3774.text+0x7f6): dangerous relocation: call0: call target out of range: realloc
d:\Neo\crosstool\dl\gcc-5.2.0\build-2\xtensa-lx106-elf\libstdc++-v3\libsupc++/cp-demangle.c:3777.text+0x801): dangerous relocation: call0: call target out of range: free
d:\Neo\crosstool\dl\gcc-5.2.0\build-2\xtensa-lx106-elf\libstdc++-v3\libsupc++/cp-demangle.c:1681.text+0x425): dangerous relocation: call0: call target out of range: memcmp
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.2.0/../../../../xtensa-lx106-elf/lib\libstdc++.a(cp-demangle.o): In function `d_growable_string_resize':
d:\Neo\crosstool\dl\gcc-5.2.0\build-2\xtensa-lx106-elf\libstdc++-v3\libsupc++/cp-demangle.c:3774.text+0x7f6): dangerous relocation: call0: call target out of range: realloc
d:\Neo\crosstool\dl\gcc-5.2.0\build-2\xtensa-lx106-elf\libstdc++-v3\libsupc++/cp-demangle.c:3777.text+0x801): dangerous relocation: call0: call target out of range: free
Такое чувство, что libstdc++ собран без -mlongcalls?