@@ -168,7 +168,13 @@ pub fn get_linker<'a>(
168
168
pub trait Linker {
169
169
fn cmd ( & mut self ) -> & mut Command ;
170
170
fn set_output_kind ( & mut self , output_kind : LinkOutputKind , out_filename : & Path ) ;
171
- fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , as_needed : bool ) ;
171
+ fn link_dylib_by_name (
172
+ & mut self ,
173
+ name : & str ,
174
+ verbatim : bool ,
175
+ search_paths : & SearchPaths ,
176
+ as_needed : bool ,
177
+ ) ;
172
178
fn link_framework_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
173
179
bug ! ( "framework linked with unsupported linker" )
174
180
}
@@ -439,7 +445,13 @@ impl<'a> Linker for GccLinker<'a> {
439
445
}
440
446
}
441
447
442
- fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , as_needed : bool ) {
448
+ fn link_dylib_by_name (
449
+ & mut self ,
450
+ name : & str ,
451
+ verbatim : bool ,
452
+ _search_paths : & SearchPaths ,
453
+ as_needed : bool ,
454
+ ) {
443
455
if self . sess . target . os == "illumos" && name == "c" {
444
456
// libc will be added via late_link_args on illumos so that it will
445
457
// appear last in the library search order.
@@ -821,7 +833,7 @@ impl<'a> Linker for MsvcLinker<'a> {
821
833
}
822
834
}
823
835
824
- fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , _as_needed : bool ) {
836
+ fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , _search_paths : & SearchPaths , _as_needed : bool ) {
825
837
self . cmd . arg ( format ! ( "{}{}" , name, if verbatim { "" } else { ".lib" } ) ) ;
826
838
}
827
839
@@ -1065,7 +1077,13 @@ impl<'a> Linker for EmLinker<'a> {
1065
1077
1066
1078
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1067
1079
1068
- fn link_dylib_by_name ( & mut self , name : & str , _verbatim : bool , _as_needed : bool ) {
1080
+ fn link_dylib_by_name (
1081
+ & mut self ,
1082
+ name : & str ,
1083
+ _verbatim : bool ,
1084
+ _search_paths : & SearchPaths ,
1085
+ _as_needed : bool ,
1086
+ ) {
1069
1087
// Emscripten always links statically
1070
1088
self . cmd . arg ( "-l" ) . arg ( name) ;
1071
1089
}
@@ -1245,7 +1263,13 @@ impl<'a> Linker for WasmLd<'a> {
1245
1263
}
1246
1264
}
1247
1265
1248
- fn link_dylib_by_name ( & mut self , name : & str , _verbatim : bool , _as_needed : bool ) {
1266
+ fn link_dylib_by_name (
1267
+ & mut self ,
1268
+ name : & str ,
1269
+ _verbatim : bool ,
1270
+ _search_paths : & SearchPaths ,
1271
+ _as_needed : bool ,
1272
+ ) {
1249
1273
self . cmd . arg ( "-l" ) . arg ( name) ;
1250
1274
}
1251
1275
@@ -1398,7 +1422,13 @@ impl<'a> Linker for L4Bender<'a> {
1398
1422
1399
1423
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1400
1424
1401
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1425
+ fn link_dylib_by_name (
1426
+ & mut self ,
1427
+ _name : & str ,
1428
+ _verbatim : bool ,
1429
+ _search_paths : & SearchPaths ,
1430
+ _as_needed : bool ,
1431
+ ) {
1402
1432
bug ! ( "dylibs are not supported on L4Re" ) ;
1403
1433
}
1404
1434
@@ -1581,7 +1611,13 @@ impl<'a> Linker for AixLinker<'a> {
1581
1611
}
1582
1612
}
1583
1613
1584
- fn link_dylib_by_name ( & mut self , name : & str , _verbatim : bool , _as_needed : bool ) {
1614
+ fn link_dylib_by_name (
1615
+ & mut self ,
1616
+ name : & str ,
1617
+ _verbatim : bool ,
1618
+ _search_paths : & SearchPaths ,
1619
+ _as_needed : bool ,
1620
+ ) {
1585
1621
self . hint_dynamic ( ) ;
1586
1622
self . cmd . arg ( format ! ( "-l{name}" ) ) ;
1587
1623
}
@@ -1794,7 +1830,13 @@ impl<'a> Linker for PtxLinker<'a> {
1794
1830
1795
1831
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1796
1832
1797
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1833
+ fn link_dylib_by_name (
1834
+ & mut self ,
1835
+ _name : & str ,
1836
+ _verbatim : bool ,
1837
+ _search_paths : & SearchPaths ,
1838
+ _as_needed : bool ,
1839
+ ) {
1798
1840
panic ! ( "external dylibs not supported" )
1799
1841
}
1800
1842
@@ -1882,7 +1924,13 @@ impl<'a> Linker for LlbcLinker<'a> {
1882
1924
1883
1925
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1884
1926
1885
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1927
+ fn link_dylib_by_name (
1928
+ & mut self ,
1929
+ _name : & str ,
1930
+ _verbatim : bool ,
1931
+ _search_paths : & SearchPaths ,
1932
+ _as_needed : bool ,
1933
+ ) {
1886
1934
panic ! ( "external dylibs not supported" )
1887
1935
}
1888
1936
@@ -1979,7 +2027,13 @@ impl<'a> Linker for BpfLinker<'a> {
1979
2027
1980
2028
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1981
2029
1982
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
2030
+ fn link_dylib_by_name (
2031
+ & mut self ,
2032
+ _name : & str ,
2033
+ _verbatim : bool ,
2034
+ _search_paths : & SearchPaths ,
2035
+ _as_needed : bool ,
2036
+ ) {
1983
2037
panic ! ( "external dylibs not supported" )
1984
2038
}
1985
2039
0 commit comments