Это часть glibc. И ни в одной архитектуре из дерева eCos hal/arm, hal/mips, hal/x86 hal/sparc ее нет. Кроме synth. Боюсь, что для eCos эти ф-ии от Linux не подойдут. Поэтому и указна опция -nostdlib.
Эта опция (-nostdlib) указана умолчанию для всех платформ (hal/arm, hal/mips, hal/x86 hal/sparc...).
Не пойму, как оно должно собираться в теории?
Пропадаю.
gosha:/usr/src/Redboot/packages# grep -R -F cxa_atexit *
hal/synth/arch/current/src/synth_entry.c:// inserts a call to __cxa_atexit() with __dso_handle as one of the
hal/synth/arch/current/src/synth_entry.c:// arguments. __cxa_atexit() would normally be provided by glibc, and
hal/synth/arch/current/src/synth_entry.c:__cxa_atexit(void (*arg1)(void*), void* arg2, void* arg3)
hal/synth/arch/current/ChangeLog: Provide dummy versions of __cxa_atexit() and __dso_handle, to
gosha:/usr/src/Redboot/packages#
gosha:/usr/src/Redboot/packages# gosha:/usr/mips-linux-gnu# grep -R -F cxa_atexit *
include/c++/4.1.2/cxxabi.h: __cxa_atexit(void (*)(void*), void*, void*);
include/c++/4.1/cxxabi.h: __cxa_atexit(void (*)(void*), void*, void*);
Бинарный файл lib/libc.a совпадает
Бинарный файл lib/libc.so.6 совпадает
Бинарный файл lib/libc-2.3.6.so совпадает
Бинарный файл lib/libstdc++.so.6 совпадает
Бинарный файл lib/libstdc++.so.6.0.8 совпадает
Бинарный файл lib/libc_nonshared.a совпадает