[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