From: Kevin O'Connor Date: Fri, 24 Dec 2010 15:23:10 +0000 (-0500) Subject: Enhance layoutrom.py to work around a binutils quirk. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=67863beb71e67433b38a20ba408e490ae173f324;p=seabios.git Enhance layoutrom.py to work around a binutils quirk. Some binutils (report of 2.20.1) don't create dummy symbols for each section - work around that. --- diff --git a/tools/layoutrom.py b/tools/layoutrom.py index 4109b16..d2ba674 100755 --- a/tools/layoutrom.py +++ b/tools/layoutrom.py @@ -532,7 +532,16 @@ def parseObjDump(file, fileid): reloc.offset = int(off, 16) reloc.type = type reloc.symbolname = symbolname - reloc.symbol = symbols[symbolname] + reloc.symbol = symbols.get(symbolname) + if reloc.symbol is None: + # Some binutils (2.20.1) give section name instead + # of a symbol - create a dummy symbol. + reloc.symbol = symbol = Symbol() + symbol.size = 0 + symbol.offset = 0 + symbol.name = symbolname + symbol.section = sectionmap.get(symbolname) + symbols[symbolname] = symbol relocsection.relocs.append(reloc) except ValueError: pass