File tree 4 files changed +5
-4
lines changed
4 files changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ pub fn opts() -> TargetOptions {
34
34
is_like_openbsd : true ,
35
35
pre_link_args : args,
36
36
position_independent_executables : true ,
37
+ eliminate_frame_pointer : false , // FIXME 43575
37
38
relro_level : RelroLevel :: Full ,
38
39
.. Default :: default ( )
39
40
}
Original file line number Diff line number Diff line change @@ -252,8 +252,8 @@ fn main() {
252
252
let llvm_static_stdcpp = env:: var_os ( "LLVM_STATIC_STDCPP" ) ;
253
253
254
254
let stdcppname = if target. contains ( "openbsd" ) {
255
- // OpenBSD has a particular C++ runtime library name
256
- "estdc ++"
255
+ // llvm-config on OpenBSD doesn't mention stdlib=libc++
256
+ "c ++"
257
257
} else if target. contains ( "netbsd" ) && llvm_static_stdcpp. is_some ( ) {
258
258
// NetBSD uses a separate library when relocation is required
259
259
"stdc++_pic"
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ fn main() {
27
27
} else if target. contains ( "netbsd" ) {
28
28
println ! ( "cargo:rustc-link-lib=gcc_s" ) ;
29
29
} else if target. contains ( "openbsd" ) {
30
- println ! ( "cargo:rustc-link-lib=gcc " ) ;
30
+ println ! ( "cargo:rustc-link-lib=c++abi " ) ;
31
31
} else if target. contains ( "solaris" ) {
32
32
println ! ( "cargo:rustc-link-lib=gcc_s" ) ;
33
33
} else if target. contains ( "bitrig" ) {
Original file line number Diff line number Diff line change @@ -92,7 +92,7 @@ ifeq ($(UNAME),SunOS)
92
92
EXTRACFLAGS := -lm -lpthread -lposix4 -lsocket -lresolv
93
93
else
94
94
ifeq ($(UNAME ) ,OpenBSD)
95
- EXTRACFLAGS := -lm -lpthread
95
+ EXTRACFLAGS := -lm -lpthread -lc++abi
96
96
RUSTC := $(RUSTC) -C linker="$(word 1,$(CC:ccache=))"
97
97
else
98
98
EXTRACFLAGS := -lm -lrt -ldl -lpthread
You can’t perform that action at this time.
0 commit comments