Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
21eadbe6
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
21eadbe6
编写于
1月 01, 2012
作者:
J
Jyun-Yan You
提交者:
Brian Anderson
1月 01, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add missing library, enable segmented stacks for freebsd
上级
d4884b6c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
10 deletion
+11
-10
mk/platform.mk
mk/platform.mk
+1
-1
src/comp/back/link.rs
src/comp/back/link.rs
+4
-5
src/rt/arch/x86_64/record_sp.S
src/rt/arch/x86_64/record_sp.S
+6
-4
未找到文件。
mk/platform.mk
浏览文件 @
21eadbe6
...
...
@@ -25,7 +25,7 @@ ifneq ($(findstring freebsd,$(CFG_OSTYPE)),)
CFG_LIB_NAME
=
lib
$(1)
.so
CFG_LIB_GLOB
=
lib
$(1)
-
*
.so
CFG_GCCISH_CFLAGS
+=
-fPIC
-I
/usr/local/include
CFG_GCCISH_LINK_FLAGS
+=
-shared
-fPIC
-lpthread
-lrt
CFG_GCCISH_LINK_FLAGS
+=
-shared
-fPIC
-lpthread
-lrt
-L
/usr/local/lib
-lexecinfo
CFG_GCCISH_DEF_FLAG
:=
-Wl
,--export-dynamic,--dynamic-list
=
CFG_GCCISH_PRE_LIB_FLAGS
:=
-Wl
,-whole-archive
CFG_GCCISH_POST_LIB_FLAGS
:=
-Wl
,-no-whole-archive
...
...
src/comp/back/link.rs
浏览文件 @
21eadbe6
...
...
@@ -220,7 +220,6 @@ fn run_passes(sess: session::session, llmod: ModuleRef, output: str) {
}
else
{
FileType
=
LLVMAssemblyFile
;
}
// Write optimized bitcode if --save-temps was on.
let
seg_stack
=
sess
.get_targ_cfg
()
.os
!=
session
::
os_freebsd
;
if
opts
.save_temps
{
// Always output the bitcode file with --save-temps
...
...
@@ -245,7 +244,7 @@ fn run_passes(sess: session::session, llmod: ModuleRef, output: str) {
buf_o
,
LLVMAssemblyFile
,
CodeGenOptLevel
,
seg_stack
)})});
true
)})});
}
...
...
@@ -265,7 +264,7 @@ fn run_passes(sess: session::session, llmod: ModuleRef, output: str) {
buf_o
,
LLVMObjectFile
,
CodeGenOptLevel
,
seg_stack
)})});
true
)})});
}
}
else
{
// If we aren't saving temps then just output the file
...
...
@@ -283,7 +282,7 @@ fn run_passes(sess: session::session, llmod: ModuleRef, output: str) {
buf_o
,
FileType
,
CodeGenOptLevel
,
seg_stack
)})});
true
)})});
}
// Clean up and return
...
...
@@ -661,7 +660,7 @@ fn rmext(filename: str) -> str {
}
if
sess
.get_targ_cfg
()
.os
==
session
::
os_freebsd
{
gcc_args
+=
[
"-lrt"
];
gcc_args
+=
[
"-lrt"
,
"-L/usr/local/lib"
,
"-lexecinfo"
];
}
// OS X 10.6 introduced 'compact unwind info', which is produced by the
...
...
src/rt/arch/x86_64/record_sp.S
浏览文件 @
21eadbe6
...
...
@@ -14,21 +14,23 @@
.
globl
GET_SP
.
globl
CHECK_STACK
#if defined(__linux__)
|| defined(__FreeBSD__)
#if defined(__linux__)
RECORD_SP
:
movq
%
rdi
,
%
fs
:
112
ret
#else
#if defined(__APPLE__)
#elif defined(__APPLE__)
RECORD_SP
:
movq
$
0x60
+
90
*
8
,
%
rsi
movq
%
rdi
,
%
gs
:
(%
rsi
)
ret
#elif defined(__FreeBSD__)
RECORD_SP
:
movq
%
rdi
,
%
fs
:
24
ret
#else
RECORD_SP
:
ret
#endif
#endif
GET_SP
:
movq
%
rsp
,
%
rax
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录