arc: branch too far when STACK_CHECKING enabled.
A build error was resulting if CONFIG_ARC_STACK_CHECKING is enabled. There is a breq that was too far. Adding conditional code to re-arrange the branching so that it can be done. See ZEP-1116. Change-Id: Idea85817b2e05617bbaa4450437aa74c5737e213 Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
This commit is contained in:
parent
a08c4b81e9
commit
cd198764ba
1 changed files with 8 additions and 0 deletions
|
@ -144,8 +144,16 @@ SECTION_FUNC(TEXT, _rirq_exit)
|
|||
|
||||
/* scheduler locked ? do not schedule */
|
||||
ld_s r0, [r2, _thread_offset_to_sched_locked]
|
||||
#ifdef CONFIG_ARC_STACK_CHECKING
|
||||
brle.d r0, 0, _rirq_reschedule_check
|
||||
ld sp, [r2, _thread_offset_to_sp]
|
||||
b _rirq_no_reschedule
|
||||
/* This branch is a bit far */
|
||||
_rirq_reschedule_check:
|
||||
#else
|
||||
brgt.d r0, 0, _rirq_no_reschedule
|
||||
ld sp, [r2, _thread_offset_to_sp]
|
||||
#endif
|
||||
|
||||
/* check if the current thread needs to be rescheduled */
|
||||
push_s r2
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue