>Linux is built with gcc. Dignus offers a z/Linux C compiler, but I've never >heard that it could build the kernel. I don't know of an IBM C product >that creates z/Linux executables. The z/OS compiler has some ASCII support, >but that's a far leap from targetting an ASCII OS.
gcc is indeed the "standard" Linux compiler, especially for compiling kernels. The open source community at large and IBM have contributed enhancements to gcc, and many of IBM's contributions focused on helping gcc produce better optimized ESA/390 (31-bit) and z/Architecture (64-bit) code. It's important to emphasize that Linux is Linux. There is no emulation -- Linux on zSeries is a native operating system. There's one Linux(TM) kernel that supports multiple processor architectures. The IBM mainframe architecture uses the "s390" identifier, and then you can compile the kernel by telling gcc to generate 31-bit or 64-bit code (or 31-bit code that can tolerate running on a 64-bit kernel -- probably the best bet for code that doesn't actually need 64-bit addressing). It's exactly the same process for an X86 (Intel/AMD) kernel -- you compile the kernel source using gcc, telling gcc to output an X86-compatible binary kernel. The single kernel/multiple architectures assures that there is source code compatibility -- that you can recompile any Linux application source for any Linux architecture. The exceptions to that rule would be things like unique periperals that an application might need or machine constraints -- that you can't run WebSphere on a Linux machine with only 4 MB of memory, for example. And I suppose you could write non-portable assembler code inline in C/C++, but fortunately not too many people do that since gcc really is pretty good. That's important to note because any vendor producing Linux software should be able to provide you with a mainframe compiled version of their application. There really aren't any technical barriers (excuses) if you want a particular application for your favorite platform. And there really aren't any costs to doing so either since IBM offers 30-day access to a Linux on zSeries guest to any software developer of any size -- even one person companies -- at no charge. (See the "Linux on zSeries" entry at http://en.wikipedia.org for details.) So just ask your vendor(s) for mainframe Linux versions, although lots of them already have them. You do have to compile for each/every architecture. That's unlike Java, for example, in which a single "binary" can run on any Java system. (Actually what happens is that the Java virtual machine compiles the code "on-the-fly," and the single "binary" consists of universal pseudocode instructions.) So Linux and Java both have important roles. Most Linux distributions ship with precompiled binaries for the kernel and all the standard tools and programs typically associated with a GNU/Linux operating system. But some don't, notably Gentoo. When you install Gentoo you build it entirely from source code as you go. Of course Gentoo supports architecture s390. Novell SuSE and Red Hat are the two "standard" mainframe distributions -- the ones that software vendors officially support the most. - - - - - Timothy F. Sipples Consulting Enterprise Software Architect IBM Americas zSeries/z9 Software Phone: +1 312 529 1612 E-Mail: [EMAIL PROTECTED] ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

