On 6/30/2015 7:29 AM, llvmdev-request at cs.uiuc.edu wrote:> 2. How to have LLVM/Clang target an currently unsupported > embedded OS? (Dave Gomboc) > > Message: 2 > Date: Mon, 29 Jun 2015 22:52:07 -0700 > From: Dave Gomboc <dave_gomboc at acm.org> > To: LLVM Developer Mailing List <llvmdev at cs.uiuc.edu> > Subject: [LLVMdev] How to have LLVM/Clang target an currently > unsupported embedded OS? > Message-ID: > <CA+dwz-0Lfi8ehfmPfTQq-damSuwHK-stUNwPXkfJKOix3D=SmA at mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > 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 > > >Dave and others on the list Due to the design of OS-9 for 68K and other CPU's. compiling to a ROF format will probably not work. While we try to use the CPU Standard calling interface there are some OS-9 specific differences. The compiler ( Ultra-C) currently has an older EDG ( Edison Design Group) front end. Unfortunately the previous owner of the IP did not keep up the EDG support. The compiler does have an intermediate language named I-code. It is somewhat higher level than LLVM IR code. I can provide documentation under NDA if someone wants to take a serious look at this project. I-code is not processor specific. Allan R. Batteiger President RTSI LLC -------------- next part -------------- A non-text attachment was scrubbed... Name: arb.vcf Type: text/x-vcard Size: 257 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150630/2137cabb/attachment.vcf>