# TODO notes for pdp10-tools # Copyright (C) 2013-2015 Mikael Pettersson # # This file is part of pdp10-tools. # # pdp10-tools is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pdp10-tools is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with pdp10-tools. If not, see . Elf36 Specification: - Do we want to adjust SHN_LORESERVE up to SHN_HIRESERVE, including SHN_XINDEX, to account for the fact that we have 2 more bits available in Elf36_Half? I'm inclined not to change, but to allow indices in [SHN_HIRESERVE+1,PDP10_UINT18_MAX] as-is without going through SHN_XINDEX. - Same question for PN_XNUM? - Summarize the differences between Elf32 and Elf36 in a document somewhere. pdp10-stdio: - Handle non-seekable output files better (i.e., allow 8to9 to write to stdout) Tools: - size: implement it - strip: implement it - ld: implement it - readelf: add support for relocs - readelf: add support for program headers - pdp10-opcodes.{h,c}: rewrite completely - as: * add line-comment character, e.g. '#' + use it in doc/MUUO.txt + use it in as/tests/*.s + add license boilerplate to the above files * support .ident: + change strtab to have a finalizer which returns an image array, + use standard output_section for strtab + move strtab to tunit + have .ident append string to .comment strtab + finalize .comment strtab before output() * add support for named sections * add support for sub-sections * add support for data directives (.word, .asciz, etc) * add support for relocs * add support for extended opcodes (emit second opcode after current .text section) * add support for symbolic references to 30 or 36-bit addresses via something like %hi/%lo functions