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:
Chuck Jordan 2016-12-02 13:38:51 -08:00 committed by Anas Nashif
commit cd198764ba

View file

@ -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