@@ -525,12 +525,7 @@ def do_link_exe(args):
525
525
cmd .append ('-extld={}' .format (args .extld ))
526
526
527
527
if args .extldflags is not None :
528
- filter_musl = bool
529
- if args .musl :
530
- cmd .append ('-linkmode=external' )
531
- extldflags .append ('-static' )
532
- filter_musl = lambda x : x not in ('-lc' , '-ldl' , '-lm' , '-lpthread' , '-lrt' )
533
- extldflags += [x for x in args .extldflags if filter_musl (x )]
528
+ extldflags .extend (args .extldflags )
534
529
cgo_peers = []
535
530
if args .cgo_peers is not None and len (args .cgo_peers ) > 0 :
536
531
is_group = args .targ_os == 'linux'
@@ -545,6 +540,10 @@ def do_link_exe(args):
545
540
except ValueError :
546
541
extldflags .extend (cgo_peers )
547
542
if len (extldflags ) > 0 :
543
+ for p in args .ld_plugins :
544
+ res = subprocess .check_output ([sys .executable , p , sys .argv [0 ]] + extldflags , cwd = args .build_root ).decode ().strip ()
545
+ if res :
546
+ extldflags = json .loads (res )[1 :]
548
547
cmd .append ('-extldflags={}' .format (' ' .join (extldflags )))
549
548
cmd .append (compile_args .output )
550
549
call (cmd , args .build_root )
@@ -850,6 +849,7 @@ def find_ydx_file_name(name, flags):
850
849
parser .add_argument ('++test_srcs' , nargs = '*' )
851
850
parser .add_argument ('++xtest_srcs' , nargs = '*' )
852
851
parser .add_argument ('++cover_info' , nargs = '*' )
852
+ parser .add_argument ('++ld_plugins' , nargs = '*' )
853
853
parser .add_argument ('++output' , nargs = '?' , default = None )
854
854
parser .add_argument ('++source-root' , default = None )
855
855
parser .add_argument ('++build-root' , required = True )
@@ -881,7 +881,6 @@ def find_ydx_file_name(name, flags):
881
881
parser .add_argument ('++vet-flags' , nargs = '*' , default = None )
882
882
parser .add_argument ('++vet-info-ext' , default = vet_info_ext )
883
883
parser .add_argument ('++vet-report-ext' , default = vet_report_ext )
884
- parser .add_argument ('++musl' , action = 'store_true' )
885
884
parser .add_argument ('++skip-tests' , nargs = '*' , default = None )
886
885
parser .add_argument ('++ydx-file' , default = '' )
887
886
parser .add_argument ('++debug-root-map' , default = None )
0 commit comments