From 5f4505729ff5677d62495dcc78acf7eedfc1c90d Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 7 Mar 2016 23:08:09 +0200 Subject: helpers/fixdump.awk: Remove extraneous spaces in converted output. --- helpers/fixdump.awk | 2 ++ 1 file changed, 2 insertions(+) (limited to 'helpers/fixdump.awk') diff --git a/helpers/fixdump.awk b/helpers/fixdump.awk index b03f03f7..d0190969 100644 --- a/helpers/fixdump.awk +++ b/helpers/fixdump.awk @@ -65,5 +65,7 @@ function translate(line, n, data, seps, i, newline) gsub(seps[i], Newaddr[seps[i]], newline) } + gsub(/ = +/, " = ", newline) + print newline } -- cgit v1.2.3 From 13927d9dec274f6c188005a9d87e097e225a1799 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 7 Mar 2016 23:09:21 +0200 Subject: helpers/fixdump.awk: Convert to Unix line endings. --- helpers/fixdump.awk | 142 ++++++++++++++++++++++++++-------------------------- 1 file changed, 71 insertions(+), 71 deletions(-) (limited to 'helpers/fixdump.awk') diff --git a/helpers/fixdump.awk b/helpers/fixdump.awk index d0190969..3ec502d2 100644 --- a/helpers/fixdump.awk +++ b/helpers/fixdump.awk @@ -1,71 +1,71 @@ -#! /usr/bin/gawk -f - -BEGIN { - address_re = "0x[[:xdigit:]]+" - bracketed_address = "\\[(([[:space:]]*[[:digit:]]*:)?|[[:alpha:]_]+ = )0x[[:xdigit:]]+\\]" -} - -{ - line[NR] = $0 - extract_addresses($0, NR) -} - -END { - for (i = 1; i <= NR; i++) { - if (line[i] !~ address_re) { - print line[i] - continue - } - - translate(line[i]) - } -} - -# Global arrays -# -# Address[line] --- Address of instruction - first hex number -# Target[address] = 1 --- Address is target of a jump -# Newaddr[address] --- Replacement address, counting from 1 - -function extract_addresses(line, num, data, i, n, seps, addr) -{ - if (line !~ address_re) - return - - split(line, data, bracketed_address, seps) - n = length(seps) - - for (i = 1; i <= n; i++) { - addr = gensub(".*(" address_re ").*", "\\1", 1, seps[i]) - if (i == 1) - Address[num] = addr - else { - Target[addr]++ - if (! (addr in Newaddr)) - Newaddr[addr] = new_address() - } - } -} - -function new_address() -{ - return sprintf("%8d", ++Address_seed) -} - -function translate(line, n, data, seps, i, newline) -{ - split(line, data, address_re, seps) - n = length(seps) - newline = line - for (i = 1; i <= n; i++) { - if (! (seps[i] in Target)) { - gsub(seps[i], " ", newline) - continue - } - gsub(seps[i], Newaddr[seps[i]], newline) - } - - gsub(/ = +/, " = ", newline) - - print newline -} +#! /usr/bin/gawk -f + +BEGIN { + address_re = "0x[[:xdigit:]]+" + bracketed_address = "\\[(([[:space:]]*[[:digit:]]*:)?|[[:alpha:]_]+ = )0x[[:xdigit:]]+\\]" +} + +{ + line[NR] = $0 + extract_addresses($0, NR) +} + +END { + for (i = 1; i <= NR; i++) { + if (line[i] !~ address_re) { + print line[i] + continue + } + + translate(line[i]) + } +} + +# Global arrays +# +# Address[line] --- Address of instruction - first hex number +# Target[address] = 1 --- Address is target of a jump +# Newaddr[address] --- Replacement address, counting from 1 + +function extract_addresses(line, num, data, i, n, seps, addr) +{ + if (line !~ address_re) + return + + split(line, data, bracketed_address, seps) + n = length(seps) + + for (i = 1; i <= n; i++) { + addr = gensub(".*(" address_re ").*", "\\1", 1, seps[i]) + if (i == 1) + Address[num] = addr + else { + Target[addr]++ + if (! (addr in Newaddr)) + Newaddr[addr] = new_address() + } + } +} + +function new_address() +{ + return sprintf("%8d", ++Address_seed) +} + +function translate(line, n, data, seps, i, newline) +{ + split(line, data, address_re, seps) + n = length(seps) + newline = line + for (i = 1; i <= n; i++) { + if (! (seps[i] in Target)) { + gsub(seps[i], " ", newline) + continue + } + gsub(seps[i], Newaddr[seps[i]], newline) + } + + gsub(/ = +/, " = ", newline) + + print newline +} -- cgit v1.2.3