[LLVMdev] How to have LLVM/Clang target an currently unsupported embedded OS?
Dave Gomboc
dave_gomboc at acm.org
Mon Jun 29 22:52:07 PDT 2015
I am writing to inquire re: the scope of the effort that would be
required in order to augment LLVM (and/or clang++) to be able to
generate from modern C++ source code a set of Microware OS-9 ROF
(relocatable object format) object files to be subsequently linked (by
the existing linker from Microware) and executed by a 68k-based
processor running the OS-9 operating system.
Material posted online such as
http://oldcomputers.dyndns.org/public/pub/manuals/os9/allen_bradley/77165106.pdf
and http://geneslinuxbox.net:6309/gene/toolshed/casm/HTMLHelp/os9_rof.htm
give some insight into the specifics of the ROF linker format.
Could such a project reasonably be undertaken by a CS Ph.D. student
without significant prior familiarity with LLVM and Clang? If not,
are there firms that specialize in such work?
I understand that Motorola 68000-based targets are not presently
available as an official LLVM back end. In this regard, does anyone
know if what is online at http://sf.net/projects/llvm68k/ is presently
in good shape? What would be necessary besides a volunteer to conduct
automated nightly testing of the backend in order for such a back-end
to become officially supported?
The overarching purpose of the task is to make available clang++'s
high level of C++ standard conformance to this unusual platform (which
must be used due to regulation). I would also be interested in other
potential approaches that might be simpler to successfully execute.
FYI, the current cross-compiler that is used to target the platform
supports C89, at least some parts of C99, but has only basic
(pre-standard) C++, e.g., it lacks SFINAE support.
Thank you in advance for your advice,
Dave Gomboc
More information about the llvm-dev
mailing list