"failstar" sounds like a name for a cruise liner from the 80s. As "*" isn't a desirable part of directory names, just name the whole thing "fail/", the core parts being stored in "fail/core/". Additionally fixing two build system dependency issues: - missing jobserver -> protomessages dependency - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain file dependencies ... cmake for the win) git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
44 lines
867 B
Perl
Executable File
44 lines
867 B
Perl
Executable File
#!/usr/bin/perl
|
|
#
|
|
# $Id$
|
|
#
|
|
# Read output file from as86 (e.g. rombios.txt) and write out a symbol
|
|
# table suitable for the Bochs debugger.
|
|
#
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
my $WHERE_BEFORE_SYM_TABLE = 0;
|
|
my $WHERE_IN_SYM_TABLE = 1;
|
|
my $WHERE_AFTER_SYM_TABLE = 2;
|
|
|
|
my $where = $WHERE_BEFORE_SYM_TABLE;
|
|
while (<STDIN>) {
|
|
chop;
|
|
if ($where == $WHERE_BEFORE_SYM_TABLE && /^Symbols:/) {
|
|
$where = $WHERE_IN_SYM_TABLE;
|
|
} elsif ($where == $WHERE_IN_SYM_TABLE && /^$/) {
|
|
$where = $WHERE_AFTER_SYM_TABLE;
|
|
}
|
|
if ($where == $WHERE_IN_SYM_TABLE) {
|
|
my $name;
|
|
my $junk;
|
|
foreach my $f (split(/\s+/)) {
|
|
if ($f =~ /^[[:xdigit:]]{4,}$/) {
|
|
if (defined($name)) {
|
|
print '000f', lc($f), ' ', $name, "\n";
|
|
undef($name);
|
|
undef($junk);
|
|
next;
|
|
}
|
|
}
|
|
$name = $junk
|
|
if (defined($junk));
|
|
$junk = $f;
|
|
}
|
|
}
|
|
}
|
|
|
|
exit(0);
|