I think the challenge will be does binutils (where nm, objcopy and objdump live) support for the object file format used by TOPS20.
I haven’t looked at the TOPS20 object file format but it seems like the best approach would be to have the C compiler generate symbols as it normally would and write a utility to “fixup” the too long symbols rather than munging the source (which is basically what you’re proposing using the stuff from binutils…just a bit more work. TTFN - Guy > On Dec 11, 2019, at 9:07 AM, Guy N. via cctalk <cctalk@classiccmp.org> wrote: > > On Wed, 2019-12-11 at 00:25 +0000, David Griffith via cctalk wrote: >> I'm trying to convert some C code[1] so it'll compile on TOPS20 with KCC. >> KCC is mostly ANSI compliant, but it needs to use the TOPS20 linker, which >> has a limit of six case-insentive characters. [...] Does anyone here have >> any knowledge of existing tools or techniques to do what I'm trying to do? > > Is "objcopy --redefine-syms" any help? Compile the code as-is to > produce object files, use nm or objdump to find all of the global > symbols, generate unique six-character names for them, and then use > objcopy to create new object files with the new names. > > Or have I completely missed the point? I'm not familiar with KCC, does > it produce object modules in a format objcopy doesn't support? > > I know someone who was working on gcc support for the PDP-10, I wonder > if he's still doing that or has given up.... >