File tree 3 files changed +43
-19
lines changed
tests/run-make/issue-68794-textrel-on-minimal-lib 3 files changed +43
-19
lines changed Original file line number Diff line number Diff line change @@ -82,7 +82,6 @@ run-make/issue-37839/Makefile
82
82
run-make/issue-40535/Makefile
83
83
run-make/issue-47384/Makefile
84
84
run-make/issue-47551/Makefile
85
- run-make/issue-68794-textrel-on-minimal-lib/Makefile
86
85
run-make/issue-69368/Makefile
87
86
run-make/issue-83045/Makefile
88
87
run-make/issue-83112-incr-test-moved-file/Makefile
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ // Regression test for issue #68794
2
+ //
3
+ // Verify that no text relocations are accidentally introduced by linking a
4
+ // minimal rust staticlib.
5
+ //
6
+ // The test links a rust static library into a shared library, and checks that
7
+ // the linker doesn't have to flag the resulting file as containing TEXTRELs.
8
+
9
+ //@ only-linux
10
+ //@ ignore-cross-compile
11
+
12
+ use std:: env;
13
+
14
+ use run_make_support:: cc;
15
+ use run_make_support:: llvm_readobj;
16
+ use run_make_support:: rustc;
17
+ use run_make_support:: { dynamic_lib_name, static_lib_name} ;
18
+
19
+ fn main ( ) {
20
+ let mut extra_flags = vec ! [ ] ;
21
+ if let Ok ( extracflags) = env:: var ( "EXTRACFLAGS" ) {
22
+ extra_flags. push ( extracflags) ;
23
+ }
24
+ if let Ok ( extracxxflags) = env:: var ( "EXTRACXXFLAGS" ) {
25
+ extra_flags. push ( extracxxflags) ;
26
+ }
27
+
28
+ rustc ( ) . input ( "foo.rs" ) . run ( ) ;
29
+
30
+ cc ( ) . input ( "bar.c" )
31
+ . arg ( static_lib_name ( "foo" ) )
32
+ . arg ( "-fPIC" )
33
+ . arg ( "-shared" )
34
+ . args ( & extra_flags)
35
+ . output ( dynamic_lib_name ( "bar" ) )
36
+ . run ( ) ;
37
+
38
+ llvm_readobj ( )
39
+ . dynamic_table ( )
40
+ . input ( dynamic_lib_name ( "bar" ) )
41
+ . run ( )
42
+ . assert_stdout_not_contains ( "TEXTREL" ) ;
43
+ }
You can’t perform that action at this time.
0 commit comments