diff options
Diffstat (limited to 'ms/segrenam.pl')
-rw-r--r-- | ms/segrenam.pl | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/ms/segrenam.pl b/ms/segrenam.pl index 2ab22a0459..7e64c8e36f 100644 --- a/ms/segrenam.pl +++ b/ms/segrenam.pl @@ -7,17 +7,17 @@ unpack("L",pack("N",1))!=1 || die "only little-endian hosts are supported"; # first argument can specify custom suffix... $suffix=(@ARGV[0]=~/^\$/) ? shift(@ARGV) : "\$m"; ################################################################# -# rename segments in COFF modules according to %map table below # -%map=( ".text" => "fipstx$suffix", # - ".text\$"=> "fipstx$suffix", # - ".rdata"=> "fipsrd$suffix", # - ".data" => "fipsda$suffix" ); # +# rename segments in COFF modules according to %map table below # +%map=( ".text" => "fipstx$suffix", # + ".text\$"=> "fipstx$suffix", # + ".rdata" => "fipsrd$suffix", # + ".data" => "fipsda$suffix" ); # ################################################################# # collect file list foreach (@ARGV) { - if (/\*/) { push(@files,glob($_)); } - else { push(@files,$_); } + if (/\*/) { push(@files,glob($_)); } + else { push(@files,$_); } } use Fcntl; @@ -33,13 +33,13 @@ foreach (@files) { sysread(FD,$mz,64)==64 || die "$file is too short"; @dos_header=unpack("a2C58I",$mz); if (@dos_header[0] eq "MZ") { - $e_lfanew=pop(@dos_header); - sysseek(FD,$e_lfanew,SEEK_SET) || die "$file is too short"; - sysread(FD,$Magic,4)==4 || die "$file is too short"; - unpack("I",$Magic)==0x4550 || die "$file is not COFF image"; + $e_lfanew=pop(@dos_header); + sysseek(FD,$e_lfanew,SEEK_SET) || die "$file is too short"; + sysread(FD,$Magic,4)==4 || die "$file is too short"; + unpack("I",$Magic)==0x4550 || die "$file is not COFF image"; } elsif ($file =~ /\.obj$/i) { - # .obj files have no IMAGE_DOS_HEADER - sysseek(FD,0,SEEK_SET) || die "unable to rewind $file"; + # .obj files have no IMAGE_DOS_HEADER + sysseek(FD,0,SEEK_SET) || die "unable to rewind $file"; } else { next; } # read IMAGE_FILE_HEADER @@ -53,13 +53,13 @@ foreach (@files) { # traverse IMAGE_SECTION_HEADER table for($i=0;$i<$NumberOfSections;$i++) { - sysread(FD,$SectionHeader,40)==40 || die "$file is too short"; - ($Name,@opaque)=unpack("Z8C*",$SectionHeader); - if ($map{$Name}) { - sysseek(FD,-40,SEEK_CUR) || die "unable to rewind $file"; - syswrite(FD,pack("a8C*",$map{$Name},@opaque))==40 || die "syswrite failed: $!"; - printf " %-8s -> %.8s\n",$Name,$map{$Name} unless $quiet; - } + sysread(FD,$SectionHeader,40)==40 || die "$file is too short"; + ($Name,@opaque)=unpack("Z8C*",$SectionHeader); + if ($map{$Name}) { + sysseek(FD,-40,SEEK_CUR) || die "unable to rewind $file"; + syswrite(FD,pack("a8C*",$map{$Name},@opaque))==40 || die "syswrite failed: $!"; + printf " %-8s -> %.8s\n",$Name,$map{$Name} unless $quiet; + } } close(FD); } |