Haryslee
d75383400e
feat: 支持native动态加载组件
...
1.【需求描述】
动态库开发部分:
gcc的sample code。
提供生成暴露接口生成机制,并允许产品新增需要暴露的接口。
提供可以判断库允许资源大小的能力,并提供相关工具辅助开发者确定开发的库要求的资源是否可以满足。
动态库运行部分:
提供elf load的api,可以加载指定路径下的库,并完成符号重映射等运行准备。
提供elf 暴露符号调用的api,用于调用库的api。
elf加载&链接异常时,有明确错误记录,返回明确错误类型。
提供elf 卸载的api。
2.【方案描述】
(1) 通过灌段的形式记录需要导出符号的地址信息,用于暴露内核对外的接口,在加载链接器中通过查询
对应的符号信息获取符号地址。
(2) 加载链接时,解析共享库并将共享库中可加载段通过文件系统读入内存中,并对共享库中未定义的、
需要重定位的符号进行重定位。需要调用符号时,根据符号名通过哈希表即可查询共享库提供的对应符号
的地址。
BREAKING CHANGE:
新增4个对外接口,声明在los_dynlink.h文件中,分别为:
(1) LOS_DynlinkInit: 动态加载模块初始化。
(2) LOS_SoLoad: 加载指定路径的共享库。
(3) LOS_FindSym: 根据共享库句柄查找指定符号。
(4) LOS_SoUnload: 卸载共享库。
close #I418HJ
Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I7669b7ef20096294f9d1094c85ac6602fefad354
2021-08-10 20:26:40 +08:00
Caoruihong
bfa25fcaa3
feat: add deps to musl and securec
...
add deps to musl, and securec.
fwrap.c's contents are moved to musl.
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ib451736798efd9745c6fbbbe5f355eea13477031
2021-06-26 18:04:27 +08:00
li_zan
b0119f6185
Merge branch 'master' of gitee.com:openharmony/kernel_liteos_m into master
2021-06-24 01:33:46 +00:00
li_zan
b55cfc1ba7
fix: 修复littlefs的多分区挂载时,对pathname的处理逻辑异常
...
close:#I3WWFA
Signed-off-by: li_zan <371442490@qq.com>
2021-06-24 09:31:15 +08:00
YOUR_NAME
86d5544a3f
fix: 新增函数regcomp,regfree和regexec支持
...
close: #I3U9LE
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: Iff1180b89958b4d8c339a73f9a5f59cb47707c74
2021-06-23 15:27:50 +08:00
li_zan
139f83af39
fix: 修复M核上musl库缺失strdup,c的问题
...
close:#I3VZSI
Signed-off-by: li_zan <371442490@qq.com>
2021-06-17 20:28:47 +08:00
Caoruihong
420e781f33
chore: adjust path of posix header files
...
path of posix header files are exposed via public_configs
of //kernel/liteos_m/kal/posix
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Id838549e1a952d6ddb8664792570f265edfbd91c
2021-06-15 12:11:12 +08:00
Caoruihong
a5660c2217
chore: remove the files copied from musl
...
copied and auto-generated files are redundant and should not be tracked.
Change-Id: I22bb3a1873ba6e0be3008306624b50772cdc91b5
Signed-off-by: Caoruihong <crh.cao@huawei.com>
2021-06-11 11:26:58 +08:00
arvinzzz
2d9bbd2769
fix: 修复不规范的copyright
...
close: #I3SPJ1
Change-Id: I6cb01024ef342a0190f5dc9f6cb3a1e815692832
Signed-off-by: arvinzzz <fcykztyu@163.com>
Change-Id: I45c63592b08d29587778209de6af17f932dc86d0
2021-06-02 11:07:59 +08:00
Caoruihong
4d556fbe90
use top third_party
...
Change-Id: I382b10ef7a6adc328777349bce142e58895f7c8d
2021-04-26 17:11:56 +08:00
Caoruihong
ad1e09ff77
add third_party FatFs and fix BUILD.gn
...
Change-Id: I456530ca5282d6c4b0904d04ae0a0a5ff155391a
2021-04-23 12:05:48 +08:00
zhangfanfan2
0a22391490
feature:add "pthread_cond.c" to compile in posix module
2021-04-22 11:46:37 +08:00
mamingshuai
778c8b9930
update openharmony 1.0.1
2021-03-11 20:30:40 +08:00
Caoruihong
1405111aa9
Description: refactor
...
Reviewed-by: likailong
2020-12-16 17:30:08 +08:00
likailong
72c4acf01e
Description: liteos-m refactoring
...
Reviewed-by: wangmihu, zhushengle
2020-12-02 19:40:34 +08:00