__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

Reply via email to