mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-12 02:45:33 +00:00
nds32: make code build with gcc 8.1
*** 21744 bytes still available in flash on reef_it8320 **** BUG=b:65441143 BRANCH=none TEST=make BOARD=reef_it8320 builds with gcc 8.1. not tested at all Change-Id: Ie79ee23452574fd883c7f9425b8614346e46fdd7 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/1077207 Commit-Ready: Patrick Georgi <pgeorgi@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@google.com>
This commit is contained in:
committed by
chrome-bot
parent
620f21d07b
commit
194c7a7e0a
26
core/nds32/abort.S
Normal file
26
core/nds32/abort.S
Normal file
@@ -0,0 +1,26 @@
|
||||
/* Copyright 2018 The Chromium OS Authors. All rights reserved.
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*
|
||||
* abort() handler
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#define PSW_INTL_SHIFT 1 /* Interrupt Stack Level */
|
||||
#define PSW_INTL_MASK (0x3 << PSW_INTL_SHIFT)
|
||||
|
||||
.text
|
||||
|
||||
.global abort
|
||||
abort:
|
||||
movi55 $r6, 3 // assert
|
||||
movi55 $r7, 0 // no info. doubles for the equality test below
|
||||
|
||||
// in interrupt context -> $r5 != 0
|
||||
mfsr $r5, $PSW
|
||||
andi $r5, $r5, PSW_INTL_MASK
|
||||
|
||||
beq $r5, $r7, .L1
|
||||
j excep_handler
|
||||
.L1:
|
||||
break 0
|
||||
@@ -20,5 +20,8 @@ CFLAGS_CPU+=-flto
|
||||
LDFLAGS_EXTRA+=-flto
|
||||
endif
|
||||
|
||||
LDFLAGS_EXTRA+=-Wl,--relax
|
||||
|
||||
core-y=cpu.o init.o panic.o task.o switch.o __muldi3.o math.o __builtin.o
|
||||
core-y+=abort.o
|
||||
core-$(CONFIG_FPU)+=__libsoftfpu.o
|
||||
|
||||
Reference in New Issue
Block a user