Gustavo Henrique Nihei
5ce77fad1b
arch: Remove "0x" prefix preceding "%p" specifier on format string
...
The "p" format specifier already prepends the pointer address with "0x"
when printing.
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-06-30 22:08:58 +03:00
Nimish Telang
4afd25b567
this flag is meaningless for the linker
2022-06-27 20:03:03 -03:00
Karel Kočí
a74c707da6
arch: arm: armv6-m: fix LTO build
...
This imports changes from armv7-m.
2022-05-21 00:03:03 +08:00
Xiang Xiao
1f920e55d3
Move warning option from Make.defs to Toolchain.defs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 15:40:35 +03:00
Xiang Xiao
8b7c5b039d
arch: Move -fsanitize=kernel-address to ARCHOPTIMIZATION
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 15:40:35 +03:00
Xiang Xiao
e84e5f0e1d
arch: Add gcov related config for arm/risc-v/xtensa
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-06 14:43:57 -03:00
chao.an
0c223998c7
arm/cortex-m/toolchain: try print runtime library only in clang
...
fix compile warning:
make: arm-nuttx-elf-gcc: Command not found
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-05-05 17:31:12 +02:00
Xiang Xiao
1fde7e17bb
arch: Move -fstack-protector-all from Make.defs to Toolchain.defs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-01 23:54:15 +03:00
Xiang Xiao
aeb9c5d822
boards: Move -fno-strict-aliasing from Make.defs to Toolchain.defs
...
and migrate MAXOPTIMIZATION into ARCHOPTIMIZATION
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-01 11:36:41 +03:00
chao.an
5677fe2153
arch/cortex-m/Make.defs: unify arch common source include
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-30 21:50:16 +08:00
chao.an
a560eb5f8d
arch/arm/Make.defs: unify common source include
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-30 21:50:16 +08:00
Xiang Xiao
94cb0c6072
arch: Move -nostdinc++ to Tooolchain.defs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-29 21:08:14 -03:00
chao.an
042640abbf
arch/arm: add support for GCC LTO
...
1. Enable GCC link-time optimizer
2. Enable use of a linker plugin during link-time optimization
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-27 23:42:54 +08:00
Xiang Xiao
8f8ee25a9c
boards: Move -g from Make.defs to Toolchain.defs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-25 16:23:03 +03:00
Xiang Xiao
75326e563d
boards: Move -fno-common from Make.defs to Toolchain.defs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-25 07:57:29 +03:00
chao.an
1c8e12406e
compile/opt: add config DEBUG_LINK_MAP
...
Selecting this option will pass "-Map=$(TOPDIR)$(DELIM)nuttx.map" to ld
when linking NuttX ELF. That file can be useful for verifying
and debugging magic section games, and for seeing which
pieces of code get eliminated with DEBUG_OPT_UNUSED_SECTIONS.
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-22 01:37:23 +08:00
chao.an
64d7326ed5
compile/opt: add config DEBUG_OPT_UNUSED_SECTIONS
...
Enable this option to optimization the unused input sections with the
linker by compiling with " -ffunction-sections -fdata-sections ", and
linking with " --gc-sections ".
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-22 01:37:23 +08:00
Xiang Xiao
1320e5add4
arch/arm: Move the duplicated assembly code to common folder
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-21 12:56:34 +03:00
Xiang Xiao
ebf1093cff
arch/arm: Switch the context of save and restore from assembler to c
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-21 12:56:34 +03:00
chao.an
0315283c21
arch/clang: add support for Clang LTO
...
add support of Clang's Link Time Optimization (LTO) on NuttX build system
Reference:
https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html
https://llvm.org/docs/LinkTimeOptimization.html
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-21 01:21:54 +08:00
chao.an
67fbfda974
arch/armv6-m: add support of LLVM Clang
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-21 01:21:54 +08:00
chao.an
4a085e1cdb
arch/arm/armv6-m: Unify the toolchain definition of eabi for linux and windows
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-19 23:17:27 +08:00
Xiang Xiao
7c5b2e3305
arch/arm: Remove FAR and CODE from common/ and arm*/ folder
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-19 00:23:59 +03:00
chao.an
5bdfae66ce
arch/arm: export arm_saveusercontext()
...
rename arm_saveusercontext() -> up_arm_saveusercontext()
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-18 22:22:16 +08:00
Xiang Xiao
ef1a98dd00
Remove the unneeded void cast
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-17 23:32:05 +03:00
Xiang Xiao
373363d750
arch/arm: Move arm_signal_dispatch.c to common folder
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-17 23:30:41 +03:00
chao.an
c08d9047b2
arch/Toolchain.defs: replace all ${/$} with $(/$)
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-17 00:58:34 +08:00
zhuyanlin
6a761ff087
arch:tcbinfo: update tcbinfo as xcpcontext update
...
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-04-05 13:33:00 +02:00
Gustavo Henrique Nihei
e1f28c19c2
arch/arm: Make CXX exception and RTTI depend on Kconfig options
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-03-30 11:19:29 +08:00
Xiang Xiao
8c8c60f70a
arch: Add -fsanitize=kernel-address to ARCHCPUFLAGS if CONFIG_MM_KASAN=y
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-27 23:01:47 +03:00
ligd
e87d262c7f
arch/Toolchain.defs: add wildcard for EXTRA_LIBS
...
VELAPLATFO-1491
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-03-27 22:53:58 +03:00
chao.an
7b73606300
arm/schedulesigaction: update the SP to signal context top
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-23 19:08:37 +09:00
Xiang Xiao
9ae0dcd4a2
arch/arm: Remove the code copy register from xcpt to stack
...
since xcpt always point to the stack after the below change:
commit 7b9978883c46569068ba5dac5755f998fbd237b2
Author: chao.an <anchao@xiaomi.com>
Date: Tue Mar 1 01:06:24 2022 +0800
arch/arm: optimize context switch speed
The current context save implementation saves registers of each task
to xcp context, which is unnecessary because most of the arm registers are
already saved in the task stack, this commit replace the xcp context with
stack context to improve context switching performance and reduce the tcb
space occupation of tcb instance.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-23 19:08:37 +09:00
Petro Karashchenko
68902d8732
pid_t: unify usage of special task IDs
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-22 21:22:32 +08:00
chao.an
19119a9c43
arch/arm: set the SP to stack top
...
fix the stack imbalance
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-18 07:56:51 +09:00
chao.an
81130bc692
arch/arm: remove unused arm_copyfullstate/arm_copyarmstate
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-15 23:03:51 +09:00
chao.an
7b9978883c
arch/arm: optimize context switch speed
...
The current context save implementation saves registers of each task
to xcp context, which is unnecessary because most of the arm registers are
already saved in the task stack, this commit replace the xcp context with
stack context to improve context switching performance and reduce the tcb
space occupation of tcb instance.
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-15 23:03:51 +09:00
Xiang Xiao
54e630e14d
arch: Merge up_arch.h into up_internal.h
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-14 09:32:17 +02:00
Xiang Xiao
087b9e5ff3
arch: Move the content from svcall.h to syscall.h
...
and remove svcall.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-27 22:54:13 +08:00
chao.an
13889ba868
arch/arm: unify some duplicate code to common layer
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-02-23 21:35:55 +08:00
chao.an
e0fabbfdd6
arch/arm: replace SYS_syscall_return hardcode from syscall
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-02-22 17:59:02 +08:00
Huang Qi
c0a0de97ce
Revert "libc: Call pthread_exit in user-space by up_pthread_exit"
...
This reverts commit f4a0b7aedd01ac3f39a88d62dbafaf367ae399f2.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-09 21:21:43 +08:00
Xiang Xiao
2c3020ddaf
arch/Toolchain.defs: Replace --print-file-name=libgcc.a with --print-libgcc-file-name
...
to more compatable with clang: https://reviews.llvm.org/D25338
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-31 09:46:04 +01:00
Xiang Xiao
e0b62bf677
arch/Toolchain.defs: Don't expand EXTRA_LIBS immediately
...
since board's Make.defs may overwrite ARCHCPUFLAGS
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-30 11:04:35 +09:00
chao.an
7d8c2c1ad6
cortex-m/doirq: do not update the CURRENT_REGS on nested interrupt handling
...
current implementation incorrectly update CURRENT_REGS to interrupt context if
trigger nested interrupt, (e.g, hard fault occurs during interrupt handling)
this would ambiguous for programs using CURRENT_REGS, this patch will prohibit
the update of CURRENT_REGS on nested interrupt handling
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-29 01:04:00 +08:00
Xiang Xiao
1c2c0e4707
arch/Toolchain.defs: Simplify the builtin library addition for EXTRA_LIBS
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-28 12:02:38 +01:00
Xiang Xiao
f903a55102
sched/tcbinfo: Fix the compile warning
...
Update tcbinfo struct
armv8-m/arm_tcbinfo.c:109:3: warning: excess elements in struct initializer
109 | TCB_REG_OFF(REG_S31),
| ^~~~~~~~~~~
armv8-m/arm_tcbinfo.c:109:3: note: (near initialization for 'g_tcbinfo')
armv8-m/arm_tcbinfo.c:110:3: warning: excess elements in struct initializer
110 | 0,
| ^
armv8-m/arm_tcbinfo.c:110:3: note: (near initialization for 'g_tcbinfo')
armv8-m/arm_tcbinfo.c:111:3: warning: excess elements in struct initializer
111 | TCB_REG_OFF(REG_FPSCR),
| ^~~~~~~~~~~
armv8-m/arm_tcbinfo.c:111:3: note: (near initialization for 'g_tcbinfo')
armv8-m/arm_tcbinfo.c:112:3: warning: excess elements in struct initializer
112 | 0,
| ^
armv8-m/arm_tcbinfo.c:112:3: note: (near initialization for 'g_tcbinfo')
armv8-m/arm_tcbinfo.c:37:1: warning: missing braces around initializer [-Wmissing-braces]
37 | {
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-01-27 17:36:27 +08:00
Petro Karashchenko
48211f90d3
ci: select ARMV7A_TOOLCHAIN_GNU_EABIL for ARMv7-A based builds
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-25 20:24:28 +08:00
Petro Karashchenko
6c27f3c19d
toolchain: add libm to EXTRA_LIBS only if it is provided by the compiler
...
Some toolchains may be built without libm support, but using
such toochain should not generate any errors in case if math
functions are not used in the program
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-22 15:36:29 +08:00
Petro Karashchenko
a6147109b1
arch/arm/src/armv6-m: fix typo
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-19 15:32:58 +01:00