diff options
Diffstat (limited to 'driver/test_mangler')
-rw-r--r-- | driver/test_mangler | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/driver/test_mangler b/driver/test_mangler new file mode 100644 index 0000000000..96cf31ca68 --- /dev/null +++ b/driver/test_mangler @@ -0,0 +1,29 @@ +#! /usr/bin/perl +# a simple wrapper to test a .s-file mangler +# reads stdin, writes stdout + +push(@INC,"/net/dazdak/BUILDS/gransim-4.04/i386-unknown-linux/ghc/driver"); + +$TargetPlatform = $ARGV[0]; shift; # nice error checking, Will + +require("ghc-asm.prl") || die "require mangler failed!\n"; + +$SpX86Mangling = 1; +$StolenX86Regs = 4; + +open(INP, "> /tmp/mangle1.$$") || die "Can't open tmp file 1\n"; +while (<>) { + print INP $_; +} +close(INP) || die "Can't close tmp file 1"; + +&mangle_asm("/tmp/mangle1.$$", "/tmp/mangle2.$$"); + +open(INP, "< /tmp/mangle2.$$") || die "Can't open tmp file 2\n"; +while (<INP>) { + print STDOUT $_; +} +close(INP) || die "Can't close tmp file 2"; + +unlink("/tmp/mangle1.$$", "/tmp/mangle2.$$"); +exit(0); |