anjiahao
603c87977f
libc/machine:Add prefixes to libc functions implemented by arch
...
kasan does not instrument the assembly function,
so it is checked in advance before calling.
If Kasan is not turned on, the speed and space will
be almost unchanged under compiler optimization.
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-10-31 18:11:16 +08:00
Alin Jerpelea
6b5dddd5d7
libs/libc: migrate to SPDX identifier
...
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-10-01 12:25:52 +08:00
anjiahao
e085f0ee80
armv8-m:arch libc function need save ip register use pacbti
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-09-19 03:50:53 +08:00
chao an
3d57055057
libc/arm: add support of PACBTI
...
Reference:
https://developer.arm.com/documentation/100748/0617/Security-features-supported-in-Arm-Compiler-for-Embedded/PACBTI-M-extension-mitigations-against-ROP-and-JOP-style-attacks
https://developer.arm.com/documentation/101754/0619/armclang-Reference/armclang-Command-line-Options/-mbranch-protection
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-30 01:12:24 -08:00
chao an
29bda7cf27
libc/machine/arm: align related implementations of armv7 architecture
...
1. sync arch elf changes
2. fix cmake compilation break
3. remove the definition of related math files
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-29 19:04:30 -08:00
wangyongrong
2d817deecb
armv8m/strcpy: add arch optimize version
2023-09-22 08:52:25 +08:00
yangdongdong
1956385a7d
libs/libc: Breakdown LIBC_BUILD_STRING into specific string operations macro.
...
Provide a way to only customize specific string operations,
such as for memcpy with the DMA capability by ROM.
Signed-off-by: yangdongdong <yangdongdong@xiaomi.com>
2023-08-29 22:55:18 +08:00
zhangyuan21
699c401889
libc: update arm-m memset function
...
Use the memset function in bionic for better performance.
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-08-03 21:15:50 -07:00
zhangyuan21
a10cc49e67
Revert "newlib: libc: memcpy M-profile PACBTI-enablement"
...
This reverts commit 9fa097ab69 .
2023-08-03 07:03:39 -07:00
zhangyuan21
3625385541
arch_memcpy: Optimize arch memcpy for armv7-m and armv8-m
...
Use ldm and stm instruction to optimize performance when
both src and dst are 32-bit aligned.
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-08-02 16:52:25 +02:00
Tiago Medicci Serrano
58e97e521c
libc/string: prevent libc in the kernel/userspace optionally
...
Add the `LIBC_PREVENT_STRING_KERNEL` and `LIBC_PREVENT_STRING_USER`
that are meant to be selected by the chip if no libc implementation
is going to be built. If selected, neither NuttX's software version
of the libc nor any architecture-specific implementation will be
built in the kernel or in the userspace, respectively. In this
case, the linker may provide a ROM-defined version of the libc
functions instead.
2023-05-17 13:58:48 +08:00
chao an
d6747dd6ad
libc/armv8-m: fix build break if MVE is disabled
...
machine/arm/armv8-m/gnu/arch_memcpy.S: Assembler messages:
machine/arm/armv8-m/gnu/arch_memcpy.S:105: Error: bad instruction `prologue push_ip=HAVE_PAC_LEAF'
machine/arm/armv8-m/gnu/arch_memcpy.S:121: Error: bad instruction `epilogue push_ip=HAVE_PAC_LEAF'
make[1]: *** [Makefile:143: bin/arch_memcpy.o] Error
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-05 08:07:08 +02:00
chao an
9fa097ab69
newlib: libc: memcpy M-profile PACBTI-enablement
...
Add function prologue/epilogue to conditionally add BTI landing pads
and/or PAC code generation & authentication instructions depending on
compilation flags.
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-28 09:51:52 +08:00
Xiang Xiao
2c5f653bfd
Remove the tail spaces from all files except Documentation
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-26 13:24:24 -08:00
Fotis Panagiotopoulos
85ceb7920e
Typo fixes.
2023-02-17 11:17:11 -03:00
zhangyuan21
650f17169a
libc: add armv7-a armv7-m armv8-m libc function
...
Porting memory and string optimize functions from newlib and bionic
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-01-10 11:31:26 +08:00
Huang Qi
cfff115f21
arm: Move setjmp to common place
...
Since some Cortex A core supports thumb mode also,
thus they can share same implementation.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-08 21:00:29 +08:00
Oki Minabe
c1ea37742b
fix arm FPSCR typos in comments.
2022-02-17 01:08:11 +08:00
Xiang Xiao
39fc9325cf
arch/arm: Replace "b lr" or "mov pc, lr" with "bx lr"
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-05 05:50:14 -07:00
Xiang Xiao
d62ae03bf8
arch: Move setjmp/longjmp to libc/machine
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-04 16:30:37 -07:00