arm: add __aeabi_atexit()
authorrofl0r <retnyg@gmx.net>
Wed, 6 Feb 2013 01:15:51 +0000 (02:15 +0100)
committerrofl0r <retnyg@gmx.net>
Wed, 6 Feb 2013 21:46:19 +0000 (22:46 +0100)
commit526900484ca5673630a5838e081db685c6856fe2
treee4cdec84768c18b85b86c55cfbd38de7cdabf097
parent158f721adc851850f22f789ad672deb6b88d511d
arm: add __aeabi_atexit()

arm eabi requires this symbol for static C++ dtors.
usually it is provided by libstdc++, but when a C++ program
doesn't use the std lib (free-standing), the libc has to provide
it.
this was encountered while building transmission, which
depends on such a C++ library (libutp).

this function is nearly identical to __cxa_atexit, but it has the
order of argumens swapped for "performance reasons".
see page 25 of

 http://infocenter.arm.com/help/topic/com.arm.doc.ihi0043d/IHI0043D_rtabi.pdf

there are other aeabi specific C++ support functions missing, but
it is not clear yet that GCC makes use of them so we omit them for
the moment.
arch/arm/src/__aeabi_atexit.c [new file with mode: 0644]