@@ -8,13 +8,8 @@ gist_it() {
8
8
}
9
9
10
10
build () {
11
- if [[ $WEAK ]]; then
12
- $CARGO build --features weak --target $TARGET
13
- $CARGO build --features weak --target $TARGET --release
14
- else
15
- $CARGO build --target $TARGET
16
- $CARGO build --target $TARGET --release
17
- fi
11
+ $CARGO build --target $TARGET
12
+ $CARGO build --target $TARGET --release
18
13
}
19
14
20
15
inspect () {
@@ -23,24 +18,6 @@ inspect() {
23
18
set +e
24
19
$PREFIX$OBJDUMP -Cd target/** /release/* .rlib | gist_it
25
20
set -e
26
-
27
- # Check presence/absence of weak symbols
28
- if [[ $WEAK ]]; then
29
- local symbols=( memcmp memcpy memmove memset )
30
- for symbol in " ${symbols[@]} " ; do
31
- $PREFIX$NM target/$TARGET /debug/deps/librlibc-* .rlib | grep -q " W $symbol "
32
- done
33
- else
34
- set +e
35
- ls target/$TARGET /debug/deps/librlibc-* .rlib
36
-
37
- if [[ $? == 0 ]]; then
38
- exit 1
39
- fi
40
-
41
- set -e
42
- fi
43
-
44
21
}
45
22
46
23
run_tests () {
@@ -68,6 +45,30 @@ c_test() {
68
45
set -e
69
46
}
70
47
48
+ # Check presence/absence of weak symbols
49
+ weak_test () {
50
+ if [[ $WEAK ]]; then
51
+ $CARGO clean
52
+
53
+ $CARGO build --features weak --target $TARGET
54
+ $CARGO build --features weak --target $TARGET --release
55
+
56
+ local symbols=( memcmp memcpy memmove memset )
57
+ for symbol in " ${symbols[@]} " ; do
58
+ $PREFIX$NM target/$TARGET /debug/deps/librlibc-* .rlib | grep -q " W $symbol "
59
+ done
60
+ else
61
+ set +e
62
+ ls target/$TARGET /debug/deps/librlibc-* .rlib
63
+
64
+ if [[ $? == 0 ]]; then
65
+ exit 1
66
+ fi
67
+
68
+ set -e
69
+ fi
70
+ }
71
+
71
72
main () {
72
73
if [[ $LINUX && ${IN_DOCKER_CONTAINER:- n} == n ]]; then
73
74
# NOTE The Dockerfile of this image is in the docker branch of this repository
@@ -89,6 +90,7 @@ main() {
89
90
inspect
90
91
run_tests
91
92
c_test
93
+ weak_test
92
94
fi
93
95
}
94
96
0 commit comments