fix O_RDWR not being passed to mkostemps
arm: add __aeabi_atexit()

arm eabi requires this symbols for 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 libutp, which is such a C++ library.

example case: http://sprunge.us/UEBc

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.