From: James Jones Date: Tue, 26 Jul 2022 10:36:50 +0000 (-0700) Subject: Convert output symbol table back to a table X-Git-Tag: v1.7.3~2 X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d71dcf00270f75a7692c788e2834e47231780ef;hp=0d71dcf00270f75a7692c788e2834e47231780ef;p=rln Convert output symbol table back to a table It looks like at some point the output symbol was converted from an actual table of SYMREC structs to an in-memory copy of a COFF/a.out symbol table. This entailed relying on the assumption that all symbols had an entry in the string table when using OSTLookup()'s return value as anything other than a boolean value, as is done in the relocation procesing logic. In preparation for adding support for debug symbols, which often have no string table entry, revert to using an intermediate output symbol table representation and serializing it one symbol at a time when writing the output file. This simplifies various code paths, but potentially slows down writing COFF symbol tables to disk. Fortunately, this table is not written with default options, and is rather small unless using debug symbols, so this shouldn't significantly affect the runtime of most existing use cases. ---