https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61223

            Bug ID: 61223
           Summary: libstdc++ build fail due to pop lr register
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: blocker
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: terry.guo at arm dot com

When build file gcc/libstdc++-v3/libsupc++/eh_arm.cc for Thumb-1 target, run
into below error:

/tmp/ccJ7atpP.s: Assembler messages:
/tmp/ccJ7atpP.s:26: Error: invalid register list to push/pop instruction --
`pop {r1,r2,r3,lr}'

According to ARM arch manual, only PC and low registers are allowed in POP
instruction.

This failure happens with commit:

commit 13795f627c41a40f028d98e75f19774bc3a795b1
Author: merzlyakovao <merzlyakovao@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri May 16 13:16:33 2014 +0000

    2014-05-16  Alexey Merzlyakov  <alexey.merzlya...@samsung.com>

        PR libstdc++/60758
        * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in
save/restore
        and add unwind directives.


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210515
138bc75d-0d04-0410-961f-82ee72b054a4

Reply via email to