Tachyon Software
Tachyon Software products Tachyon Software Downloads Related Information
Tachyon Software User’s Guides Tachyon Software press releases Tachyon Software customer quotes
   
LIB390 - C Runtime Library for S/390

Now you can build OS/390 programs for FREE
using GCC and the Tachyon z/Assembler!

About LIB390

LIB390 is an open-source project to provide a GCC runtime library for 31-bit OS/390 and z/OS. LIB390 is made from both GLIBC sources and original modules specific to OS/390. LIB390 is licensed under the GNU Library General Public License. The LIB390 project will accept contributions from anyone wanting to extend the open-source library.

Project Goals

Tachyon Software initiated this project with the following goals:
  1. To allow the Linux for S/390 version of GCC to build C and C++ programs for OS/390 and z/OS, without the need to change GCC or the GLIBC header files.
  2. To allow GCC itself to run under OS/390 and z/OS.
  3. To allow both open-source and commercial products to be built with GCC.
The longer-term goals are to extend language support to other GNU languages, including FORTRAN and COBOL, to support 64-bit addressing mode under z/OS and to support CMS and VSE.

Project Status

C Library Functions
Well over half of the C library functions are available. The library is already usable for building programs to run under OS/390 or z/OS Unix System Services. The most critically missing parts are the “stdio” functions for non-HFS files and formatted input (scanf). Development work is concentrated in this area and rapid progress is expected. Much work is also needed in the signal handling, termination and math functions; although it is probable that most of the GLIBC math functions can be used with little or no change.

C++ Support
Support for the C++ language will require two major enhancements. First, the Tachyon z/Assembler’s GNU assembler support must be enhanced to generate useful GOFF object files for all of the special ELF constructs generated by GCC when compiling C++ programs. Second, a prelinker will be required to perform the same “magic” the GNU linker does on the special ELF constructs for C++. Once these tasks are complete, most of the GLIBC C++ library routines will probably work with little or no change.

NEW! EBCDIC Support
Using the new -fexec-charset option of GCC 3.4, it is now possible to build LIB390 and other C programs from ASCII source but with all strings and character values converted to EBCDIC. LIB390 has now been rebuilt with GCC 3.4.4 using the -fexec-charset=IBM037 option. This eliminates the need to translate input and output between ASCII and EBCDIC. Version 2.3.03 of the Tachyon z/Assembler is required to assemble the output of GCC 3.4.

Downloading and Contributing

The current LIB390 version is 0.32. You can download the LIB390 sources, object files and listings from: http://www.tachyonsoft.com/downloads/lib390.tar.gz This is a gzipped LINUX tar file with a makefile included to build everything on Linux/390. Linux/390 runs well under the Hercules emulator if you do not have access to a real S/390 or zSeries system.

To build on a Linux/x86, Windows or other system, you will need a cross-compiler version of GCC that generates Linux/390 GNU assembler. GCC can be downloaded by following the links from the GCC home page. We recommend using at least GCC version 3.0.2. The current LIB390 objects were built using GCC 3.4.4. GCC 3.4 or later is required to generate the EBCDIC version of LIB390.

You will also need to use a licensed copy of the Tachyon z/Assembler 2.3 or download the free Tachyon z/Assembler for GCC. Some of the source code is written in HLASM-style assembler. Since LIB390 requires GOFF object files, the HLASM assembler modules must be assembled using HLASM on OS/390, z/OS or z/VM, the free Tachyon Legacy Assembler for Linux or a licensed copy of the Tachyon z/Assembler. If you are only linking programs with LIB390 and have no need to rebuild LIB390 itself, you can use the free tas program included with the Tachyon z/Assembler for GCC.

Trademark acknowledgments Copyright© 2002-2006 Tachyon Software® LLC Last modified on November 27, 2006