Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Musl
提交
780cbbe6
T
Third Party Musl
项目概览
OpenHarmony
/
Third Party Musl
大约 1 年 前同步成功
通知
37
Star
125
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Musl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
780cbbe6
编写于
6月 29, 2013
作者:
R
Rich Felker
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
implement minimal dlinfo function
上级
2b0af609
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
23 addition
and
0 deletion
+23
-0
include/dlfcn.h
include/dlfcn.h
+3
-0
src/ldso/dlinfo.c
src/ldso/dlinfo.c
+8
-0
src/ldso/dynlink.c
src/ldso/dynlink.c
+12
-0
未找到文件。
include/dlfcn.h
浏览文件 @
780cbbe6
...
@@ -17,6 +17,8 @@ extern "C" {
...
@@ -17,6 +17,8 @@ extern "C" {
#define RTLD_NEXT ((void *)-1)
#define RTLD_NEXT ((void *)-1)
#define RTLD_DEFAULT ((void *)0)
#define RTLD_DEFAULT ((void *)0)
#define RTLD_DI_LINKMAP 2
int
dlclose
(
void
*
);
int
dlclose
(
void
*
);
char
*
dlerror
(
void
);
char
*
dlerror
(
void
);
void
*
dlopen
(
const
char
*
,
int
);
void
*
dlopen
(
const
char
*
,
int
);
...
@@ -30,6 +32,7 @@ typedef struct {
...
@@ -30,6 +32,7 @@ typedef struct {
void
*
dli_saddr
;
void
*
dli_saddr
;
}
Dl_info
;
}
Dl_info
;
int
dladdr
(
void
*
,
Dl_info
*
);
int
dladdr
(
void
*
,
Dl_info
*
);
int
dlinfo
(
void
*
,
int
,
void
*
);
#endif
#endif
#ifdef __cplusplus
#ifdef __cplusplus
...
...
src/ldso/dlinfo.c
0 → 100644
浏览文件 @
780cbbe6
#include <dlfcn.h>
int
__dlinfo
(
void
*
,
int
,
void
*
);
int
dlinfo
(
void
*
dso
,
int
req
,
void
*
res
)
{
return
__dlinfo
(
dso
,
req
,
res
);
}
src/ldso/dynlink.c
浏览文件 @
780cbbe6
...
@@ -1273,6 +1273,18 @@ int __dladdr (void *addr, Dl_info *info)
...
@@ -1273,6 +1273,18 @@ int __dladdr (void *addr, Dl_info *info)
}
}
#endif
#endif
int
__dlinfo
(
void
*
dso
,
int
req
,
void
*
res
)
{
if
(
invalid_dso_handle
(
dso
))
return
-
1
;
if
(
req
!=
RTLD_DI_LINKMAP
)
{
snprintf
(
errbuf
,
sizeof
errbuf
,
"Unsupported request %d"
,
req
);
errflag
=
1
;
return
-
1
;
}
*
(
struct
link_map
**
)
res
=
dso
;
return
0
;
}
char
*
dlerror
()
char
*
dlerror
()
{
{
if
(
!
errflag
)
return
0
;
if
(
!
errflag
)
return
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录