Home |
RTTarget-32 Programming Manual Running Win32 Programs without Win32 Running a Program on the Target Compiling and Linking with On Time RTOS-32 Redistributable Components of RTTarget-32 RTLoc Error Messages |
RTLoc Error MessagesRTLoc can issue information, warning, error, and fatal error messages. Information messages usually don't indicate a serious problem. Warnings can (and frequently do) indicate a problem. The cause of the message should be investigated to determine whether the message can safely be ignored. Error and fatal error messages indicate that the application cannot be located. RTLoc will not produce an .RTB, .HEX, or .BIN file if any errors are encountered. Fatal errors will immediately abort RTLoc. All messages are written to stdout and to the .LOC file. This behavior can be modified by command line options (see section RTLoc: Locating a Program, RTLoc Options for details). The following sections contain all messages in alphabetical order. Message portions in italic typeface are replaced by more specific information. For example, in the message Region RegionName not found RTLoc will replace RegionName with the actual name of the region that could not be found. #include files and/or macros nested too deeply RTLoc's preprocessor has run out of resources. Possibly, macros and/or include files invoke each other recursively. A license violation has occurred on computer ComputerName, user UserName The same license key has been in use by more than one computer, which is not supported. Please contact On Time to extend your license for more users. All NT sections must reside in same region, section: SectionName RTLoc has encountered Locate NTSection commands specifying different regions. All NTSections of a specific EXE or DLL must be located in a single region. If you must locate sections in different regions, use the Locate Section command instead. If you prefer to use Locate NTSection, but the application must be ROMable, use the Locate Copy command to move the sections to ROM or use a virtual region. All parameters after region name ignored A Locate NTSection * command was used with optional parameters following the region name. RTLoc only supports the default values in this case. Application header should have ReadOnly access The application header has a higher access value than ReadOnly. Therefore, the application could accidentally overwrite it causing unpredictable results. Application uses DLLs, but RTTarget32SystemInit is not exported The application consists of several modules, but RTLoc did not find the function responsible for initializing those DLLs. Function RTTarget32SystemInit is contained in Rtt32.lib and declared as "export", but some linkers ignore this attribute for functions linked into .EXE files. In this case, some other means of exporting has to be used. For example, with Microsoft Visual C++, the function can be exported with linker option /export:RTTarget32SystemInit. Baudrate should be zero for LPT ports The COMPort command was used to specify a parallel port and a baudrate other than zero was specified. Remove the baudrate specification. Boot code and boot code copy must be paragraph (16-byte) aligned The boot code's alignment is set to a value below 16, which is not supported. Boot code and boot vector must reside within the same 64k segment Control is transferred from the boot vector to the boot code using a near jump, which limits the range to 64k. Boot code contains fixups, file name: FileName The .EXE file containing the boot code requires fixups; this is not supported by RTLoc. Change the source of the boot code to eliminate all memory references requiring fixups. Boot code incompatible with this version The Locate BootCode commands references a boot code file which is not the same version as RTLoc. Only boot codes shiped with the same version as RTLoc can be loaded. Boot code located twice RTLoc has encountered two Locate BootCode commands. Only one may be specified. Boot code must be paragraph (16-byte) aligned The boot code alignment is set to a value below 16, which is not supported. Boot code must be placed immediately after boot vector RTLoc has found that both the BIOS boot vector and the boot code are located in the same region, but are not adjacent to the boot vector located first. Place the boot vector and the boot code in separate regions or rearrange them to make them adjacent. Boot code must have at least SysRead access The boot code has access value NoAccess, making its execution impossible. Boot code should have SysRead access The boot code has a higher access value than SysRead. Consequently, the boot code is not protected and could be corrupted at run time. Boot data located twice RTLoc has encountered two Locate BootData commands. Exactly one must be specified if a Locate BootCode command is used. Boot data must be located in first megabyte The boot data was mapped to memory inaccessible in real mode. Locate it to a region below 1M. Boot data must be paragraph (16-byte) aligned The boot data alignment is set to a value below 16, which is not supported. Boot data must have at least System access The boot data has access value NoAccess or SysRead, making it inaccessible for the boot code. Boot data should have System access The boot data has a higher access value than System. Consequently, the boot data is not protected and could be corrupted at run time. Boot data too small, needs at least Size bytes The boot data size specified in a Locate BootData command is less than the size required by the boot code. Do not specify a size and let RTLoc determine the correct value. Boot vector not located at CPU boot location A Locate BootVector command was used and the boot vector is not located at address FFFF0h or FFFFFFF0h. However, all Intel 80x86 compatible CPUs boot from this location. The boot process will fail if the vector is not located at the correct address. Ignore this warning only if your hardware maps the CPU's address to the actual physical address. Boot vector section should have SysRead access A Locate BootVector or Locate BIOSVector command has specified a different access value for the boot vector. The application can boot, but the boot vector is not protected against corruption. Boot Vector too small, size specification ignored A Locate BootVector or Locate BIOSVector command has specified an invalid size. The size should be at least 16 bytes. Cannot copy SectionName A Locate Copy command was applied to an entity which cannot be copied. Locate Copy supports only entities Section, NTSection, File, PageTable, Header, and BootCode. Cannot link ModuleName.FunctionName in ModuleName: no import table RTLoc was unable to resolve a static DLL reference because the .idata section was not mapped. Add command Locate NTSection .idata. Cannot mix 'Locate Section' with 'Locate NTSection' Both Locate Section and Locate NTSection commands were encountered for the same EXE or DLL. You must decide which locate method you wish to use. Compress buffer overflow; cannot compress SectionName The compression of data has failed, causing random memory locations to be corrupted. The given section cannot be compressed. Use option -c- to suppress compression for this particular section. Compressed section SectionName precedes decompression code The application header contains a list of program entities. This list is processed by the boot code to initialize the application. During this process, all copied sections are copied and/or decompressed. Before the decompression code is used for decompression, it must be at its final address. Thus, it must precede any compressed entries in the list. To fix this problem, move the Locate DecompCode and its Locate Copy to a location preceding any other Locate Copy commands in the configuration file. Configuration file FileName not found: ErrorMessage A configuration file references another configuration file which could not be opened. RTLoc will search for configuration files in the default directory first and subsequently in the directory RTLoc was loaded from. Copied sections should have NoAccess access A Locate Copy command has specified a different access value for the copied section. The application can run, but the section is not protected optimally. Copy of section SectionName larger than required, reduce from Size to Size to save memory RTLoc has found that the size of a copied section could be reduced. To save memory, specify the recommended size for the given Locate Copy command. Data in reserved application corrupted RTLoc's verification of the data contained in a program image file specified in a Reserve command has failed. The file is corrupted and must be recreated using RTLoc. Decompress code/data located twice RTLoc has encountered more than one Locate DecompCode, Locate DecompData or Locate DiskBuffer command. Decompress code/data should have NoAccess access A Locate DecompCode or Locate DecompData command has specified a different access value for the section. The application can run, but the section is not protected optimally. Decompression code/data located, but not required Memory has been allocated for data decompression, but no sections are compressed. Either make copies of sections which can be compressed or remove the decompression code and/or data. Disk buffer located twice The boot code requires only one disk buffer. Disk buffer must be sector (512 byte) aligned This requirement is imposed by the disk loader and the BIOS. Disk buffer outside real mode address space The disk buffer must be accessible to the BIOS and must therefore be located below 1M. Disk buffer should have NoAccess access A Locate DiskBuffer command has specified a different access value for the section. The application can run, but the section is not protected optimally. DLL dependency in ProgramModule: ModuleName.FunctionName RTLoc encountered a DLL import, but was unable to resolve the reference against a DLL export. You must supply the missing function in your program (see section The RTTarget-32 API, Adding other Win32 Functions for details). Alternatively, you can use RTLoc's Link command to reroute the call to a different, existing function to be used as a replacement. ENDM without matching MACRO RTLoc encountered and ENDM directive but no matching MACRO directive. Entities located in virtual regions must be page aligned, entity: Name The given entity is located to a virtual region with an alignment value of less than 4096, which is not supported. Error directive: Message RTLoc has processed an #error command in a configuration file. Error opening file FileName, errno: ErrorMessage RTLoc was unable to open the specified file for the given reason. Expression syntax error The expression in an #if expression could not be parsed. Failed to decompress section SectionName RTLoc's verification of compressed data has failed: the decompressed data is not identical with the original data. Option -c- must be used to suppress compression for the given section. File data should have at least ReadOnly access The access value specified in a Locate File command is too low to allow the application to read the data. File data size for file FileName too small; file truncated The size given in a Locate File command is less than the actual file size. RTLoc disregards the rest of the file. If this is not desired, remove the size specification and let RTLoc assign the actual file size automatically. FillRAM region must end on page boundary The region specified in the FillRAM command does not end on a page (4k) boundary. Therefore, no pages can be added to the region without leaving a gap. Change the region specification accordingly. FillRAM region not found, region: RegionName The region specified in a FillRAM command was not found. Define RegionName using a Region command before the FillRAM command. FillRAM specified twice RTLoc encountered two FillRAM commands. Only one such command is supported. Fixup target beyond section, target address: Address A fixup referenced an address immediately following a section. Such a fixup is only valid if it was generated by a reference to a symbol which does not point to a storage location, but rather the first available address after a segment. In all other cases, use Locate NTSection instead of Locate Section to locate the program. Forward DLL reference from ModuleName1 to ModuleName2, put command 'DLL ModuleName2' before 'DLL ModuleName1' This warning indicates that the 2 referenced DLLs might be initialized in an incorrect order. ModuleName1 uses ModuleName2, but ModuleName2 is initialized after ModuleName1. This problem can be fixed by changing the order of DLL commands. Function _RTTarget32SystemInit not found, must be exported Function _RTTarget32SystemInit is required by all applications using DLLs to ensure proper DLL initialization. The module containing Rtt32.lib must export this function. Header located twice RTLoc encountered two Locate Header commands. Only one such command is supported. Heap located twice RTLoc encountered two Locate Heap commands. Only one such command is supported. Heap should have at least 64k, size: Size The application's heap is rather small. Many Win32 programs that use the run-time system will require at least 64k of heap space. However, if you know that your program can run with a smaller heap, this warning can be ignored. hex/bin file FileName overlaps hex/bin file FileName Two HexFile or BinFile commands specify overlapping address ranges. Please check the parameters of all HexFile and BinFile commands. Import by ordinal ModuleName.Ordinal, ignored RTLoc has encountered an import by ordinal, which is not supported. Use Import by name instead. The warning can be ignored if the imported function is never called. Init function FunctionName not found, must be exported The name given in an Init command does not reference a function exported by the .EXE or a .DLL file. Please check the spelling of the function name. Use RTLoc's option -Rd to get a detailed list of all exported and imported function names. Name comparison is case sensitive. InitCode exe file contains fixups, file name: FileName Exe files used with InitCode must use the tiny memory model and may not contain fixups. InitCode exe file FileName entrypoint must be 0:0, but is seg:Ofs Exe files used with InitCode must have an entry point at the start of the file. InitCodeDump: no data to dump An InitCodeDump directive was encountered, but no InitCode or OUT commands generating InitCode data precede it. InitCodeOrg not allowed outside code section; call InitCode first The InitCodeOrg statement makes no sense in the context it was encountered. InitTable overflow The data generated by InitCode and OUT commands is limited to about 60k bytes. Internal: Message RTLoc encountered an internal error. Please contact On Time's technical support for assistance. Invalid boot code exe file, file name: FileName The file name given in a Locate BootCode command does not reference a valid MS-DOS .EXE file or the file is corrupted. Invalid boot code signature in file FileName RTLoc did not find the expected boot code signature in the boot code file. Please make sure the file contains boot code with a valid header. Invalid InitCode exe file, file name: FileName The file name given in an InitCode command does not reference a valid MS-DOS .EXE file or the file is corrupted. Invalid or no license key. Please reinstall On Time RTOS-32 RTLoc found a license key which is corrupted or belongs to an out-dated version of On Time RTOS-32. Rerun the install program. Invalid PE file: FileName RTLoc did not find the expected signature in the application PE file (.EXE or .DLL). Either the file was not linked as a Win32 console mode program or the file is corrupted. Invalid video mode: Mode A parameter specified in a GMode command was not in the range 0..7Fh or 100h..17Fh. Locate NTSection * not supported for virtual regions The use of a wildcard name (*) in a Locate NTSection command is only supported for physical regions. Location of fixup not found at: Address RTLoc was unable to locate a fixup in the program image and ignores the fixup. The cause is probably that the fixup is located in a section not included in the program image. For example, if the program contains a DLL dependency, it will also contain an import table which is possibly not mapped (the import section is usually named .idata). Location of Item not found, address: address RTLoc attempted to apply a fixup to Item, but Item was not found to be part of the image. Verify that all sections required by the program are actually included with Locate Section or Locate NTSection commands. Address is the address in the PE file's virtual address space. Macro cannot have keyword name: Keyword You are trying to declare a macro with the name of a configuration file reserved word, which is not supported. Memory access for section SectionName into region RegionName not possible. It was attempted to locate the given entity into a region that doesn't support the required access. For example, locating a data section requiring read/write access into a ROM Region is not possible. Misplaced #else The preprocessor was unable to resynchronize. Missing ENDM for macro MacroName MACRO and ENDM directives do not match. Missing license key. Please reinstall On Time RTOS-32 RTLoc did not find the required license key in the Windows registry. Rerun the install program. Missing or misplaced #endif #if and #endif directives do not match. Missing parameter The command encountered in a configuration file does not specify all required parameters. ModuleName.FunctionName expected in Link command The first parameter of a Link command did not have the required syntax. More than one EXE/DLL contain a TLS data segment. Only the first is loaded On Time RTOS-32 supports only one TLS data segment, but several have been found. More than one instance of Rtt32.lib linked RTLoc has found functions of library Rtt32.lib in more than one EXE/DLL. Only one module may contain Rtt32.lib. No application header located The configuration file(s) did not contain a Locate Header command, which is required. No boot code, application cannot be booted RTLoc did not find any boot code which could start the application. Add a Locate BootCode command or a Reserve command for an application that contains boot code. No boot code, application cannot be started RTLoc has detected that you have not included any boot code and no Reserve command for an application with boot code. This warning message can be ignored only if some other means is employed to invoke the application. No boot code, boot code configuration command(s) ignored A BOOTFLAGS, CodeSeg, DataSeg, CPL, NoFPU, COMPort, VideoRAM, or GMode command was encountered in the configuration file, but there was no Locate BootCode command. Boot code configuration commands only have an effect in applications that include boot code. If boot code is indirectly imported through a Reserve command, this warning is only issued if the requested parameter differs from the value found in the imported boot code. No boot data section for boot code A Locate BootCode command was encountered, but no Locate BootData. Add a Locate BootData command. No boot vector or disk buffer specified, application cannot boot RTLoc has not found any means of transferring control to the boot code. Add the required Locate BootVector, Locate BIOSVector, or Locate DiskBuffer command. This warning message can be ignored only if some other means is employed to invoke the boot code (e.g. Rttboot). No Decompression code/data located Data compression has been requested, but no decompression code or data has been mapped to enable RTTarget-32 to decompress the data on the target. Add appropriate Locate DecompCode and/or Locate DecompData commands. No fixup table found for ModuleName RTLoc did not find a fixup table in the PE file of the application or a DLL. This is most likely due to a missing /fixed:no option for the Microsoft Visual C++ linker. If the linker did not include a fixup table because the program must be located at a specific address, RTLoc is unable to relocate the program. The only way to run such programs under RTTarget-32 is to locate them at the exact base address set by the linker. No heap region specified RTLoc did not find a Locate Heap command. This warning indicates an error if you intend to use the C/C++ run-time system. If no run-time system is used, the warning can be ignored. No image base found for ModuleName RTLoc was unable to find the code base in a PE file. A possible cause is that the section containing the program code is not included. No image base to allocate SectionName RTLoc was unable to find the code base in a PE file. A possible cause is that the section containing the program code is not included or is not located before SectionName. No MAP file found, file name: MapFileName One or more Locate Section commands contain segment numbers, but RTLoc was unable to find a map file to calculate the actual segment sizes. RTLoc will use the sizes given in the PE file instead. The warning can be ignored. No module found for init function FunctionName RTLoc was unable to determine the module in which the Init function resides. Please verify the spelling of the module name in the Init command. The module name must be specified for Init functions in DLLs. No module found for section SectionName RTLoc was unable to determine the module in which a section referenced in a Locate Section or Locate NTSection command resides. Please verify the spelling of the module name in the Locate command. The module name must be specified for sections in DLLs. No page table; FillRAM ignored A FillRAM command was encountered, but the application does not use paging. The application is built without RAM remapping. Either remove the FillRAM command or add a Locate PageTable command to eliminate this warning. No registered user name. Please reinstall On Time RTOS-32 RTLoc did not find the required license key and user name in the Windows registry. Rerun the install program. No size information found in map file for section SectionName A Locate Section command has specified a segment number that was not found in the map file. RTLoc will use the size given in the PE file instead. No size reduction in compressing SectionName, storing instead RTLoc has attempted to compress the given section, but was unable to reduce the image size. Very small sections or data which is already compressed may show this property. Use option -c- for the given section to suppress compression. No stack region specified RTLoc did not find a Locate Stack command required by every program. No VideoRAM command, assuming 'VideoRAM = None' No VideoRAM command was encountered. RTLoc assumes that the target has no display. Numeric parameter expected but found Parameter The given parameter of the given command line in a configuration file must be numeric. Numeric parameter too large: Parameter The given Parameter exceeds the upper limit of the valid range. Numeric parameter too small: Parameter The given Parameter is smaller than the lower limit of the valid range. Obsolete module Dummydll.obj is no longer required; do not link it RTLoc encountered a reference to the DLL NODLL. Object file Dummydll.obj and DLL Nodll.dll should no longer be used with RTTarget-32. You can remove all references to them. On Time RTOS-32 component component has not been licensed The program being located or debugged contains an On Time RTOS-32 component which is not covered by your license. Contact On Time to update your License Key. On Time RTOS-32 library is not version X.YY The program being located contains an On Time RTOS-32 library version which is not the same as the locator. Version mixing is not supported. Option syntax error: Option RTLoc encountered the given option either on the command line or in a configuration file and was unable to interpret it. Out of memory to allocate Name RTLoc ran out of heap space. Page table located twice RTLoc found two or more Locate PageTable commands. Only one such command is supported. Page table must be page (4096 byte) aligned The alignment of the page table must be at least 4k. This is required by the 386 architecture. Page table must have at least SysRead access The page table must have at least SysRead access, but NoAccess is specified, making it inaccessible for the boot code. Page table required to support virtual regions The configuration file defines virtual regions, but no Locate PageTable command. Page table size must be multiple of 4k The specified page table size is not a multiple of 4k. The 386 CPU does not support page tables that do not consist of a whole number of pages. Page table too small, need at least Size bytes RTLoc found that the required address space cannot be mapped onto the page table. This is a common error if command FillRAM or virtual regions are used, since RAM remapping can enlarge the address space after the page table's size has been determined. The problem is solved by explicitly setting the page table's size to the required value. Parameter must be power of two, found: Number The given numeric Number in a configuration file must be a power of two. Parts of section SectionName not covered by any hex or bin file The given section needs data in a region of memory not covered by any hex or bin file. If the data is not placed in its location by some other means, the program will not be able to run. Physical region name expected after virtual region name A Locate command references a virtual region without also specifying a physical region name. Except for Heap and Stack, a physical region must be supplied. Protected mode boot code does not support BIOS boot vector A Locate BIOSVector command was specified with a protected mode boot code, which is not supported. Recursive preprocessor symbol expansion for symbols Sym and Sym A loop was encountered expanding preprocessor symbols. Region RegionName exceeds 4G address space RTLoc has found a region definition with a region's end address beyond 4G. Check the parameters of the Region command. Region RegionName must be virtual A Locate command references a physical region name followed by another physical region name. Either use only a single physical region or use a virtual region. Region RegionName not found for section SectionName A Locate command references an undefined region. All regions must be defined before they can be used. Region RegionName overflow Too many program entities have been allocated to the given region. Allocate some of the entities to other regions. If the given region is a virtual region, make sure a FillRAM command remaps memory to it to accommodate the stack and heap. Region RegionName overlaps region RegionName The two given regions overlap. Please check the address and size settings for these regions in the configuration file(s). Reserved app old image file. Rebuild ApplicationName with current version of RTTarget-32 RTLoc found that the program specified in a Reserve command was built with an older version of RTTarget-32 incompatible with the current version. Reserved application built with different memory layout, rebuild AppName RTLoc found that the program specified in a Reserve command was built with a different set of Region commands. If two programs to be run simultaneously on one computer assume a different memory layout, mutual corruption can result. Therefore, it is recommended to build all programs (including the Debug Monitor) with the same set of regions, preferably stored in a single file shared by all programs. Reserved application contains remapped page at logical address: Address RTLoc has detected that the application given in a Reserve command contains remapped pages, which is not supported. Remove the FillRAM command or any virtual regions from the reserved application's configuration file and re-run RTLoc for both applications. Reserved application file invalid or different version, file name: FileName RTLoc did not find the expected signature in the application file of an application given in a Reserve command. The file was either not produced by the current version of RTLoc or the file is corrupted. Reserved application has no page table The application specified in a Reserve command does not contain a page table, but the current application does. Either both or none of the two programs must use paging. Reserved application uses page table, add Locate PageTable The application specified in a Reserve command contains a page table, but the current application does not. Either both or none of the two programs must use paging. ROM does not support write access in region: RegionName A Region command specifies memory type ROM and access System or ReadWrite, which is not supported for ROM. Section containing code not mapped, section: SectionName RTLoc found a section in the PE file that contains code but is not included in the application image. This warning should only be ignored if it is guaranteed that the application will never try to access that section. Otherwise, add an appropriate Locate Section or Locate NTSection command to include the section. Section SectionName access rights possibly too low RTLoc has compared the access requirements specified by the PE file's section table with the access rights in the configuration file and found a discrepancy. For example, if you have located a data section as ReadOnly, but the PE file specifies that write access is required for this section, RTLoc issues this message. RTLoc adheres to the access value specified in the Locate Section command. The warning can only be ignored if it is guaranteed that the actual access at run time does not violate the given value. Section SectionName has no image, command Locate Copy has no effect The given section has no data associated with it. Thus, a copied section which consists of only such data contains nothing. You should remove the corresponding Locate Copy command since it has no effect. Section SectionName has no size and is not mapped The given section has no size. The section was probably not found in the EXE or DLL file and can therefore be removed from the configuration file. Section SectionName in ROM; application not loadable RTLoc has determined that the application is loaded to RAM, but the given section resides in ROM. Map the section to a RAM region. Section SectionName must be in RAM to be able to be copied The section referenced in a Locate Copy command resides in ROM. At run-time the RTTarget-32 boot code would not be able to copy or expand the data to its destination. Section SectionName not compressed, because no decompression code located RTLoc has encountered a copied section which could not be compressed because no decompression code or data is present. Either add appropriate Locate DecompCode and/or Locate DecompData commands or disable compression with option -c-. Section SectionName not found RTLoc was unable to locate SectionName in the program of a DLL specified in a DLL command. Check the spelling of the section's name and compare it with the list of sections given in the [EXE File Report] of the .LOC file. This warning can be disabled with RTLoc option -n-. Section SectionName not in ROM; application not ROMable This warning is only issued when option -o (ROMable) is specified or a HexFile or BinFile command is present. It identifies a program entity that requires an image in RAM at boot time. To make the application ROMable, move the section to ROM or use the Locate Copy command for this section to place a copy of it into ROM. Section SectionName overlaps section SectionName Two sections overlap in the given region. This can happen if Locate NTSection and other Locate commands are mixed for the same region. RTLoc is forced to locate all but the first NTSection at specific addresses, even if these addresses are already allocated to other entities. To avoid this problem, all Locate NTSection commands should be grouped together in the configuration file in order of ascending addresses, without other interleaving Locate commands. Section to copy not found, section: SectionName A Locate Copy command references an undefined program entity. Entities to be copied must be located first. Segment value in Intel hex start address record truncated from Address to Address An Intel Hex file Start Address record has been requested with RTLoc option -s, but the target's boot vector is outside the real mode address space. Size of section SectionName too small, need at least Size bytes RTLoc has found that the size specified for a section is too small. Either increase the size in the Locate command or let RTLoc determine the size automatically. Size specification for boot code/data ignored RTLoc found a size specification for the boot code or data. RTLoc uses the size given in the boot code's .EXE file. This behavior cannot be overridden. Size specification for decompression code/data ignored RTLoc found a size specification for decompression code or data. RTLoc uses the size required by the decompression algorithm. This behavior cannot be overridden. Size specification of application header ignored RTLoc found a size specification for the application header. RTLoc calculates the size automatically. This behavior cannot be overridden. Stack is suspiciously small, size: Size bytes RTLoc found that the application stack is smaller than 512 bytes. Only very small applications without a run-time system will be able to run with such a small stack. Increase the stack size. Typically, a C/C++ or Pascal program will need 4k to 32k of stack space. Stack located twice RTLoc found two or more Locate Stack commands. Only one such command is supported. Stack section must have ReadWrite access The specified access in a Locate Stack was not ReadWrite, the only supported value. Stack size is 0 The stack of the program has zero length. Probably all available memory has been allocated to other entities (such as the heap). Either reduce the heap's size or specify an explicit value for the stack size in the Locate Stack command. Target of fixup not found, fixup: Address, target: Address. Fixup ignored! RTLoc was unable to locate the target of a fixup in the application image. Both addresses given are virtual addresses of the PE file. This warning can only occur if Locate Section is used instead of Locate NTSection. There are two possible causes for this warning:
TLS and TEB need Size bytes stack space. Stack possibly too small The Thread Local Storage and Thread Environment Block are allocated from the program's stack at run-time. The required size exceeds 20% of the available stack. This warning can be ignored if the program does not need more than the remaining stack space. TLS and TEB need Size bytes stack space. Stack too small The Thread Local Storage and Task Environment Block are allocated from the program's stack at run-time. The required size exceeds the available stack. Increase the stack size or reduce the size of variables declared with __thread. Too many #ifs #if directives are nested too deeply. RTLoc supports at most 64 levels. Too many graphics modes Too many modes were specified in GMode commands. Note that when multiple GMode commands are used, each command adds modes. Up to 16 modes are supported. Too many hex or bin files The maximum number (64) of supported hex or bin files has been exceeded. Too many lines in macro MacroName The given macro has more than 256 lines, which is not supported. Too many links The maximum number (256) of supported Link commands has been exceeded. Too many macro parameters: MacroName The given macro has more than 8 parameters, which is not supported. Too many messages The maximum number of error and warning messages of 20 has been reached. If you do not want RTLoc to stop after 20 messages, use option -m. Too many modules RTLoc has encountered more than 63 DLL commands, which is not supported. Too many parameters The maximum number of supported parameters is exceeded in the given configuration file. Too many regions, region: RegionName The maximum number of supported regions (64) has been exceeded. Combine adjacent regions or remove unneeded regions. Too many sections, section: SectionName The number of supported program entities (255) has been exceeded. Two regions have the same name: RegionName Two regions have been defined with the same name. Change the name of one of them. Two sections have the same name: SectionName RTLoc found two or more Locate commands defining program entities with identical names. The name of each entity must be unique. Unable to create file FileName, errno: ErrorMessage RTLoc is unable to create the given file for the given reason. Unable to open file: FileName, errno: ErrorMessage RTLoc is unable to open the given file for the given reason. RTLoc first searches for the file in the default directory and then in the directory RTLoc was loaded from. Unable to rename .LOC file from FileName to FileName Assigning the correct name to the .LOC file failed, possibly because the file is currently opened by some other process. Undefined identifier: Identifier The preprocessor was unable to convert Identifier to a number. Unknown keyword: Keyword RTLoc cannot interpret the given command in a configuration file. Please check the keyword's spelling. Unknown operator The given command contains an unknown numeric operator. Unknown option Option: ignored RTLoc encountered the given unknown option. Unmatched parenthesis A preprocessor expression contains unmatched parenthesis. Unsupported boot vector type for protected mode boot code RTLoc has detected that protected mode boot code is being used. Use a Locate BootVector command to invoke the boot code. Unsupported fixup type: Number at Address RTLoc encountered a fixup type it does not know. The fixup is ignored and the program can only run if the fixup location is never used at run-time. RTLoc can only process fixups of type IMAGE_REL_BASED_ABSOLUTE and IMAGE_REL_BASED_HIGHLOW. All others will lead to this warning. User UserName on computer ComputerName has attempted to use this PC's license key User UserName attempts to use the same license key as installed on the local computer, which is not supported. Please contact On Time to extend your license for more users. VideoRAM region RegionName not found The region name specified in a VideoRAM command was not defined previously. VideoRAM region RegionName should have at least 4k size RTLoc encountered a suspiciously small video RAM. The RTTarget-32 run-time functions assume at least 4k of video RAM to be available. For non PC compatible displays, specify VideoRAM = None. VideoRAM region RegionName should have ReadWrite access Access right for the video RAM is too low. The RTTarget-32 run-time functions writes to the video RAM. Virtual address of Item in Module not found, address: Address RTLoc was unable to locate the address of Item in the relocated program image of Module. Address refers to the PE file's address space. Most likely, a required section has not been located using Locate NTSection or Locate Section. Virtual region must start at page boundary, region: RegionName The starting address of a virtual region must be page (4096) aligned, which it is not. Virtual regions not supported for section SectionName An attempt was made to locate an unsupported entity to a virtual region. Only Locate Section, NTSection, File, Nothing, Stack, or Heap may be placed in virtual regions. You are trying to use a license currently in use on another computer The license key installed on the local computer is currently in use by another user, which is not supported. Please contact On Time to extend your license for more users. Your license key has expired RTLoc found a license key which has expired. Please request a new key. Your License Key is out of date, please update your key from your latest License Certificate The license key installed on the local computer has a format which is no longer supported by On Time RTOS-32. Please use program ShowKey to install a License Key given on an On Time RTOS-32 License Certificate version 5.18 or later. Redistributable Components of RTTarget-32
|