A little sanity checker.
[uccvend-snackrom.git] / ROM2 / check-romsrc.pl
1 #!/usr/bin/perl -w
2
3 # looking for a line like:
4 # 00009800 g       .rodata        00000000 _rom_src_data
5
6 open(OD, "m68hc11-objdump -x rom2.elf|") or die "Could not open objdump of rom image!\n";
7 while (<OD>) {
8         if (/^([0-9a-fA-F]+).*_rom_src_data$/) { $origin = $1 }
9 }
10 close OD;
11 if (!defined $origin) {
12         print "WARNING!!! No bz2 data could be found in the ROM image!\n";
13         exit 1;
14 }
15 $origin = hex($origin);
16
17 open(PL, "src2asm.pl") or die "Could not open src2asm.pl\n";
18 while (<PL>) {
19         if (/^\$origin = 0x([0-9a-fA-F]+);$/) { $pl_origin = $1 }
20 }
21 close PL;
22 if (!defined $pl_origin) {
23         print "WARNING!!! Couldn't find origin in src2asm.pl!\n";
24         exit 2;
25 }
26 $pl_origin = hex($pl_origin);
27 if ($pl_origin != $origin) {
28         printf "WARNING!!! The origin of the bz2 data is now 0x%04x. This needs to\n", $origin;
29         printf "           be updated in src2asm.pl (which currently says 0x%04x).\n", $pl_origin;
30         exit 3;
31 }
32 printf "Origin of bz2 data is 0x%04x and correct.\n", $origin;

UCC git Repository :: git.ucc.asn.au