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 <[email protected]>
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