[LLVMdev] LLVMdev Digest, Vol 132, Issue 104

Allan R. Batteiger arb at rtsi.com
Tue Jun 30 07:57:46 PDT 2015


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>


More information about the llvm-dev mailing list