__cxa_end_cleanup on arm is inline assembly in libsupc++/eh_arm.cc
in one case when libstdc++ was compiled with -Os this inline assembly
is emitted at the beginning and the section before that is a .debug
section as a result this ends up in .debug section and the symbol
goes missing in libstdc++ as seen below
000a7ff0 t ____cxa_end_cleanup_veneer
0009ce84 T __cxa_begin_cleanup
00382842 N __cxa_end_cleanup
0009f090 T __cxa_vec_cleanup
--
Summary: __cxa_end_cleanup ends up in wrong section i.e. not in
.text
Product: gcc
Version: 4.5.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: raj dot khem at gmail dot com
GCC build triplet: x86_64-linux
GCC host triplet: x86_64-linux
GCC target triplet: arm-oe-linux-uclibceabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44461