Commit Graph

768 Commits

Author SHA1 Message Date
zmq810150896 307e9e5e98
Add the system call eventfd (#7835) 2023-07-27 17:24:56 +08:00
zhkag 7e5620edc3
[smart] 修复用户态 mq_receive 不能阻塞 (#7836) 2023-07-24 17:01:45 +08:00
Shell 52d3637fba
[smart] fix possible memory leak (#7832)
Signed-off-by: Shell <smokewood@qq.com>
2023-07-22 10:30:29 +08:00
Meco Man f52095d228 [libc][time] cleanup code 2023-07-21 00:31:35 -04:00
xqyjlj 5f0328ee41 feat(ktime): add RT_USING_KTIME to kconfig build 2023-07-20 09:25:18 -04:00
Shell 58e0ddf287
[component/lwp] support more feature of signal from IEEE Std 1003.1-2017 (#7828)
Signed-off-by: Shell <smokewood@qq.com>
2023-07-20 00:02:41 +08:00
xqyjlj 0eb75ced70
[time]时钟框架重构 (#7794) 2023-07-17 20:11:58 +08:00
Meco Man 237bbfd968 [debug] remove RT_DEBUG_xxx
remove RT_DEBUG_THREAD RT_DEBUG_SCHEDULER RT_DEBUG_IPC RT_DEBUG_TIMER RT_DEBUG_IRQ RT_DEBUG_MEM RT_DEBUG_SLAB RT_DEBUG_MEMHEAP
2023-07-09 00:19:29 -04:00
zhkag d6adf6708f
[posix] posix 的 mqueue 对接到文件系统的 fd (#7768) 2023-07-05 14:49:31 +08:00
Shicheng Chu e2c031643c
[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h (#7750) 2023-06-29 11:24:25 -04:00
zhkag 077e984175
[libc]更新 libc timer id 分配方式 (#7744) 2023-06-29 00:01:51 +08:00
zhkag e65509a58e
[src][components][include]消息队列支持优先级 (#7382) 2023-06-26 00:06:06 -04:00
zhkag 33f550cb65
[Kernel] message 可以返回消息的实际大小 (#7709) 2023-06-21 18:22:42 +08:00
yangfasheng b4e59bac4e
dfs v2 修改 fd_new 的 startfd 起始值为 0 ;修复 futex_wait 超时时间换算异常; (#7705)
Signed-off-by: yangfasheng <yangfasheng@live.com>
2023-06-20 23:09:58 +08:00
heyuanjie87 0503d1e27f [libc/termios]修改oflags定义与musl一致 2023-06-19 00:38:36 -04:00
Meco Man 4f5ba63c7c [cpp] attach CXXFLAGS to reduce the resource consumptions 2023-06-14 08:49:33 -04:00
yangjie11 c4df1d6a19 [cpp] support rt-thread CPP wrapper sub-switch macros 2023-06-14 08:49:33 -04:00
yangjie11 d256d742d1 [components][time.h]Fixed undefined macro TIMER_ABSTIME 2023-06-14 06:31:10 -04:00
Mingjie Shen c7ad493b9a [libc][ctime] move null pointer check before dereference
This null check was redundant because the pointer timep was
dereferenced in any case.
2023-06-13 18:29:22 -04:00
Bernard Xiong 99e80f8d33
[dfs] Add DFS v2.0 (#7606) 2023-06-10 21:35:25 +08:00
Huang Xilong c33a21509a
[comment][libc] add some comments for functions in posix_signal (#7647) 2023-06-10 00:41:21 -04:00
zhkag 22972409d4 [simulator] 修复 linux simulator 编译运行失败 2023-06-07 08:52:28 -04:00
goldengrandpa e88a19467e
[ctime]解决clock_gettime计算出来的nsec超过1sec的问题 2023-05-31 22:52:33 -04:00
guo 7a4f9d0ada
[libc] picolibc support heap. (#7571) 2023-05-27 00:26:34 +08:00
XzcUbuntu b27f910cad [libc][posix][signal] 增加posix_signal.c部分函数注释 2023-05-25 02:09:42 -04:00
zhkag 662aa1b7e2
[libc error] 编译错误PATH_MAX 未定义,移除 mq 中的 PATH_MAX 判断 (#7550) 2023-05-22 22:03:23 -04:00
Arro d8a42139bf
[components]对POSIX函数中mqueue.c的mq_unlink函数注释 (#7543) 2023-05-22 01:47:01 -04:00
Mengxi-Xu 1e5dc5509e
[libc][cpp] 增加 cxx_crt_init.c 函数注释 (#7535) 2023-05-20 01:27:55 -04:00
guozhanxin ca873fae30 [add] llvm-arm workflows 2023-05-17 12:09:10 -04:00
guozhanxin 82ccbc40db support llvm-arm 16.0 2023-05-17 12:09:10 -04:00
DylanLiuH2O 92a253c88f
[components][libc][posix] fix RT_NAME_MAX misspelled as NAME_MAX (#7489) 2023-05-14 11:15:36 +08:00
Rain Park c4002dea9f
[doxygen][libc] Add some comments for posix pthread functions (#7467)
Signed-off-by: Rain Park <1162678210@qq.com>
2023-05-10 14:01:33 +08:00
zhkag 3419e591da [libc] redirecting header sys/ioctl to bits/ioctl 2023-05-05 19:29:38 -04:00
zhkag a6a9b0dfcb
[components][posix] 完善 posix 接口消息队列 (#7395) 2023-05-05 18:14:07 +08:00
Man, Jianting (Meco) d580042145
[libc] support external third pary libc software package (#7425) 2023-04-30 12:19:57 +08:00
zouziyu2002 ce4674defa
[HUST CSE] add forced type conversion when using 'realloc','malloc','calloc' for better readability 2023-04-28 15:55:28 +01:00
xqyjlj fd1413d29b
🎈 perf(components/libc/compilers/common/ctime.c): if define cputime, then CLOCK_REALTIME use cputime (#7343) 2023-04-22 09:09:40 +08:00
xqyjlj 970c7c6f7a
🐞 fix(components/drivers): fix cpu timer in multithreading (#7222)
* 🐞 fix(components/drivers): fix cpu timer in multithreading

* 🎈 perf(components): change double to uint64_t

* 🎈 perf(components): add UL suffix
2023-04-13 16:00:19 +08:00
Bernard Xiong 9600b75b55
[DFS] prepare for dfs_v2.0 (#7200)
* [DFS] prepare for dfs_v2. dfs_fd -> dfs_file; dfs_fnode -> dfs_vnode.

* [BSP] fix code analysis warning

* [smart] fix the pointer overflow.

* code format

* [smart] fix the lwp->lwp_obj checking.
2023-04-08 22:25:51 +08:00
Shicheng Chu 93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object (#7131) 2023-04-04 09:06:27 -04:00
Lei Peng 517b5eb016 [libc][ctime] stime clear tv.tv_usec as zero
when using stime set rtc time, tv.tv_usec not 0,but always is 0xdeadbeef, make set time error
2023-03-30 23:57:19 -04:00
xqyjlj cd1e0a7901 feat(components): add statfs, statfs64, fstatfs, fstatfs64 support 2023-03-31 10:56:37 +08:00
xqyjlj 157dc0959c feat(components): add uname support 2023-03-31 10:56:37 +08:00
chinky b9f5bf7d91 [libc]优化usleep函数 2023-03-30 00:41:13 -04:00
wangfuan 19f311b498 [libc][delay] fix wrong usleep function 2023-03-27 13:06:12 -04:00
geniusgogo ab7ab19be5
fixed ctime timer_delete timerid parameter check. (#6977)
* fixed ctime timer_delete timerid parameter check.
2023-02-27 09:59:45 +08:00
wangxiaoyao 1c2daeafdc [fix] typo 2023-02-21 08:48:49 +08:00
wangxiaoyao f84d89b0ca [libc] including musl signal.h with _POSIX_SOURCE 2023-02-21 08:48:49 +08:00
zhkag 0f85648cfb
Improve timer accuracy and realize (#6926)
* add cputimer frame

* add cputime sleep

* ctime use cputime

* Processing cputime has no timeout function

* Migration cputime Code

* formatting file

* 整理代码

* add document copyright information

* 改 cputime_timer 为 cputimer

* 简化 _cputimer_list 初始化

* rt_cputimer_create -> rt_cputimer_init

* Remove RT_USING_CPUTIME and code cleanup.

* Remove RT_USING_CPUTIME in cputimer.c
* Set set_next_timeout as static function.

---------

Co-authored-by: Bernard Xiong <bernard.xiong@gmail.com>
2023-02-15 20:46:22 +08:00
guozhanxin 03bcd0701c [ci] fix build error. 2023-02-13 10:56:17 +08:00
zhkag 657cbfdac7 修复编译警告 2023-02-09 15:21:17 +08:00
zhkag f4e9ec82bb 修复纳秒微妙混用转换错误 2023-02-07 15:48:47 +08:00
zhkag bdd6811230 移除无用代码 2023-02-07 13:49:03 +08:00
zhkag edd9c6721f add timer lock 2023-02-07 13:49:03 +08:00
zhkag 7a1ad00aac update timer 2023-02-07 13:49:03 +08:00
xieyangrun 21472e3ff0 fix cputime and ctime. 2023-01-10 10:03:35 +08:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
zhkag 7f9ccd3c80 格式化代码 2023-01-09 09:32:07 +08:00
zhkag e6ce21e4b5 更新 mq_setattr 2023-01-09 09:32:07 +08:00
zhkag dcaa0c166d 【更新】 消息队列存在时,使用 O_CREAT 不应创建新的消息队列 2023-01-09 09:32:07 +08:00
zhkag 1730874cd8 简单赋值防止数据被优化 2023-01-09 09:32:07 +08:00
zhkag a15a5b19a4 修复 mq_timedreceive 中 mq_timedreceive 为空时断言 2023-01-09 09:32:07 +08:00
zhkag 0c3a705482 修改 mq 句柄偏移 2023-01-09 09:32:07 +08:00
Man, Jianting (Meco) 5ca410bb4b Update signal.h 2023-01-04 13:59:22 +08:00
wangxiaoyao 6a25a68be6 [libc] redirecting header sys/signal to signal 2023-01-04 13:59:22 +08:00
Meco Man e97ba95f71 [libc][unistd.h] define F_OK 2023-01-02 15:01:20 -05:00
Meco Man 4ce39dd744 [libc][time] 修正POSIX 时间相关函数返回值错误 2022-12-29 20:23:33 -05:00
Bernard Xiong 8a71ae75ad
[BSP][smart] fix link script for smart in vexpress-a9 (#6764) 2022-12-29 15:18:36 +08:00
bernard 1f092da9e0 fix compiling warning. 2022-12-26 14:24:26 +08:00
Yaochenger 0df51b8aa9 [components][libc] 在rv32下编译时cstring.c中的strtok_r函数与libc.a中的strtok_r重定义,添加rt_weak 2022-12-18 23:38:41 -05:00
guo 68ca9f07a6
[rt-smart] 弱化 RT_USING_LWP,使用 RT_USING_SMART 作为宏配置 (#6740)
* [dfs] sync cromfs

* [rt-smart]Weaken RT_USING_LWP, use RT_USING_SMART as macro configuration

* [format] fix some format issue.
2022-12-16 18:38:28 +08:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
zhkag 2e488e0440
[rt-smart]同步 gitee nanosleep 修复 (#6710) 2022-12-08 10:02:40 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
wdfk-prog cef57d006d
[armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错 (#6647)
* [armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-11-24 00:12:48 -05:00
Meco Man 3e2beebe43 [libc][musl]解决signal.h报错的问题 2022-11-22 22:18:26 -05:00
Man, Jianting (Meco) bdd663a33f
[libc][musl] support arm-linux-musleabi toolchain
目前基本功能已经可以在QEMU上跑起来,但是pthread和内核signal选中会报冲突。先合并一版本,后续解决这些问题。
2022-11-22 21:40:50 -05:00
Meco Man 721c08dc61 [libc][time] 解决部分编译平台CLOCKS_PER_SEC无法被重新定义的问题 2022-10-28 18:13:15 -04:00
Man, Jianting (Meco) 055267f049
[compiler] 增加SConscript依赖标志 AddDepend (#6534)
* [compiler] 增加SConscript依赖标志 AddDepend

* RT_USING_NEWLIB->RT_USING_NEWLIBC RT_USING_ARM_LIBC->RT_USING_ARMLIBC

* 删除过时的板载测试例程

* [gd32] 移除无用的反汇编文件

* [bsp]移除老旧bsp中对RT_USING_NEWLIBC的手动宏定义
2022-10-25 00:01:37 -04:00
Tangyuxin a4829b1c00
[fix] Fix simulator compilation warnings (#6438)
* [fix] Fix simulator compilation warnings

* Update bsp/simulator/rtconfig_project.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-20 10:31:11 -04:00
Meco Man 981e721c3b [kernel] add rt_ssize_t data structure 2022-09-16 17:26:07 +08:00
Meco Man b04076d8aa [armlibc] solve the compiling error
report in #6300
2022-08-17 23:48:05 -04:00
Meco Man dd94198bd6 [gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM 2022-08-16 09:39:00 +08:00
Meco Man bd33d37bc4 该问题在Keil-MDK中没有一个太好的解决方案。本PR为权衡利弊之后得到的一套解决方案。Keil曾经提供了底层桩函数_sys_ensure,但是目前已经被废弃。因此唯一的解决方案就是每写完一句,就调用fsync去同步一次。
该问题在mbedos社区也进行过讨论,他们也面临和我们相同的两个问题:
1. Keil-MDK无有效的fflush解决方案,mbedos依然在使用淘汰的_sys_ensure桩函数。
2. Keil-MDK没有fileno函数,我方少部分软件包因此而无法使用Keil平台编译。
参考:https://github.com/ARMmbed/mbed-os/issues/1601

issue: https://github.com/RT-Thread/rt-thread/issues/4928


经过进一步测试发现,Keil-MDK中的fflush函数已经退化成服务于STDOUT的函数,Keil-MDK内部有一个buffer可以存放fputc(stdout) 发过来的数据,如果调用fflush,这些数据是可以flush出去的。但是如果是真正的文件数据,fflush函数并没有提供任何桩函数接口可以让文件flush数据出去。
2022-08-16 09:37:24 +08:00
Man, Jianting (Meco) 8da744a750
[exit] 修复_exit函数条件分支未覆盖所有情况的问题 (#6239)
attach #6229
2022-08-08 17:21:29 +08:00
xiangxistu e61d05ca1a
[fix] the risk for function exit() when open pthread support. (#6229)
* [fix] the risk for function exit() when open pthread support.
* [update] modify annotation from "user data" to "pthread_data".
2022-08-07 23:16:17 -04:00
Aligagago 250b3cbc16 使用 AStyle.exe 统一代码格式 2022-07-27 11:45:29 +08:00
Meco Man a924da830e [libc] 修复difftime函数在IAR下的编译错误 2022-07-20 10:07:03 +08:00
liuxianliang a305edd4db [fix] memory leak when the value of posix semaphore is zero. 2022-07-07 16:05:49 +08:00
Meco Man 9623706eff Revert "解决将RT_NULL当做数字0使用的问题"
This reverts commit 6a05ddf63d.
2022-07-01 15:51:28 +08:00
Meco Man 6a05ddf63d 解决将RT_NULL当做数字0使用的问题 2022-07-01 11:39:28 +08:00
xiangxistu c2cdce970d
[fix] use atomic operation to protect pthread conditional variable. (#6113)
* [fix] use atomic operation to protect pthread conditional variable.
2022-07-01 09:36:18 +08:00
Man, Jianting (Meco) e1e1596cbd
[iar] 修复编译错误 (#6126) 2022-07-01 09:15:29 +08:00
Man, Jianting (Meco) 8275e90203
[libc][newlib] format (#6104) 2022-06-23 14:38:26 +08:00
Man, Jianting (Meco) d5afcd7f0d
fix the error return (#6097) 2022-06-22 11:51:49 +08:00
Man, Jianting (Meco) 8bee7a0c23
[libc] implement extension standard C functions (#6044)
* implement extension standard C functions
2022-06-19 21:56:24 +08:00
Meco Man c9878aacd2 [scons][iar] 将IAR的PLATFORM字段由iar调整为iccarm
将路径更新为IAR最新版本的路径
2022-06-09 07:01:59 +08:00
Meco Man 83b3aadaa3 [Scons][iar][iccarm] IAR统一使用iccarm作为判断条件而不是是用IDE的名字来进行判断
因为不确定后续IAR是否会像Keil一样内含有不同的编译工具链
此外,将判断条件改为列表方式,这样更方便后续增加其他可能的IAR编译链
2022-06-09 07:01:59 +08:00
Meco Man 50f041f5c2 [Scons] 将GCC判断条件改为列表方式,方便后续增加新的编译工具链 2022-06-09 07:01:59 +08:00
chunyexixiaoyu 37d0be3290 [libc][time] solve the problem which the os tick can be calculated wrongly because the local variable was not initialized. 2022-06-08 14:34:04 +08:00