- = do mangler <- readIORef v_Pgm_m
- mangler_opts <- getOpts opt_m
- machdep_opts <-
- if (prefixMatch "i386" cTARGETPLATFORM)
- then do n_regs <- dynFlag stolen_x86_regs
- return [ show n_regs ]
- else return []
-#if defined(mingw32_TARGET_OS) && defined(MINIMAL_UNIX_DEPS)
- perl_path <- prependToolDir ("perl")
- let real_mangler = unwords [perl_path, mangler]
-#else
- let real_mangler = mangler
-#endif
- runSomething "Assembly Mangler"
- (unwords (real_mangler : mangler_opts
- ++ [ input_fn, output_fn ]
- ++ machdep_opts
- ))
+ = do mangler_opts <- getOpts opt_m
+ machdep_opts <- if (prefixMatch "i386" cTARGETPLATFORM)
+ then do n_regs <- dynFlag stolen_x86_regs
+ return [ show n_regs ]
+ else return []
+
+ SysTools.runMangle (mangler_opts
+ ++ [ input_fn, output_fn ]
+ ++ machdep_opts)