From 6434a966bced70ac26871ef378ee5fd7929fa0f9 Mon Sep 17 00:00:00 2001 From: Eli Bendersky Date: Fri, 23 Sep 2011 17:14:08 +0300 Subject: [PATCH] * added new test file - an object compiled from C++, on x64 * adjusted readelf to limit width of symbol names in relocation dump --- scripts/readelf.py | 2 +- tests/testfiles/penalty_64.o.elf | Bin 0 -> 84496 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 tests/testfiles/penalty_64.o.elf diff --git a/scripts/readelf.py b/scripts/readelf.py index d90b5bf..d103643 100755 --- a/scripts/readelf.py +++ b/scripts/readelf.py @@ -309,7 +309,7 @@ class ReadElf(object): symbol_name = symsec.name else: symbol_name = symbol.name - self._emit(' %s %s%s' % ( + self._emit(' %s %s%22.22s' % ( self._format_hex( symbol['st_value'], fullhex=True, lead0x=False), diff --git a/tests/testfiles/penalty_64.o.elf b/tests/testfiles/penalty_64.o.elf new file mode 100644 index 0000000000000000000000000000000000000000..aca100b4e36a123e89c536550f02b0b69fed122e GIT binary patch literal 84496 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 CU#heK literal 0 HcmV?d00001 -- 2.30.2