Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Porting software

&pagelevel(3)&pagelevel

When porting C source programs from UNIX systems into POSIX BS2000, note must made of the different, implementation-dependent handling of externally visible names by the compiler.

The BS2000 C/C++ compiler uses the external name of the source program (e.g. function name) to create a corresponding external name for the link editor (entry name). As default, lowercase letters are converted to uppercase and the underscore character (_) is converted to a dollar sign ($) (see also “Generating the entry names with LLMs” (Options for controlling object generation )). These conversions ensure that the objects created by the compiler can be linked to other objects (e.g. objects created by BS2000 compilers in other languages or objects in object module format).

When selecting the externally visible name for C source programs, it is therefore imperative that two names not only differ in uppercase/lowercase. For example, the function names getc and getC will be mapped to the same external name GETC. Provided no names of BS2000 compilers in other languages are affected, this behavior can be prevented using the -K llm_case_lower option (see "Options for controlling object generation").