"Bob" == Bob Koninckx <bob dot koninckx at mech dot kuleuven dot ac dot be> writes:
Bob> This redefinition of __xca_pure_virtual seems to solve the
Bob> problem. No more link errors, application runs fins.
Bob> Apparently, the compiler pulls this function in as soon as
Bob> you have at least one pure virtual function in your
Bob> application.
I have now reproduced this. Using a pure virtual function used to pull
in a function __pure_virtual_called() or something like that, which
was provided by libgcc.a and just aborted the application. That could
happen if somehow you managed to call a virtual function while the
base object was still being constructed, before the derived class
constructor had updated the virtual function table. Nowadays it
pulls in a more complicated __cxa_pure_virtual() from
libstdc++-v3/libsup++/pure.cc which has additional library
dependencies, unwanted ones in an eCos setup.
I think we want to put our own dummy __cxa_pure_virtual() into
CYGPKG_HAL or CYGPKG_INFRA. Jifl, any preferences ?