Skip to content

Commit f6584eb

Browse files
committed
build.rs: Rename duplicate aarch64 symbols
The duplicate symbols are from compiler-builtins.
1 parent a0ddb91 commit f6584eb

File tree

2 files changed

+113
-1
lines changed

2 files changed

+113
-1
lines changed

hermit-sys/aarch64-duplicate-symbols

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
__adddf3
2+
__addsf3
3+
__ashldi3
4+
__ashlsi3
5+
__ashlti3
6+
__ashrdi3
7+
__ashrsi3
8+
__ashrti3
9+
__clzsi2
10+
__divdf3
11+
__divdi3
12+
__divmoddi4
13+
__divmodsi4
14+
__divmodti4
15+
__divsf3
16+
__divsi3
17+
__divti3
18+
__eqdf2
19+
__eqsf2
20+
__extendsfdf2
21+
__fixdfdi
22+
__fixdfsi
23+
__fixdfti
24+
__fixsfdi
25+
__fixsfsi
26+
__fixsfti
27+
__fixunsdfdi
28+
__fixunsdfsi
29+
__fixunsdfti
30+
__fixunssfdi
31+
__fixunssfsi
32+
__fixunssfti
33+
__floatdidf
34+
__floatdisf
35+
__floatsidf
36+
__floatsisf
37+
__floattidf
38+
__floattisf
39+
__floatundidf
40+
__floatundisf
41+
__floatunsidf
42+
__floatunsisf
43+
__floatuntidf
44+
__floatuntisf
45+
__gedf2
46+
__gesf2
47+
__gtdf2
48+
__gtsf2
49+
__ledf2
50+
__lesf2
51+
__llvm_memcpy_element_unordered_atomic_1
52+
__llvm_memcpy_element_unordered_atomic_16
53+
__llvm_memcpy_element_unordered_atomic_2
54+
__llvm_memcpy_element_unordered_atomic_4
55+
__llvm_memcpy_element_unordered_atomic_8
56+
__llvm_memmove_element_unordered_atomic_1
57+
__llvm_memmove_element_unordered_atomic_16
58+
__llvm_memmove_element_unordered_atomic_2
59+
__llvm_memmove_element_unordered_atomic_4
60+
__llvm_memmove_element_unordered_atomic_8
61+
__llvm_memset_element_unordered_atomic_1
62+
__llvm_memset_element_unordered_atomic_16
63+
__llvm_memset_element_unordered_atomic_2
64+
__llvm_memset_element_unordered_atomic_4
65+
__llvm_memset_element_unordered_atomic_8
66+
__lshrdi3
67+
__lshrsi3
68+
__lshrti3
69+
__ltdf2
70+
__ltsf2
71+
__moddi3
72+
__modsi3
73+
__modti3
74+
__muldf3
75+
__muldi3
76+
__mulodi4
77+
__mulosi4
78+
__muloti4
79+
__mulsf3
80+
__multi3
81+
__nedf2
82+
__nesf2
83+
__powidf2
84+
__powisf2
85+
__rust_i128_add
86+
__rust_i128_addo
87+
__rust_i128_mulo
88+
__rust_i128_sub
89+
__rust_i128_subo
90+
__rust_u128_add
91+
__rust_u128_addo
92+
__rust_u128_mulo
93+
__rust_u128_sub
94+
__rust_u128_subo
95+
__subdf3
96+
__subsf3
97+
__udivdi3
98+
__udivmoddi4
99+
__udivmodsi4
100+
__udivmodti4
101+
__udivsi3
102+
__udivti3
103+
__umoddi3
104+
__umodsi3
105+
__umodti3
106+
__unorddf2
107+
__unordsf2

hermit-sys/build.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,12 @@ fn build_hermit(src_dir: &Path, target_dir_opt: Option<&Path>) {
149149

150150
let lib = lib_location.join("libhermit.a");
151151

152-
let symbols = vec!["rust_begin_unwind", "rust_oom"];
152+
let mut symbols = vec!["rust_begin_unwind", "rust_oom"];
153+
154+
if target_arch == "aarch64" {
155+
symbols.extend(include_str!("aarch64-duplicate-symbols").lines());
156+
}
157+
153158
rename_symbols(symbols, &lib);
154159

155160
println!("cargo:rustc-link-search=native={}", lib_location.display());

0 commit comments

Comments
 (0)