-o name Name the output file
-r Enable register variables
-t sys Set the target system
+ -u sym Force an import of symbol `sym'
-v Verbose mode
-vm Verbose map file
-C name Use linker config file
--debug Debug mode
--debug-info Add debug info
--feature name Set an emulation feature
+ --force-import sym Force an import of symbol `sym'
--forget-inc-paths Forget include search paths (compiler)
--help Help (this text)
--include-dir dir Set a compiler include directory path
-m name Create a map file
-o name Name the default output file
-t sys Set the target system
+ -u sym Force an import of symbol `sym'
-v Verbose mode
-vm Verbose map file
supported.
+ <tag><tt>-u sym[:addrsize], --force-import sym[:addrsize]</tt></tag>
+
+ Force an import of a symbol. While object files are always linked to the
+ output file, regardless if there are any references, object modules from
+ libraries get only linked in if an import can be satisfied by this module.
+ The <tt/--fore-import/ option may be used to add a reference to a symbol and
+ as a result force linkage of the module that exports the identifier.
+
+ The name of the symbol may optionally be followed by a colon and an address
+ size specifier. If no address size is specified, the default address size
+ for the target machine is used.
+
+ Please note that the symbol name needs to have the internal representation,
+ meaning you have to prepend an underline for C identifiers.
+
+
<label id="option-v">
<tag><tt>-v, --verbose</tt></tag>
file and it's contents are subject to change without further notice.
- <tag><tt>--force-import sym[:addrsize]</tt></tag>
-
- Force an import of a symbol. While object files are always linked to the
- output file, regardless if there are any references, object modules from
- libraries get only linked in if an import can be satisfied by this module.
- The <tt/--fore-import/ option may be used to add a reference to a symbol and
- as a result force linkage of the module that exports the identifier.
-
- The name of the symbol may be followed by a colon and an address size
- specifier. If no address size is specified, the default address size
- for the target machine is used.
-
- Please note that the symbol name needs to have the internal representation,
- meaning you have to prepend an underline for C identifiers.
-
-
<tag><tt>--lib file</tt></tag>
Links a library to the output. Use this command line option instead of just
" -o name\t\tName the output file\n"
" -r\t\t\tEnable register variables\n"
" -t sys\t\tSet the target system\n"
+ " -u sym\t\tForce an import of symbol `sym'\n"
" -v\t\t\tVerbose mode\n"
" -vm\t\t\tVerbose map file\n"
" -C name\t\tUse linker config file\n"
" --debug\t\tDebug mode\n"
" --debug-info\t\tAdd debug info\n"
" --feature name\tSet an emulation feature\n"
+ " --force-import sym\tForce an import of symbol `sym'\n"
" --forget-inc-paths\tForget include search paths (compiler)\n"
" --help\t\tHelp (this text)\n"
" --include-dir dir\tSet a compiler include directory path\n"
static void OptForceImport (const char* Opt attribute ((unused)), const char* Arg)
/* Emulation features for the assembler */
{
- CmdAddArg2 (&LD65, "--force-import", Arg);
-}
+ CmdAddArg2 (&LD65, "-u", Arg);
+}
OptTarget (Arg, GetArg (&I, 2));
break;
+ case 'u':
+ /* Force an import (linker) */
+ OptForceImport (Arg, GetArg (&I, 2));
+ break;
+
case 'v':
if (Arg [2] == 'm') {
/* Verbose map file (linker) */
" -m name\t\tCreate a map file\n"
" -o name\t\tName the default output file\n"
" -t sys\t\tSet the target system\n"
+ " -u sym\t\tForce an import of symbol `sym'\n"
" -v\t\t\tVerbose mode\n"
" -vm\t\t\tVerbose map file\n"
"\n"
if (ColPos == 0) {
/* Use default address size (which for now is always absolute
- * addressing)
+ * addressing)
*/
InsertImport (GenImport (Arg, ADDR_SIZE_ABS));
case 't':
if (CfgAvail ()) {
- Error ("Cannot use -C/-t twice");
+ Error ("Cannot use -C/-t twice");
}
OptTarget (Arg, GetArg (&I, 2));
break;
+ case 'u':
+ OptForceImport (Arg, GetArg (&I, 2));
+ break;
+
case 'v':
switch (Arg [2]) {
case 'm': VerboseMap = 1; break;
- case '\0': ++Verbosity; break;
- default: UnknownOption (Arg);
+ case '\0': ++Verbosity; break;
+ default: UnknownOption (Arg);
}
break;
case 'L':
switch (Arg [2]) {
/* ## The first one is obsolete and will go */
- case 'n': LabelFileName = GetArg (&I, 3); break;
- default: OptLibPath (Arg, GetArg (&I, 2)); break;
+ case 'n': LabelFileName = GetArg (&I, 3); break;
+ default: OptLibPath (Arg, GetArg (&I, 2)); break;
}
break;