Correcting errors in linking

When you use the PGMNAME(UPPER) compiler option, the names of subprograms referenced in CALL statements are translated to uppercase. This change affects the linker, which recognizes case-sensitive names.

About this task

For example, the compiler translates Call "RexxStart" to Call "REXXSTART". If the real name of the called program is RexxStart, the linker will not find the program, and will produce an error message that indicates that REXXSTART is an unresolved external reference.

This type of error typically occurs when you call API routines that are supplied by another software product. If the API routines have mixed-case names, you must take both of the following actions:

  • Use the PGMNAME(MIXED) compiler option.
  • Ensure that CALL statements specify the correct mix of uppercase and lowercase in the names of the API routines.