Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
07ec7e68
R
rt-thread
项目概览
BaiXuePrincess
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
07ec7e68
编写于
8月 31, 2018
作者:
B
Bernard Xiong
提交者:
GitHub
8月 31, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1754 from liangyongxiang/rt-used
add RT_USED to component init and finsh shell
上级
d74d5801
7c0c1c1b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
34 deletion
+34
-34
components/finsh/finsh_api.h
components/finsh/finsh_api.h
+29
-29
include/rtdef.h
include/rtdef.h
+5
-5
未找到文件。
components/finsh/finsh_api.h
浏览文件 @
07ec7e68
...
...
@@ -102,20 +102,20 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
};
#else
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
const char __fsym_##cmd##_name[] SECTION(".rodata.name") = #cmd; \
const char __fsym_##cmd##_desc[] SECTION(".rodata.name") = #desc; \
const struct finsh_syscall __fsym_##cmd SECTION("FSymTab")= \
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc)
\
const char __fsym_##cmd##_name[] SECTION(".rodata.name") = #cmd;
\
const char __fsym_##cmd##_desc[] SECTION(".rodata.name") = #desc;
\
RT_USED
const struct finsh_syscall __fsym_##cmd SECTION("FSymTab")= \
{ \
__fsym_##cmd##_name, \
__fsym_##cmd##_desc, \
(syscall_func)&name \
};
#define FINSH_VAR_EXPORT(name, type, desc) \
const char __vsym_##name##_name[] SECTION(".rodata.name") = #name; \
const char __vsym_##name##_desc[] SECTION(".rodata.name") = #desc; \
const struct finsh_sysvar __vsym_##name SECTION("VSymTab")= \
#define FINSH_VAR_EXPORT(name, type, desc)
\
const char __vsym_##name##_name[] SECTION(".rodata.name") = #name;
\
const char __vsym_##name##_desc[] SECTION(".rodata.name") = #desc;
\
RT_USED
const struct finsh_sysvar __vsym_##name SECTION("VSymTab")= \
{ \
__vsym_##name##_name, \
__vsym_##name##_desc, \
...
...
@@ -139,10 +139,10 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
#define FINSH_VAR_EXPORT(name, type, desc) \
const char __vsym_##name##_name[] = #name; \
__declspec(allocate("VSymTab")) const struct finsh_sysvar __vsym_##name = \
{ \
__vsym_##name##_name, \
type, \
(void*)&name \
{
\
__vsym_##name##_name,
\
type,
\
(void*)&name
\
};
#elif defined(__TI_COMPILER_VERSION__)
...
...
@@ -159,28 +159,28 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
__TI_FINSH_EXPORT_VAR(__vsym_##name); \
const char __vsym_##name##_name[] = #name; \
const struct finsh_sysvar __vsym_##name = \
{ \
__vsym_##name##_name, \
type, \
(void*)&name \
{
\
__vsym_##name##_name,
\
type,
\
(void*)&name
\
};
#else
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
const char __fsym_##cmd##_name[] = #cmd; \
const struct finsh_syscall __fsym_##cmd SECTION("FSymTab")= \
{ \
__fsym_##cmd##_name, \
(syscall_func)&name \
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc)
\
const char __fsym_##cmd##_name[] = #cmd;
\
RT_USED
const struct finsh_syscall __fsym_##cmd SECTION("FSymTab")= \
{
\
__fsym_##cmd##_name,
\
(syscall_func)&name
\
};
#define FINSH_VAR_EXPORT(name, type, desc) \
const char __vsym_##name##_name[] = #name; \
const struct finsh_sysvar __vsym_##name SECTION("VSymTab")= \
{ \
__vsym_##name##_name, \
type, \
(void*)&name \
#define FINSH_VAR_EXPORT(name, type, desc)
\
const char __vsym_##name##_name[] = #name;
\
RT_USED
const struct finsh_sysvar __vsym_##name SECTION("VSymTab")= \
{
\
__vsym_##name##_name,
\
type,
\
(void*)&name
\
};
#endif
...
...
include/rtdef.h
浏览文件 @
07ec7e68
...
...
@@ -189,13 +189,13 @@ typedef int (*init_fn_t)(void);
const
char
*
fn_name
;
const
init_fn_t
fn
;
};
#define INIT_EXPORT(fn, level) \
const char __rti_##fn##_name[] = #fn; \
const struct rt_init_desc __rt_init_desc_##fn SECTION(".rti_fn."level) = \
#define INIT_EXPORT(fn, level)
\
const char __rti_##fn##_name[] = #fn;
\
RT_USED
const struct rt_init_desc __rt_init_desc_##fn SECTION(".rti_fn."level) = \
{ __rti_##fn##_name, fn};
#else
#define INIT_EXPORT(fn, level) \
const init_fn_t __rt_init_##fn SECTION(".rti_fn."level) = fn
#define INIT_EXPORT(fn, level)
\
RT_USED
const init_fn_t __rt_init_##fn SECTION(".rti_fn."level) = fn
#endif
#endif
#else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录