ld Manual Abstract This publication describes how programmers can use ld (T0429) the object-file linker for position-independent code (PIC) on TNS/R systems. Product Version ld T0429 Supported Release Version Updates (RVUs) This publication supports G06.21 and all subsequent G-series RVUs until otherwise indicated by its replacement publication. Part Number Published 529650.
Document History Part Number Product Version 529650.
ld Manual Glossary Index Examples What’s New in This Manual v Manual Information v New and Changed Information About This Manual vii Audience vii Related Reading vii Notation Conventions Tables v vii 1.
1. Introduction to ld (continued) Contents 1. Introduction to ld (continued) Default Search Locations 1-19 Library Search Controls 1-19 Finding Libraries 1-20 Examples 1-21 Stripping Symbol Information 1-22 ld Compilation Rules 1-23 Case-Sensitivity 1-23 Local and Shared Symbols 1-23 Declaration and Definition 1-24 2.
2. ld Options (continued) Contents 2. ld Options (continued) -no_optional_lib or -optional_lib 2-16 -no_reexport or reexport 2-17 -nostdfiles or -no_stdfiles 2-17 -nostdlib or -no_stdlib 2-17 -noverbose or -no_verbose 2-17 -o 2-18 -rld_l 2-18 -rld_first_l 2-19 -s 2-19 -set 2-19 -show_multiple_defs 2-22 -stdin 2-23 -strip 2-23 -t 2-24 -temp_o 2-24 -u 2-24 -ul 2-25 -unres_symbols 2-25 -verbose 2-25 -warn 2-26 -y 2-26 3.
Tables Contents Example 1-7. Example 1-8. Example 1-9. Example 1-10. Example 1-11. Example 1-12. Example 1-13. Running nmcobol and Launching Windows ld 1-6 Specifying Backslashes in Windows File Paths 1-7 Creating a Program for the Guardian Environment (OSS) 1-8 Linking a Mixed-Language Program With IEEE Floating-Point Format 1-19 Searching for ZCRTLSRL and ZCRESRL (Guardian) 1-21 Searching for ZCRTLSRL and ZCRESRL (OSS) 1-21 Searching for ZCOBSRL and ZCRESRL (OSS) 1-21 Tables Table 1-1. Table 1-2.
What’s New in This Manual Manual Information ld Manual Abstract This publication describes how programmers can use ld (T0429) the object-file linker for position-independent code (PIC) on TNS/R systems. Product Version ld T0429 Supported Release Version Updates (RVUs) This publication supports G06.21 and all subsequent G-series RVUs until otherwise indicated by its replacement publication. Part Number Published 529650.001 September 2005 Document History Part Number Product Version Published 529650.
New and Changed Information What’s New in This Manual ld Manual—529650.
About This Manual The ld Manual explains how programmers can use ld, the TNS/R PIC object-file linker. Audience This publication is intended for application and system programmers who develop PIC programs on TNS/R systems.
General Syntax Notation About This Manual This requirement is described under Backup DAM Volumes and Physical Disk Drives on page 3-2. General Syntax Notation The following list summarizes the notation conventions for syntax presentation in this manual. UPPERCASE LETTERS. Uppercase letters indicate keywords and reserved words; enter these items exactly as shown. Items not enclosed in brackets are required. For example: MAXATTACH lowercase italic letters.
General Syntax Notation About This Manual braces on each side of the list, or horizontally, enclosed in a pair of braces and separated by vertical lines. For example: LISTOPENS PROCESS { $appl-mgr-name } { $process-name } ALLOWSU { ON | OFF } | Vertical Line. A vertical line separates alternatives in a horizontal list that is enclosed in brackets or braces. For example: INSPECT { OFF | ON | SAVEABEND } … Ellipsis.
Notation for Messages About This Manual !i and !o. In procedure calls, the !i notation follows an input parameter (one that passes data to the called procedure); the !o notation follows an output parameter (one that returns data to the calling program). For example: CALL CHECKRESIZESEGMENT ( segment-id , error ) ; !i !o !i,o. In procedure calls, the !i,o notation follows an input/output parameter (one that both passes data to the called procedure and returns data to the calling program).
Notation for Messages About This Manual [ ] Brackets. Brackets enclose items that are sometimes, but not always, displayed. For example: Event number = number [ Subject = first-subject-value ] A group of items enclosed in brackets is a list of all possible items that can be displayed, of which one or none might actually be displayed.
Notation for Messages About This Manual ld Manual—529650.
1 Introduction to ld ld (ld) is used in either TNS/R development environment, Guardian or the HP NonStop ™ Open System Services (OSS), to link TNS/R Position Independent Code (PIC) object files together into a loadfile. In the Guardian environment you can use either upper (ld) or lower-case (ld) commands to invoke the linker. To comply with UNIX conventions you can only use lowercase in the OSS environment. This manual generally uses lower-case versions of the linker name. .
Execution Environments Introduction to ld then places all of the loadfile’s adjustable references in tables outside the code to make them available to rld, the loader. This process, called linking, must be applied to linkfiles after they have been compiled and before they can be loaded for execution. ld allows you to link one or more PIC TNS/R native object files to produce a single PIC loadfile.
Running ld in the Guardian Environment Introduction to ld Running ld in the Guardian Environment To run ld in the Guardian environment, use this syntax: [RUN] ld [ / IN command-file name [, OUT output-listing ] / ] [ file name ] ... [ option ] ... Note. file name arguments need not be specified before option arguments. Arguments can be mixed. An item that begins with a hyphen (-) is an option; any other item is a file name. [RUN] ld is the TACL command to start the ld process.
Running ld in the OSS Environment Introduction to ld Example 1-1. Creating a Loadfile (Guardian) ld objecta objectb -o objectc Example 1-2 changes the HIGHPIN attribute in the loadfile exeobj to OFF, causing the loadfile to run at LOWPIN only. Example 1-2. Changing the HIGHPIN Attribute (Guardian) ld -change highpin off exeobj Running ld in the OSS Environment To run ld in the OSS environment, use this syntax: ld [ option ] ... file name option is an ld option (a flag and its parameters, if any).
Running Windows ld on the PC Introduction to ld Example 1-5 links object files named obj3.o and obj4.o together into a program named prog. It also associates prog with a user library with the Guardian name $a.b.c. The backslash prevents the shell from misinterpreting the dollar sign ($). Example 1-5. Creating a Program File (OSS) ld obj3.o obj4.o -o prog -libname \$a.b.c Example 1-6 uses the C object files test1.o and test2.o to build a program named prog. Because the program is a C program, the ccppmain.
Running Windows ld on the PC Introduction to ld Directory Structure of Windows ld Directory Files bin cmplr ld.exe ld.dll lib Libraries for linking Note. On the PC, you must use -l or -lib on the command line to specify the location for ld to look for DLLs and archives. You cannot use standard library locations.
Running Windows ld on the PC Introduction to ld How the ETK Command-Line and GUI Interfaces Differ Software Requirements Command-Line Interface GUI You need only install one of the Compilers That Can Launch Windows ld You must install all of these: • • • Where Instructions Are Using the Command-Line Cross Compilers on Windows on the compiler’s CD One of the Compilers That Can Launch Windows ld Microsoft Visual Studio .
Changing the Target Environment Introduction to ld Changing the Target Environment The target environment is the environment in which you intend to run the program file. By default, the Guardian version of ld builds files intended to run in the Guardian environment. The OSS version of ld builds files intended to run in the OSS environment.
Linking Programs Introduction to ld Linking Programs Note. You can link only linkfiles into a program. You cannot link loadfiles, or a combination of loadfiles and linkfiles, into a program. C Programs C programs require access to their run-time environments. To create an executable C program, you must link to the run-time environment initialization code and the DLLs your program uses. The NMC and c89 compilers automatically link to the required items.
C++ Programs Introduction to ld C++ Programs There are three versions of C++: Version Conforms to ANSI and ISO Standards for C++ Supports PIC 1 No No 2 No Yes 3 (default) Yes Yes When you compile a C++ program, you can specify its version with the command-line directive VERSION1, VERSION2, or VERSION3. The default is VERSION3. The version, known as the C++ Dialect, is stored in one of the program's internal structures.
COBOL Programs Introduction to ld To create an executable C++ program using ld: 1. Link together the object code files that you compiled. 2. Link to the C++ run-time library initialization object code file: Environment Run-Time Library Initialization Object Code File Guardian $SYSTEM.SYSTEM.CCPPMAIN OSS /usr/lib/ccppmain.o 3. Link to the run-time libraries that your program uses.
pTAL Programs Introduction to ld pTAL Programs Because pTAL does not support embedded HP NonStop SQL/MP or a languagespecific run-time library, there are no special requirements for linking pTAL programs. Mixed-Language Programs You can create mixed-language programs containing native C modules, native C++ modules, native COBOL modules, and pTAL modules. The MAIN procedure in a mixed-language program can be written in C/C++ or COBOL but not pTAL.
Linking Shared Run-Time Libraries (SRLs) Introduction to ld A program file can have at most one TNS/R native user library associated with it.
Linking Archive Files Introduction to ld You can specify archive files on the ld command line directly and with the options -l or -lib. Specifying archive files with options is usually easier to understand than specifying archive files on the command line. ld resolves references using archive files in the order they are specified, either on the command line directly or with -l or -lib options. ld searches an archive file to resolve references.
Linking Floating-Point Programs Introduction to ld Linking Floating-Point Programs When linking object files using ld, you can specify the floating-point type of the output object file using the option -set with the attribute-name FLOATTYPE. The floating-point type can be any of these: • • • TANDEM_FLOAT IEEE_FLOAT NEUTRAL_FLOAT If you do not specify the floating-point type of the output object file, ld derives it from the types of the input files.
Link-Time Consistency Checking Introduction to ld Table 1-1. Floating-Point Consistency Check by ld (floattype Not Specified) Number of Input Files With Floating-Point Type ...
Run-Time Consistency Checking Introduction to ld Note. If source code manipulates floating-point data, either the TANDEM_FLOAT or the IEEE_FLOAT machine instruction is placed into the object code, depending on the compiler directive (pragma) floattype. The ld option -set floattype cannot change the instruction set. To change the instruction set, you must recompile the source code with the correct directive (pragma).
Linking Mixed-Language Programs Introduction to ld TNS/R Native User Libraries If you are using a TNS/R native user library, the library file must use the same floatingpoint format as the program, and the library must be marked accordingly. If the user library does not use floating point at all, you can mark the library NEUTRAL_FLOAT using the -set floattype or -change floattype option. Then the user library can be used by any type of program.
Searching for Archives and Libraries Introduction to ld Example 1-10. Linking a Mixed-Language Program With IEEE Floating-Point Format ld $system.system.ccppmain cobj ptalobj -obey & $system.system.licbobey -set floattype ieee_float -o myexec Searching for Archives and Libraries Note. This subsection does not apply to the PC. On the PC, you must specify the location for ld to look for libraries and archives. You cannot use standard library locations.
Finding Libraries Introduction to ld If the -bstatic flag is specified, ld searches for an archive file. ld does not search for a library. If the archive file cannot be found, ld issues an error message. If the -bdllsonly flag is specified, ld searches only libraries. When a library cannot be found, ld issues an error message. Finding Libraries The OSS version of ld searches for libraries in this order when resolving values specified for -l or -lib on page 2-14: 1.
Examples Introduction to ld OSS File Names The OSS and Windows versions of ld can modify the simple name as follows: Linking Specified Prefix Added to Simple Name Suffix Added to Simple Name Dynamic lib .so, .srl Static lib .a In dynamic linking, ld first looks for a file named libfile name.so, then for libfile name.srl, and finally for a file named libfile name.a. In static linking, ld looks only for a file named libfile name.a.
Stripping Symbol Information Introduction to ld Stripping Symbol Information Native object files contain symbol information to be used when linking or debugging. You can control the amount of symbol information produced by a compilation using the SYMBOLS compiler directive or pragma. ld can remove some or all symbol information as it creates an output file. Option Strips symbol information used for ... From ...
ld Compilation Rules Introduction to ld ld Compilation Rules ld enforces separate compilation rules for linking native programs in C, C++, COBOL, and pTAL. Case-Sensitivity C and C++ are case-sensitive; COBOL and pTAL are not. In C and C++, the symbol names x and X refer to different symbols. In COBOL and pTAL, all symbol names are converted to uppercase letters, so x and X refer to the same symbol. Local and Shared Symbols A local symbol is known only within a single compilation unit.
Declaration and Definition Introduction to ld Declaration and Definition For data items shared across compilation units the difference between a declaration and a definition is important. Definition The compiler allocates space for the data item, possibly giving it an initial value. Declaration A compilation unit recognizes a data item, so the code can refer to it, but this compilation unit has not allocated space for it. Table 1-5.
2 ld Options An option consists of a flag and its parameters, if any. You use the ld options to specify the input object file, control the ld environment, and control the format of ld output. This section describes the syntax and semantics of ld options and provides examples of each option. Table 2-1. ld Flag Summary (page 1 of 4) Flag Description -allow_duplicate_procs Directs ld not to report an error if more than one procedure has the given name.
ld Options Table 2-1. ld Flag Summary (page 2 of 4) Flag Description -change Changes a run-time attribute to a specified value in an existing object file. -d Specifies the hexadecimal virtual address at which the data segment starts. -dll or -shared Directs ld to mark the file specified in -o as a PIC program. -dllname or -soname Directs ld the DLL name to store in the DLL being created. -e Identifies the function at which the program is to begin executing when the program is loaded.
ld Options Table 2-1. ld Flag Summary (page 3 of 4) Flag Description -no_reexport or reexport Directs ld whether to mark for reexport libraries in the command stream between this flag and the next reexport control flag in its libList entry in the loadfile being created. -nostdfiles or -no_stdfiles Specifies that C run-time library functions do not open standard input and standard output files automatically.
ld Options Table 2-1. ld Flag Summary (page 4 of 4) Flag Description -verbose Directs ld to write error, warning, and informational messages to its output listing, along with output specified by other options. -warn Directs ld to write only error and warning messages to its output listing, along with output specified by other options. -y Identifies which object files define and use a symbol. ld Manual—529650.
-allow_duplicate_procs ld Options -allow_duplicate_procs Directs ld to unconditionally accept multiple copies of procedures, rather than to accept multiple copies of procedures only if the procedures are marked as duplicatable by C++. -allow_duplicate_procs The only check made is that all copies of the procedure have the same procedure attributes However it is acceptable if they have different sizes.
-bdllsonly ld Options -bdllsonly Directs ld to limit searches to libraries when resolving the file names specified for -l or -lib. -bdllsonly If a file name is qualified, ld searches for a DLL with that name. If a file name is unqualified, in each search path, ld first searches for a DLL with the file name as specified in -l or -lib). If ld cannot find a DLL, the file name is unqualified, and the search path is not in the Guardian file system (/G), then ld prefixes lib and suffixes .
-bglobalized ld Options -bglobalized Directs ld to use this sequence as its linker searchList when resolving the file names specified for -l or -lib: 1. 2. 3. 4. The linker searchList itself Libraries on the libList Breadth-first transitive closure of libraries on the libList Implicit libraries -bglobalized A file name that is either a relative OSS path name or a Guardian file name that is not qualified is found by using search path lists (see Searching for Archives and Libraries on page 1-19).
-bsemi_globalized or -bsymbolic ld Options -bsemi_globalized or -bsymbolic Directs ld to use this sequence as its linker searchList when resolving the file names specified for -l or -lib: 1. 2. 3. 4.
-call_shared ld Options -call_shared Directs ld to mark the file specified by -o as a PIC program. This action is the default ld action. -call_shared You cannot use -call_shared with -dll or -shared. -change Changes a run-time attribute to a specified value in an existing object file. (To set an attribute when creating a loadfile, use -set.) -change attribute-name attribute-value file name attribute-name is a run-time attribute (see Table 2-2 on page 2-20).
-d ld Options -d Specifies the starting virtual address of the data segment. -d address address is a hexadecimal number (optionally prefixed by 0x), that specifies the starting virtual address at which the data segment begins. ld rounds address up to a multiple of 4096 (0x1000) bytes. When creating a program file, the default value for address is 08000000. When creating a DLL, the default value is set to the next multiple of 16384 (0x4000) bytes after the end of the text area.
-e ld Options OSS file system, DLL_name must conform to OSS path name rules. To reside in either file system, DLL_name must be an unqualified Guardian file identifier. If you specify both a DLL_name and -o, the output loadfile file name is determined by the -o specification, and DLL_name is saved in the DLL being created. -e Note.
-export_all ld Options -export_all Directs ld to mark for export in the output loadfile all symbols in the external symbol table that are not one of these: • • • • • multiext Global constructors (starting with __sti__) Global destructors (starting with __std__) Initialization functions (starting with __INIT__) Termination functions (starting with __TERM__) -export_all You can use -export_all with -export to create a subset of symbols to be exported.
-fl or -obey ld Options • an unqualified, partially qualified, or fully-qualified Guardian subvolume name -first_l can be specified more than once in a command line or a command file. See Searching for Archives and Libraries on page 1-19 for details about the effect of this flag on search order. -fl or -obey Specifies the name of a text or command file containing ld command tokens.
-l or -lib ld Options (marked as defined). The same merge might resolve other undefined symbols or result in more undefined symbols. These flags can be specified as many times as needed in the command stream. Providing either flag overrides the current setting, so that the linker actions can be controlled on a library-by-library basis. -l or -lib Specifies a library or archive file to use to resolve external references from the executable file being linked.
-libname ld Options path name. For the Windows version of ld, path name is a Windows directory path name. -L must be uppercase. The space after the flag is optional. ld searches for files specified with simple names in -l and -lib options in locations specified in each -L and -libvol option, in the order specified to ld, before searching any standard library locations. Each version of ld searches a particular set of standard library locations.
-m or -map ld Options -m or -map Directs ld to produce a memory map of the PIC program or library being created. -m[ap] The default behavior does not produce a memory map. Output is generated regardless of the verbosity setting. -no_optional_lib or -optional_lib Specifies whether a library specified in the command stream is to be considered optional when creating a loadfile.
-no_reexport or reexport ld Options -no_reexport or reexport Directs ld whether to mark libraries specified in -l or -lib for reexport in its libList entry in the loadfile being created. -no_reexport | reexport -no_reexport leaves the library unmarked. This is the default. -reexport marks the library. Reexport is a run-time attribute that is used by rld to decide what libraries it needs to load when the import control is localized.
-o ld Options -verbose causes ld to write warning and informational messages to its output listing. The default for the OSS and PC versions of ld is -no[_]verbose. The default for the Guardian version of ld is -verbose. You can specify-warn, -verbose, and -no[_]verbose as often as you want in the command line or a command file. The value used is the final value you enter.
-rld_first_l ld Options See Searching for Archives and Libraries on page 1-19 for details about the effect of this flag on search order. -rld_first_l Directs ld to set search paths in the loadfile for later use by the rld loader. -rld_first_l pathlist pathlist identifies paths to be searched before using the public library locations. pathlist contains one or more path name entries, separated by a colon (:). You cannot embed spaces (blanks) in pathlist.
-set ld Options attribute-value is the value to which the specified run-time attribute is to be set. See Table 2-2 for possible values and Table 2-3 on page 2-22 for default values. Table 2-2. Descriptions of Run-Time Attributes (page 1 of 2) attribute-name attribute-value Description FLOAT_LIB_OVERRULE ON OFF If it is ON, float-type consistency checks between the program being run and any libraries (including user libraries) are suppressed.
-set ld Options Table 2-2. Descriptions of Run-Time Attributes (page 2 of 2) attribute-name attribute-value Description LIBNAME Fully qualified Guardian file name of a library file, specified as described for -l or -lib. Associates a TNS/R native user library with a native program file. MAINSTACK_MAX Unsigned number* Sets the maximum size of the main stack.
-show_multiple_defs ld Options Table 2-3. Default Run-Time Attribute Values attribute-name Default attribute-value FLOATTYPE (for ELF files only) OFF. (FLOAT_TYPE_OVERRULE ON is ignored for library loadfiles. This attribute has meaning only for program loadfiles.) HEAP_MAX 0 (The operating system provides the default heap size.) HIGHPIN ON HIGHREQUESTER HIGHREQUESTERS HIGHREQUESTOR HIGHREQUESTORS ON INSPECT ON LIBNAME None.
-stdin ld Options -stdin Reads the contents of the standard input file at the place the flag is specified on the command line. -stdin -strip Removes symbol information used for linking and symbolic debugging from an existing loadfile. -strip file name file name is the name or (in the Guardian environment) the map DEFINE of the object file to strip. A file stripped of all symbol information cannot be symbolically debugged with Visual Inspect or linked again by ld.
-t ld Options -t Specifies the starting virtual address of the text segment. -t address address is a hexadecimal number (optionally prefixed by 0x) that specifies the starting virtual address at which the text segment starts. ld rounds address up to a multiple of 4096 (0x1000) bytes. The default is: Default address DLL 60000000 User Program 70000000 -temp_o Directs ld to save its output loadfile work with the specified file name until it has successfully rewritten the file name specified in -o.
-ul ld Options -ul Creates a DLL as a native user library. -ul Use -ul when linking files together to create a DLL as a native user library. When you specify -ul, the exported symbols are those described as exported by -export_all unless you also use -export_not. -unres_symbols Directs ld what action to take when a needed symbol cannot be resolved. -unres_symbols { error | ignore | warn } error issues an error message and stops processing. This setting is ignored when you also use -allow_missing_libs.
-warn ld Options -warn Directs ld to write only error and warning messages to its output listing, along with output specified by other options. -warn You can specify -warn, -verbose, and -noverbose or -no_verbose as often as you want in the command line or a command file. The value used is the final value you enter. -y Identifies the object files that define and use a specified symbol. -y symbol symbol is the symbol to report on. The linkfiles are listed in the order encountered.
3 ld Diagnostic Messages ld writes diagnostic messages to the standard output file. Table 3-1. Comparison of ld Diagnostic Types ld Stops ld Creates a Message Type Description Immediately Usable Object File Suppressible? ERROR ld cannot do the requested task Yes No No ERROR ld cannot do the requested task No No No Warning ld might not No Yes Yes, by -noverbose No Yes Yes, by -noverbose have done what you expected Informational message Information that might help you Table 3-2.
Fatal Errors ld Diagnostic Messages Fatal Errors Characteristics of errors: • • • Prevent ld from doing the task that it was asked to do Cause ld to stop immediately without creating an object file Cannot be suppressed Note. These error messages are formatted as they appear on Guardian and OSS platforms; that is, they begin with this string: **** ERROR **** [number] On a PC, error messages begin with this string: ld: ERROR **** [number] The text of error messages is the same on all platforms.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10006]: Unrecognized Hosttype number. Cause. Specified host type is invalid. This is an internal error. Effect. ld abends. Recovery. Contact your service provider. **** ERROR **** [10008]: Seek error on file name. Cause. Error encountered in positioning in the file, or in getting the EOF of the file. Effect. ld abends. Recovery. Contact your service provider. **** ERROR **** [10009]: Fatal read error on file name. Cause.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10012]: Error: Insufficient memory space. Cause. ld could not allocate sufficient memory space. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10013]: Don't know what to do with sc EQL number. Cause. A linkfile or a loadfile contains a symbol with an unknown storage class. Effect. ld abends. Recovery.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10019]: 'vfnRead_ELF_AR_SymTab':Can't read archive symbol table. Cause. ld encountered an error in reading the archive symbol table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU . **** ERROR **** [10020]: Can't get ELF ar strtab. Cause. ld could not allocate sufficient memory for the archive string table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU .
Fatal Errors ld Diagnostic Messages **** ERROR **** [10024]: Archive: cannot allocate hash table. Cause. ld could not allocate sufficient memory for an archive hash table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10025]: Can't have archive/object only number byte[s] long: name. Cause. Error in reading the first few bytes of the spcified archive file. Effect. ld abends. Recovery. Check specified file to determine why it cannot be read.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10034]: An open failed because the file was oversize and the owner did not specify use of 64-bit primary keys. Cause. The user specified values for the NS_max_entents and NS_entent_size are too large. Effect. The potential file size is larger than the maximum size for a loadfile on Guardian, so ld abends. Recovery. Specify values for the NS_max_entents and NS_entent_size values such that the potential file size is less than 2GB.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10040]: Ran out of memory for mext tables Cause. ld could not allocate sufficient memory for the merged external symbol table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10041]: Ran out of memory for mext tables Cause. ld could not allocate sufficient memory for the merged external symbol table. Effect. ld abends. Recovery.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10045]: Ran out of memory for INITZ table Cause. ld could not allocate sufficient memory for the initiator list. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10046]: Ran out of memory for DTORS table Cause. ld could not allocate sufficient memory for the destructor list. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10050]: Ran out of memory for mssext tables Cause. ld could not allocate sufficient memory for the merged external symbol table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10051]: Ran out of memory for fdmap tables Cause. ld could not allocate sufficient memory for the merged file table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10056]: Ran out of memory for mssfd tables Cause. ld could not allocate sufficient memory for the merged file string table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10057]: Ran out of memory for mssfd tables Cause. ld could not allocate sufficient memory for the merged file string table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10061]: Ran out of memory for mfi tables Cause. ld could not allocate sufficient memory for the merged file indirect table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10062]: Ran out of memory for mfi tables Cause. ld could not allocate sufficient memory for the merged file indirect table. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10067]: Specified -d (number)exceed the maximum allowed value (number). Cause. Value for -d command is too large. Effect. ld abends. Recovery. Correct -d command value . **** ERROR **** [10068]: Linkfile ‘%s’ has encountered an illegal table entry. Cause. The -srl command or pragma was probably specified to the compiler which caused it to generate the bad linkfile. Effect. ld abends. Recovery. Correct the compiler options.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10074]: Error: Insufficient memory space Cause. ld could not allocate sufficient memory. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10076]: Error: Symbol name already in hash table(#3) Cause. Internal error. Effect. ld abends. Recovery. Contact your local service provider. **** ERROR **** [10077]: Error: Insufficient memory space Cause. ld could not allocate sufficient memory.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10088]: Ran out of memory for Ltabnew. Cause. ld could not allocate sufficient memory for saving the user specified library path names. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10089]: Ran out of memory for 'name' Library Path storage. Cause. ld could not allocate sufficient memory for saving the user specified library path names. Effect. ld abends. Recovery.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10092]: Ran out of memory for pszFullName. Cause. ld could not allocate sufficient memory for saving a fully qualified library name. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10093]: Error: No object file linked Cause. Commnds issued but no linkfiles were specified. Effect. ld abends. Recovery. Specify at least one linkfile.
Fatal Errors ld Diagnostic Messages Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10108]: Ran out of memory for obj_file tables Cause. ld could not allocate sufficient memory for internal object file structures. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10109]: No memory space for storage of 'name' attribute Cause. ld could not allocate sufficient memory for internal parser structures.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10113]: Internal error. Unrecognized subtable. Cause. Internal error. Effect. ld abends. Recovery. Contact your local service provider **** ERROR **** [10114]: No Memory space for flag Uppercase Conversion Cause. ld could not allocate sufficient memory for internal parser structures. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10119]: Can't read archive header for : name Cause. ld could not allocate sufficient memory for processing an archive file. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10120]: Can't read archive header for : name Cause. ld could not allocate sufficient memory for processing an archive file. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU.
Fatal Errors ld Diagnostic Messages Recovery. Ensure that the linkfile was created by a NonStop compiler. **** ERROR **** [10137]: Ran out of memory Cause. This is a general memory allocation error message. Effect. ld abends. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [10165]: Can't create temporary output file name Cause. ld cannot create the specified temporary output file when creating a loadfile or stripping an existing loadfile. Effect. ld abends.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10170]: Fatal error in writing to final object file (name) Cause. ld encountered the specified error when writing to the output loadfile. Effect. ld abends. Recovery. Clear the problem indicated by the error. **** ERROR **** [10171]: Fatal error in writing to final object file (name) Cause. ld encountered the specified error when writing to the output loadfile. Effect. ld abends. Recovery. Clear the problem indicated by the error.
Fatal Errors ld Diagnostic Messages **** ERROR **** [10194]: No Dynamic Symbol Table StInfo for symbol name. Cause. ld could not find the specified symbol in the Dynamic Symbol Table or the Globalized Dynamic Symbol Table (if it exists) of the loadfile being created. Effect. ld abends. Recovery. Call your local service provider. **** ERROR **** [10195]: Cannot open file name for update when file is already open for readonly. Cause.
Nonfatal Errors ld Diagnostic Messages Nonfatal Errors Characteristics of nonfatal errors: • • • Prevent ld from doing the task that it was asked to do Do not cause ld to stop immediately, but prevent it from creating a complete object file Cannot be suppressed Note.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20012]: -change option does not support the 'name' attribute for linkable. Cause. In a linkfile, the specified attribute does not exist. Effect. ld continues but a loadfile will not be created. Recovery. Either delete the specified attribute from the command stream or ensure that the file in the -change command is a loadfile. **** ERROR **** [20013]: bad index in set_extmap() Cause. A bad index was encountered in the set_extmap function. Effect.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20017]: hash table botch in lookup_mext()s Cause. A bad index was encountered in the lookup_mext function. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20018]: enter botch 1 in enter_mext() Cause. A bad merged external symbol table index was encountered in the enter_xmext function. Effect. ld continues but a loadfile will not be created. Recovery.
Nonfatal Errors ld Diagnostic Messages Recovery. Call your local service provider. **** ERROR **** [20024]: bad pointer to mextx() Cause. A bad merged external symbol table index was encountered in the xmext function. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20025]: bad index in set_fdmap() Cause. A bad file descriptor table index was encountered in the vfnSet_FDR_Map function. Effect.
Nonfatal Errors ld Diagnostic Messages Cause. The value specified in the -NS_max_extents command is not between 16 and 900. Effect. ld continues and the -NS_max_extents is ignored. Recovery. Correct the command to specify a legal value. **** ERROR **** [20029]: bad imfd index in xmfd() Cause. A bad merged file table index was encountered in the xmfd function. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider.
Nonfatal Errors ld Diagnostic Messages Recovery. If the specified symbol is user defined, ensure that the 'import$' and 'export$' directives are used correctly for that symbol. If the symbol is compiler generated, call HP. **** ERROR **** [20035]: Previous definition for symbol name from (name) was not globalized but the new definition from (name) is globalized. Cause. ld encountered the indicated external symbol in two different linkfiles with conflicting attributes.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20042]: -preset flag not been implemented Cause. The -preset command is not implemented. Effect. ld continues but a loadfile will not be created. Recovery. Do not specify the -preset command . **** ERROR **** [20049]: No memory space for storage of ‘name’ attribute Cause. ld could not allocate sufficient memory for a EXT_ATTR structure. Effect. ld continues but a loadfile will not be created. Recovery.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20054]: The library specified as 'name' in a name was resolved to the file named 'name', and it is not a library. Cause. The file specified in the -l or -lib command is not a library. Effect. ld continues but a loadfile will not be created. Recovery. Ensure that the indicated file is a library. **** ERROR **** [20056]: Cannot mix 'Import Controls' globalized and semiglobalized (2) Cause.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20060]: Cannot mix 'Import Controls' semiglobalized and localized (2) Cause. Cannot specify -bsemiglobalized and -blocalized in the same link step. Effect. ld continues but a loadfile will not be created. Recovery. Delete one of the two conflicting Import Controls. **** ERROR **** [20061]: '-ul' and '-call_shared' flag conflict. Cause. Cannot specify -ul and -call_shared in the same link step. Effect. ld continues but a loadfile will not be created.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20065]: '-call_shared' and '-shared' conflict. Cause. Cannot specify -shared and -call_shared in the same link step. Effect. ld continues but a loadfile will not be created. Recovery. Delete one of the conflicting commands. **** ERROR **** [20067]: -non_shared flag not supported. Cause. This is an unsupported command. Effect. ld continues but a loadfile will not be created. Recovery. Delete the command or use nLD to create non-PIC loadfiles.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20071]: Specified library, name, not found Cause. ld cannot find the indicated library that was specified in a -l or -lib command. Effect. ld continues but a loadfile will not be created. Recovery. If the library is available, make sure the path is specified in a -libvol, -L or first_L command. If the library is not available, you can specify -allow_missing_libs . **** ERROR **** [20074]: Internal error. Cannot locate 'name' flag Cause.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20078]: bad obj_file index in xobj_file() Cause. A bad object file structure index was encountered in the xobj_file function. Effect. ld continues but a loadfile will not be created. Recovery. Contact your local service provider. **** ERROR **** [20079]: bad pointer to rm_obj_file() Cause. A bad object file structure pointer was encountered in the rm_obj_file function. Effect. ld continues but a loadfile will not be created. Recovery.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20083]: OBEY file 'name' cannot be opened. Cause. Cannot open indicated obey file. Effect. ld continues but a loadfile will not be created. Recovery. Ensure that the indicated obey file exists and that it is secured so that it can be read. **** ERROR **** [20084]: No memory space for file name text buffer Cause. ld could not allocate sufficient memory for the indicated obey file. Effect. ld continues but a loadfile will not be created. Recovery.
Nonfatal Errors ld Diagnostic Messages Cause. **** ERROR **** [20088]: No memory space for storage of 'name' attribute Cause. ld could not allocate sufficient memory for the indicated command attribute. Effect. ld continues but a loadfile will not be created. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [20090]: Unrecognized flag 'name'. Cause. ld encountered in the command stream the indicated command followed by an invalid command attribute. Effect.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20096]: Unrecognized attribute value 'name' for option 'name name'. Cause. ld encountered an invalid attribute value for the -set or -change command. Effect. ld continues but a loadfile will not be created. Recovery. Correct the invalid attribute value. **** ERROR **** [20097]: Nonzero unsigned number expected for flag 'name name'. Cause. ld encountered an invalid value for the indicated command. Effect.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20109]: bad csym in file table entry Cause. ld encountered a bad local symbol table count in writing out the MDEBUG section. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20110]: bad ipdFirst in file table entry Cause. ld encountered a bad procedure table index in writing out the MDEBUG section. Effect. ld continues but a loadfile will not be created. Recovery.
Nonfatal Errors ld Diagnostic Messages Recovery. Call your local service provider. **** ERROR **** [20114]: bad cbLineOffset in file table entry Cause. ld encountered a bad line number table index in writing out the MDEBUG section. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20115]: bad cbLine in file table entry Cause. ld encountered a bad line number table index in writing out the MDEBUG section. Effect.
Nonfatal Errors ld Diagnostic Messages Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20119]: bad caux in file table entry Cause. ld encountered a bad auxiliary table index in writing out the MDEBUG section. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20120]: bad issBase in file table entry Cause.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20123]: relocation entry for non-relocatable symbolin name section for entry number Cause. Indicated relocation entry has a bad symbol table index. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20124]: missing REFLO relocation entry Cause. Missing relocation entry in linkfile. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20131]: bad LITERAL (number) relocation entry (r_symndx) Cause. PIC linkfiles should not generate LITERAL relocation entries. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20132]: bad relocation entry (r_type) Cause. ld encountered an unexpected relocation type. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider.
Nonfatal Errors ld Diagnostic Messages Recovery. Call your local service provider. **** ERROR **** [20156]: bad isym in proc table entry Cause. ld encountered a external symbol table index in writing out the MDEBUG section. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider **** ERROR **** [20175]: LLSL: Loadfile has number undefined symbol(s) when library set name is used. Cause.
Nonfatal Errors ld Diagnostic Messages Cause. **** ERROR **** [20179]: Duplicate -dllname options specified with name and name values. Cause. ld encountered the -dllname command a second time with a conflicting value. Both values are displayed in this message. Effect. ld continues but a loadfile will not be created. Recovery. Delete the incorrect -dllname command. **** ERROR **** [20180]: Duplicate -o options specified with name and name values. Cause.
Nonfatal Errors ld Diagnostic Messages Effect. ld continues but a loadfile will not be created. Recovery. Delete one of the two conflicting Import Controls. **** ERROR **** [20186]: Overflow detected in the attribute for option 'name name'. Cause. ld encountered an oversize value for the indicated command. Effect. ld continues but a loadfile will not be created. Recovery. Correct the invalid value. **** ERROR **** [20187]: Underflow detected in the attribute for option 'name name'. Cause.
Nonfatal Errors ld Diagnostic Messages Cause. ld, in processing a -change command, could not read the program headers of the indicated file. Effect. ld continues but a loadfile will not be created. Recovery. Check the file to ensure that it is a valid PIC loadfile. If so, call HP. **** ERROR **** [20194]: I/O Error: Failed to load Tandem Info section from file name. Cause. ld, in processing a -change command, could not read the Tandem Info section of the indicated file. Effect.
Nonfatal Errors ld Diagnostic Messages **** ERROR **** [20200]: Unused multiply defined symbol name. Cause. The indicated symbol is defined in more than one linkfile and is unused in at least one of them. Effect. ld continues but a loadfile will not be created. Recovery. Either eliminate the duplicate symbol, or specify the command -allow_duplicate_procs. **** ERROR **** [20201]: Symbol name is not in either .dynsym section or .dynsym.gblzd section Cause.
Nonfatal Errors ld Diagnostic Messages Cause. The indicated symbol was specified in an -Export_not command and it’s dynamic symbol table entry is not correct. Effect. ld continues but a loadfile will not be created. Recovery. Call your local service provider. **** ERROR **** [20206]: Symbol name, specified in -export_not is undefined. Cause. ld encountered the indicated symbol in an -export and -export_not command. Effect. ld continues but a loadfile will not be created. Recovery.
Nonfatal Errors ld Diagnostic Messages Effect. ld continues but a loadfile will not be created. Recovery. Ensure that the file specified in the -strip command can be updated. **** ERROR **** [20211]: Attempt to apply a -strip to file name which is not an executable or a DLL, -strip aborted. Cause. ld cannot strip the indicated file because it isn't a PIC loadfile (program or DLL). Effect. ld continues but a loadfile will not be created. Recovery.
Warnings ld Diagnostic Messages **** ERROR **** [20217]: Cannot MU_pchfnMalloc number bytes for localdata hash! Giving up. Cause. ld could not allocate sufficient memory for the localdata hash table. Effect. ld continues but a loadfile will not be created. Recovery. Ensure that there is sufficient heap space available in the CPU. **** ERROR **** [20218]: Cannot close file name. File system reports errno - number. Cause.
Warnings ld Diagnostic Messages **** WARNING **** [30001]: All input object files have FLOATTYPE attribute IEEE_FLOAT but the FLOATTYPE flag in library 'name' Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30002]: All input object files have FLOATTYPE attribute TANDEM_FLOAT but the FLOATTYPE flag in library 'name' specifies 'name'. Cause. n/a Effect. ld continues processing. Recovery.
Warnings ld Diagnostic Messages Recovery. Delete the unsupported attribute in the -set/-change command. **** WARNING **** [30006]: ld was unable to determine the name of the coLD loadsubvolume SYSTEM.SYS via the NODE_GETCOLDLOADINFO_system call. ld is continuing, but ld will not be able to search through the coLD load subvolume for the standard archives or DLLs. Cause. See message. Effect. ld continues processing. Recovery. Call HP.
Warnings ld Diagnostic Messages Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30011]: Valid section number, but length is zero(0). Cause. ld encountered an empty data-type section while writing out the data sections to the output file. Effect. ld continues processing. Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning.
Warnings ld Diagnostic Messages Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30025]: Symbol storage class scCommon name. Cause. ld encountered the indicated symbol (whose storage class is scCommon) with a storage type which is not stGlobal or stStatic. Effect. ld continues processing. Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning.
Warnings ld Diagnostic Messages **** WARNING **** [30029]: Symbol storage class scText name. Cause. ld encountered the indicated symbol (whose storage class is scText) with a storage type which is not stProc or stStaticProc. Effect. ld continues processing. Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30030]: text segment of name overlaps with text segment of name. Cause. n/a Effect. ld continues processing. Recovery.
Warnings ld Diagnostic Messages **** WARNING **** [30034]: text segment of name overlaps with bss segment of name. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30035]: text segment of name overlaps with bss segment of name. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30036]: data segment of name overlaps with text segment of name. Cause. n/a Effect. ld continues processing. Recovery.
Warnings ld Diagnostic Messages **** WARNING **** [30039]: data segment of name overlaps with data segment of name. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30040]: data segment of name overlaps with bss segment of name. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30041]: data segment of name overlaps with bss segment of name. Cause. n/a Effect. ld continues processing. Recovery.
Warnings ld Diagnostic Messages **** WARNING **** [30044]: bss segment of name overlaps with data segment of name. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30045]: bss segment of name overlaps with data segment of name. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30046]: bss segment of name overlaps with bss segment of name. Cause. n/a Effect. ld continues processing. Recovery.
Warnings ld Diagnostic Messages **** WARNING **** [30054]: name The library specified as 'name' in a name was resolved to the name named 'name' andwas previously specified. Cause. The indicated {archive, library} which was resolved to the specified fully qualified name was specified more than once in the {-l or -lib command, liblist}. Effect. ld continues processing. Recovery. Eliminate the duplicate library/archive reference. **** WARNING **** [30057]: SEG64_SIZE GTR 0xFFFF, Reduced to 0xFFFF. Cause.
Warnings ld Diagnostic Messages **** WARNING **** [30070]: '-no_reexport' flag was previously specified. Possibly missing a '-reexport' flag. Cause. ld encountered a -no_reexport command when reexport toggle was false. ld starts up with reexport false so if -no_reexport is specified before any -reexport command, this message will result. Effect. ld continues processing. Recovery. The -no_reexport and -reexport commands control the setting of the reexport toggle (can be set true or false).
Warnings ld Diagnostic Messages **** WARNING **** [30075]: Floattype previously set. Cause. ld encountered more than one -set floattype command. Effect. ld continues using the last floattype specification encountered. Recovery. Eliminate the extra -set floattype commands. **** WARNING **** [30078]: name: Object file does not contain a 'text' section. [2] Cause. ld encountered a linkfile that had no text (no executable instructions). This can happen if headers that only have declarations is compiled.
Warnings ld Diagnostic Messages Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30083]: DATA Section Header to PROGHDR Memsize mismatch DATA Section Header Size = PROGHDR Memsize = Cause. ld internal variables have conflicting values while writing out the data section. Effect. ld continues processing. Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning.
Warnings ld Diagnostic Messages Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30089]: jump relocation out-of-range, bad object file produced, can't jump from 0x to 0x (symbol ) (call to\"\" resolved to a name in a different 256 megabyte memory area: the -y option(example: -y name ) will show the reference and definition locations). Cause. Probably a bad linkfile produced this situation. Effect. ld continues processing. Recovery.
Warnings ld Diagnostic Messages Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30093]: gp relocation out-of-range in name section for relocation entry number for symbol %. Cause. - continuation of msg 30092 Effect. ld continues processing. Recovery. - continuation of msg 30092 - **** WARNING **** [30094]: above gp relocation entry for non .sdata or .sbss symbol. Cause. - continuation of msg 30092 Effect. ld continues processing.
Warnings ld Diagnostic Messages Effect. ld continues processing. Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning. **** WARNING **** [30102]: gp relocation out-of-range errors have occured and bad object file produced (corrective action must be taken). Cause. ld cannot correctly perform the gp relocation. Effect. ld continues processing. Recovery. Call HP. Although a loadfile can have been created, ld should not be issuing this warning.
Warnings ld Diagnostic Messages **** WARNING **** [30111]: Duplicate -d flags specified. Cause. ld encountered the -d command a second time with the same value. Effect. ld continues processing. Recovery. Delete the redundant -d command. **** WARNING **** [30112]: Duplicate -dllname specified. Cause. ld encountered the -dllname command a second time with the same value. Effect. ld continues processing. Recovery. Delete the redundant -dllname command. **** WARNING **** [30113]: Duplicate -o specified.
Warnings ld Diagnostic Messages **** WARNING **** [30117]: -ansistreams option is only supported for PIC executable. Cause. n/a Effect. ld continues processing. Recovery. n/a **** WARNING **** [30118]: ld failed to access library - name. -l (-lib) option which specify this library will be ignored. Cause. The indicated library cannot be found and it is not added to the LibList Effect. ld continues processing. Recovery. Determine why library wasn't found.
Warnings ld Diagnostic Messages **** WARNING **** [30122]: Symbol : a large common placed in gp area because of a small undefined reference(possible gp relocation errors can result). Cause. ld encountered the indicated symbol with the unexpected (small undefined) storage class. Effect. ld continues but subsequent errors can result. Recovery. Check the file to ensure that it is a valid PIC loadfile. If so, call HP.
Warnings ld Diagnostic Messages **** WARNING **** [30126]: Globalized symbol target of -export option. The symbol is exported by default so there is no change to it as a result of the -export option. Cause. The indicated symbol was specified in an -export command. Because the symbol is a globalized symbol the compiler effectively marked it for export. Effect. ld continues processing. Recovery. Delete the unneeded -export command.
Informational Messages ld Diagnostic Messages **** WARNING **** [30130]: Load file HighPin setting of name is incompatible with library name HighPin setting of name. Cause. Indicated library has a HighPin setting different than that of the loadfile being built. Effect. ld continues processing. Recovery. Determine why the HighPin settings are in conflict and correct the situation. **** WARNING **** [30131]: Specified non-hybrid library 'name' is found but it will be added to the liblist. Cause.
Informational Messages ld Diagnostic Messages • • • • Provide information that might help you Allow ld to complete normally Are issued if the flag -verbose is specified Are suppressed if the flag -noverbose is specified (but if any warnings were suppressed, a message tells you so) Note.
Informational Messages ld Diagnostic Messages **** INFORMATIONAL MESSAGE **** [40009]: Symbol name: both a common and text symbol. **** INFORMATIONAL MESSAGE **** [40010]: Symbol name: both a common and text symbol. **** INFORMATIONAL MESSAGE **** [40030]: This module contains branch instruction(s) that might cause execution error on a R4000. **** INFORMATIONAL MESSAGE **** [40031]: reloc index number disabled. **** INFORMATIONAL MESSAGE **** [40032]: ##Update 'Linker searchList' with name lib 'name'.
Informational Messages ld Diagnostic Messages **** INFORMATIONAL MESSAGE **** [40038]: **Symbol name 'name' was found in library 'name'. **** INFORMATIONAL MESSAGE **** [40039]: **Symbol is defined number times in the DLL set. **** INFORMATIONAL MESSAGE **** [40040]: **System Library defined symbol 'name'. **** INFORMATIONAL MESSAGE **** [40042]: Using 'unresolved' function 'name' found in System Library (at address '') used for symbol 'name'.
Informational Messages ld Diagnostic Messages **** INFORMATIONAL MESSAGE **** [40050]: name The library specified as 'name' in a name was resolved to the name named 'name' name. **** INFORMATIONAL MESSAGE **** [40051]: Creating initial Registry file 'name'. **** INFORMATIONAL MESSAGE **** [40052]: '-export_all' specified. **** INFORMATIONAL MESSAGE **** [40054]: Specified library 'name' not found but will be added to the liblist since -allow_missing_libs was specified.
Informational Messages ld Diagnostic Messages **** INFORMATIONAL MESSAGE **** [40061]: // replaced with warning 30131. **** INFORMATIONAL MESSAGE **** [40062]: No Dynamic Symbol Table Entry for symbol. **** INFORMATIONAL MESSAGE **** [40063]: Creating a DLL and -dllname was not specified; using 'name'as -dllname value. **** INFORMATIONAL MESSAGE **** [40064]: Creating a DLL and -o was not specified; using 'name' as -o value.
Informational Messages ld Diagnostic Messages **** INFORMATIONAL MESSAGE **** [50005]: name Symbol name multiply defined: name from file 'name'; name from file 'name'. **** INFORMATIONAL MESSAGE **** [50006]: The '-yflag' symbol named name is defined in the input object file named name. **** INFORMATIONAL MESSAGE **** [60001]: **Symbol name is not defined name. **** INFORMATIONAL MESSAGE **** [60002]: Couldwould could not find 'unresolved' function in System Library. ld Manual—529650.
Glossary absolute path name. A path name that begins with a slash (/) character and is resolved beginning with the root directory. Compare to relative path name. ANSI. American National Standards Institute, ar utility. A utility that creates and maintains archives of files for use by nld. archive file. A file that contains a collection of object files. The ar utility creates archive files. binding.
file name Glossary file name. In the OSS environment, a component of a path name containing any valid characters other than a slash (/) or a null. In the Guardian environment, a file name is the set of node name, volume name, subvolume name, and file identifier characters that uniquely identifies a file. In a command stream, either a token that is not part of an option, such as an input file for nld to read, or a parameter for an option, as in -o file name. flag.
map DEFINE Glossary map DEFINE. A map DEFINE redirects or substitutes files in the Guardian environment. You can enter the logical name of a map DEFINE in place of a physical file name in contexts that allow it. native-compiled RISC instructions. See RISC instructions. native C compiler. See TNS/R native C compiler. native mode. See TNS/R native mode. native object code. See TNS/R native object code. native object file. See TNS/R native object file. native object file tool. See noft utility.
option Glossary option. Either a flag and its parameters or a flag that has no parameters; for example: • • • • -o file name -rename oldname newname -set SYSTYPE OSS -verbose OSS. See Open System Services (OSS). OSS environment. The OSS application programming interface, tools, and utilities. PIC (position-independent code). Executable code that need not be modified to run at different virtual addresses.
RISC instructions Glossary RISC instructions. Register-oriented 32-bit machine instructions that are directly executed on TNS/R processors. RISC instructions execute only on TNS/R systems, not on TNS systems. Accelerator-generated RISC instructions are produced by accelerating TNS object code. Native-compiled RISC instructions are produced by compiling source code with a TNS/R native compiler. RISC word. An instruction-set-defined unit of memory.
TNS/R native object code. Glossary TNS/R native object code. The RISC instructions that result from processing program source code with a TNS/R native compiler. TNS/R native object code is optimized to fully exploit the performance of the RISC architecture. TNS/R native object code executes only on TNS/R systems, not on TNS systems. TNS/R native object file.
Index A Guardian 1-3 OSS 1-4 in native languages 1-23 change flag (ld) 2-9 COBOL programs ld compilation rules for 1-23/1-24 linking 1-11 NonStop SQL/MP in 1-12 Windows ld and 1-6 Command files ld 2-13 C++ programs dialects or versions of 1-10 ld compilation rules for 1-23/1-24 linking 1-10/1-11 Windows ld and 1-6 allow_duplicate_procs flag (ld) 2-5 allow_missing_libs flag (ld) 2-5 allow_multiple_mains flag (ld) 2-5 ansistreams flag (ld) 2-5 Archive files bdynamic flag and 2-6 bstatic flag and 2-8 creatin
F Index export flag (ld) 2-11 Exporting symbols 2-11 export_all flag (ld) 2-12 export_not flag (ld) 2-12 F File code 700 1-1 File naming conventions 1-20 Filenames, simple, searching for 1-20 Finding libraries 1-20/1-21 first_l flag (ld) 2-12 fl or obey flag (ld) 2-13 Floating-point programs, linking 1-15/1-19 Floating-point type checking consistency of at link time 1-15/1-17 at run time 1-17/1-18 mixed-language programs and 1-18/1-19 specifying 1-15 FLOATTYPE attribute default value of 2-22 description
M Index writing messages of 2-25 lib or l flag (ld) 2-14 LIBCOBEY file C programs and 1-9 C++ programs and 1-11 libc.
P Index P PFS attribute default value of 2-22 description of 2-21 PFS_SIZE attribute default value of 2-22 description of 2-21 PIN, setting 2-20 Position-independent code (PIC) in general 1-1 Process file segment, specifying 2-21 Process subtype, specifying 2-21 Process, named 2-21 PROCESS_SUBTYPE attribute default value of 2-22 description of 2-21 pTAL programs ld compilation rules for 1-23/1-24 linking 1-12 Windows ld and 1-6 R reexport flag (ld) 2-17 rld_first_l flag (ld) 2-19 rld_l flag (ld) 2-18 RLD
T Index T t flag (ld) 2-24 TANDEM_FLOAT attribute value 2-20 temp_o flag (ld) 2-24 TNS/R native object files overview of 1-1 U u flag (ld) 2-24 ul flag (ld) 2-25 unres_symbols flag (ld) 2-25 User libraries associating with loadfiles 2-15 associating with program files 2-21 creating 2-25 V verbose flag (ld) 2-25 Versions of C++ 1-10 Visual Studio .NET 1-2 W warn flag (ld) 2-26 Windows ld 1-5 Y y flag (ld) 2-26 ld Manual—529650.
Y Index ld Manual—529650.