From: Nick Clifton Date: Tue, 12 Dec 2000 20:53:02 +0000 (+0000) Subject: Add link option to allow undefiedn symbols in shared libraries X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b79e8c786598de8c85416eb3215b1a318fe34048;p=binutils-gdb.git Add link option to allow undefiedn symbols in shared libraries --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6c8ce498293..bec4d507610 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2000-12-10 Fred Fish + + * elflink.h (elf_link_output_extsym): Don't complain about undefined + symbols in shared objects if allow_shlib_undefined is true. + 2000-12-12 Nick Clifton * cpu-sh.c: Fix formattng. diff --git a/bfd/elflink.h b/bfd/elflink.h index 4d3eb644b3a..b3e1bbc6fc1 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -5095,6 +5095,7 @@ elf_link_output_extsym (h, data) referenced by regular files, because we will already have issued warnings for them. */ if (! finfo->info->relocateable + && ! finfo->info->allow_shlib_undefined && ! (finfo->info->shared && !finfo->info->no_undefined) && h->root.type == bfd_link_hash_undefined diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index 2de1a0efd11..a2dc237b705 100644 --- a/bfd/po/bfd.pot +++ b/bfd/po/bfd.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-12-08 14:45-0800\n" +"POT-Creation-Date: 2000-12-12 12:37-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -399,7 +399,7 @@ msgstr "" msgid "unsupported reloc type" msgstr "" -#: coff-mips.c:875 elf32-mips.c:1405 +#: coff-mips.c:875 elf32-mips.c:1417 msgid "GP relative relocation when _gp not defined" msgstr "" @@ -550,7 +550,7 @@ msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "" #: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1853 elf32-i386.c:1428 -#: elf32-ppc.c:3096 elf32-sh.c:2985 elf64-x86-64.c:271 +#: elf32-ppc.c:3096 elf32-sh.c:2997 elf64-x86-64.c:271 #, c-format msgid "" "%s: warning: unresolvable relocation against symbol `%s' from %s section" @@ -660,7 +660,7 @@ msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. -#: elf32-arm.h:2193 elf32-cris.c:615 elf32-m68k.c:430 elf32-mips.c:2682 +#: elf32-arm.h:2193 elf32-cris.c:615 elf32-m68k.c:430 elf32-mips.c:2695 #, c-format msgid "private flags = %lx:" msgstr "" @@ -845,141 +845,141 @@ msgstr "" msgid "%s: Unknown relocation type %d\n" msgstr "" -#: elf32-mips.c:1564 +#: elf32-mips.c:1576 msgid "32bits gp relative relocation occurs for an external symbol" msgstr "" -#: elf32-mips.c:1713 +#: elf32-mips.c:1725 #, c-format msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-mips.c:2569 +#: elf32-mips.c:2582 #, c-format msgid "%s: linking PIC files with non-PIC files" msgstr "" -#: elf32-mips.c:2579 +#: elf32-mips.c:2592 #, c-format msgid "%s: linking abicalls files with non-abicalls files" msgstr "" -#: elf32-mips.c:2608 +#: elf32-mips.c:2621 #, c-format msgid "%s: ISA mismatch (-mips%d) with previous modules (-mips%d)" msgstr "" -#: elf32-mips.c:2617 +#: elf32-mips.c:2630 #, c-format msgid "%s: ISA mismatch (%d) with previous modules (%d)" msgstr "" -#: elf32-mips.c:2640 +#: elf32-mips.c:2653 #, c-format msgid "%s: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elf32-mips.c:2654 elf32-ppc.c:1477 elf64-sparc.c:2971 +#: elf32-mips.c:2667 elf32-ppc.c:1477 elf64-sparc.c:2971 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-mips.c:2685 +#: elf32-mips.c:2698 msgid " [abi=O32]" msgstr "" -#: elf32-mips.c:2687 +#: elf32-mips.c:2700 msgid " [abi=O64]" msgstr "" -#: elf32-mips.c:2689 +#: elf32-mips.c:2702 msgid " [abi=EABI32]" msgstr "" -#: elf32-mips.c:2691 +#: elf32-mips.c:2704 msgid " [abi=EABI64]" msgstr "" -#: elf32-mips.c:2693 +#: elf32-mips.c:2706 msgid " [abi unknown]" msgstr "" -#: elf32-mips.c:2695 +#: elf32-mips.c:2708 msgid " [abi=N32]" msgstr "" -#: elf32-mips.c:2697 +#: elf32-mips.c:2710 msgid " [abi=64]" msgstr "" -#: elf32-mips.c:2699 +#: elf32-mips.c:2712 msgid " [no abi set]" msgstr "" -#: elf32-mips.c:2702 +#: elf32-mips.c:2715 msgid " [mips1]" msgstr "" -#: elf32-mips.c:2704 +#: elf32-mips.c:2717 msgid " [mips2]" msgstr "" -#: elf32-mips.c:2706 +#: elf32-mips.c:2719 msgid " [mips3]" msgstr "" -#: elf32-mips.c:2708 +#: elf32-mips.c:2721 msgid " [mips4]" msgstr "" -#: elf32-mips.c:2710 +#: elf32-mips.c:2723 msgid " [mips5]" msgstr "" -#: elf32-mips.c:2712 +#: elf32-mips.c:2725 msgid " [mips32]" msgstr "" -#: elf32-mips.c:2714 +#: elf32-mips.c:2727 msgid " [mips64]" msgstr "" -#: elf32-mips.c:2716 +#: elf32-mips.c:2729 msgid " [unknown ISA]" msgstr "" -#: elf32-mips.c:2719 +#: elf32-mips.c:2732 msgid " [32bitmode]" msgstr "" -#: elf32-mips.c:2721 +#: elf32-mips.c:2734 msgid " [not 32bitmode]" msgstr "" -#: elf32-mips.c:4370 +#: elf32-mips.c:4388 msgid "static procedure (no name)" msgstr "" -#: elf32-mips.c:4985 elf64-alpha.c:4378 +#: elf32-mips.c:5005 elf64-alpha.c:4377 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elf32-mips.c:5549 +#: elf32-mips.c:5570 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elf32-mips.c:6666 +#: elf32-mips.c:6686 #, c-format msgid "%s: %s+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elf32-mips.c:7653 +#: elf32-mips.c:7673 #, c-format msgid "Malformed reloc detected for section %s" msgstr "" -#: elf32-mips.c:7730 +#: elf32-mips.c:7750 #, c-format msgid "%s: CALL16 reloc at 0x%lx not against global symbol" msgstr "" @@ -1022,42 +1022,42 @@ msgstr "" msgid "%s: Relocation %s is not yet supported for symbol %s." msgstr "" -#: elf32-sh.c:1081 +#: elf32-sh.c:1084 #, c-format msgid "%s: 0x%lx: warning: bad R_SH_USES offset" msgstr "" -#: elf32-sh.c:1093 +#: elf32-sh.c:1096 #, c-format msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" msgstr "" -#: elf32-sh.c:1110 +#: elf32-sh.c:1113 #, c-format msgid "%s: 0x%lx: warning: bad R_SH_USES load offset" msgstr "" -#: elf32-sh.c:1125 +#: elf32-sh.c:1128 #, c-format msgid "%s: 0x%lx: warning: could not find expected reloc" msgstr "" -#: elf32-sh.c:1162 +#: elf32-sh.c:1165 #, c-format msgid "%s: 0x%lx: warning: symbol in unexpected section" msgstr "" -#: elf32-sh.c:1284 +#: elf32-sh.c:1287 #, c-format msgid "%s: 0x%lx: warning: could not find expected COUNT reloc" msgstr "" -#: elf32-sh.c:1293 +#: elf32-sh.c:1296 #, c-format msgid "%s: 0x%lx: warning: bad count" msgstr "" -#: elf32-sh.c:1686 elf32-sh.c:2073 +#: elf32-sh.c:1689 elf32-sh.c:2076 #, c-format msgid "%s: 0x%lx: fatal: reloc overflow while relaxing" msgstr "" @@ -1316,7 +1316,7 @@ msgstr "" msgid "%s: undefined versioned symbol name %s" msgstr "" -#: elflink.h:5180 +#: elflink.h:5181 #, c-format msgid "%s: could not find output section %s for input section %s" msgstr "" diff --git a/include/ChangeLog b/include/ChangeLog index 68470925e18..1b1af76897b 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,10 @@ +2000-12-10 Fred Fish + + * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined + member to struct for systems where it is normal to have undefined + symbols in shared libraries at runtime and the runtime linker takes + care of redirecting them. + 2000-12-07 Zack Weinberg * safe-ctype.h: New file. diff --git a/include/bfdlink.h b/include/bfdlink.h index 18c60a57d4f..ae96323bfa7 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -201,6 +201,19 @@ struct bfd_link_info /* true if BFD should generate errors for undefined symbols even if generating a shared object. */ boolean no_undefined; + /* true if BFD should allow undefined symbols in shared objects even + when no_undefined is set to disallow undefined symbols. The net + result will be that undefined symbols in regular objects will + still trigger an error, but undefined symbols in shared objects + will be ignored. The implementation of no_undefined makes the + assumption that the runtime linker will choke on undefined + symbols. However there is at least one system (BeOS) where + undefined symbols in shared libraries is normal since the kernel + patches them at load time to select which function is most + appropriate for the current architecture. I.E. dynamically + select an appropriate memset function. Apparently it is also + normal for HPPA shared libraries to have undefined symbols. */ + boolean allow_shlib_undefined; /* Which symbols to strip. */ enum bfd_link_strip strip; /* Which local symbols to discard. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index 0ac70857b6b..e1ad2771000 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2000-11-18 Fred Fish + + * lexsup.c (OPTION_ALLOW_SHLIB_UNDEFINED): Define. + (ld_options): Entry for --allow-shlib-undefined. + (parse_args): Handle OPTION_ALLOW_SHLIB_UNDEFINED. + * ldmain.c (main): Initialize link_info.allow_shlib_undefined + to false. + * ld.texinfo: Document new command line switch. + 2000-12-12 Geoffrey Keating * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 0780538e2e6..b7a64e995a7 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -939,6 +939,19 @@ Normally when creating a non-symbolic shared library, undefined symbols are allowed and left to be resolved by the runtime loader. This option disallows such undefined symbols. +@kindex --allow-shlib-undefined +@item --allow-shlib-undefined +Allow undefined symbols in shared objects even when --no-undefined is +set. The net result will be that undefined symbols in regular objects +will still trigger an error, but undefined symbols in shared objects +will be ignored. The implementation of no_undefined makes the +assumption that the runtime linker will choke on undefined symbols. +However there is at least one system (BeOS) where undefined symbols in +shared libraries is normal since the kernel patches them at load time to +select which function is most appropriate for the current architecture. +I.E. dynamically select an appropriate memset function. Apparently it +is also normal for HPPA shared libraries to have undefined symbols. + @kindex --no-warn-mismatch @item --no-warn-mismatch Normally @code{ld} will give an error if you try to link together input diff --git a/ld/ldmain.c b/ld/ldmain.c index faee77709eb..9d6e042e0dd 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -223,6 +223,7 @@ main (argc, argv) link_info.traditional_format = false; link_info.optimize = false; link_info.no_undefined = false; + link_info.allow_shlib_undefined = false; link_info.strip = strip_none; link_info.discard = discard_none; link_info.keep_memory = true; diff --git a/ld/lexsup.c b/ld/lexsup.c index 35ed3c0913d..52a86802b68 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -127,11 +127,13 @@ int parsing_defsym = 0; #define OPTION_SECTION_START (OPTION_FINI + 1) #define OPTION_UNIQUE (OPTION_SECTION_START + 1) #define OPTION_TARGET_HELP (OPTION_UNIQUE + 1) +#define OPTION_ALLOW_SHLIB_UNDEFINED (OPTION_TARGET_HELP + 1) /* The long options. This structure is used for both the option parsing and the help text. */ -struct ld_option { +struct ld_option +{ /* The long option information. */ struct option opt; /* The short option with the same meaning ('\0' if none). */ @@ -151,7 +153,8 @@ struct ld_option { } control; }; -static const struct ld_option ld_options[] = { +static const struct ld_option ld_options[] = +{ { {NULL, required_argument, NULL, '\0'}, 'a', N_("KEYWORD"), N_("Shared library control for HP/UX compatibility"), ONE_DASH }, @@ -298,6 +301,8 @@ static const struct ld_option ld_options[] = { '\0', NULL, N_("Use less memory and more disk I/O"), TWO_DASHES }, { {"no-undefined", no_argument, NULL, OPTION_NO_UNDEFINED}, '\0', NULL, N_("Allow no undefined symbols"), TWO_DASHES }, + { {"allow-shlib-undefined", no_argument, NULL, OPTION_ALLOW_SHLIB_UNDEFINED}, + '\0', NULL, N_("Allow undefined symbols in shared objects"), TWO_DASHES }, { {"no-warn-mismatch", no_argument, NULL, OPTION_NO_WARN_MISMATCH}, '\0', NULL, N_("Don't warn about mismatched input files"), TWO_DASHES}, { {"no-whole-archive", no_argument, NULL, OPTION_NO_WHOLE_ARCHIVE}, @@ -709,6 +714,9 @@ parse_args (argc, argv) case OPTION_NO_UNDEFINED: link_info.no_undefined = true; break; + case OPTION_ALLOW_SHLIB_UNDEFINED: + link_info.allow_shlib_undefined = true; + break; case OPTION_NO_WARN_MISMATCH: command_line.warn_mismatch = false; break; diff --git a/ld/po/ld.pot b/ld/po/ld.pot index 8bc08c967ed..f7fcb18f9fd 100644 --- a/ld/po/ld.pot +++ b/ld/po/ld.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-11-30 11:14-0800\n" +"POT-Creation-Date: 2000-12-12 12:46-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -251,7 +251,7 @@ msgid "Errors encountered processing file %s for interworking" msgstr "" #: emultempl/pe.em:1090 ldlang.c:1980 ldlang.c:4346 ldlang.c:4379 -#: ldmain.c:1015 +#: ldmain.c:1016 msgid "%P%F: bfd_link_hash_lookup failed: %E\n" msgstr "" @@ -290,11 +290,11 @@ msgstr "" msgid "%B%F: could not read symbols; %E\n" msgstr "" -#: ldcref.c:439 ldmain.c:1081 ldmain.c:1085 +#: ldcref.c:439 ldmain.c:1082 ldmain.c:1086 msgid "%B%F: could not read symbols: %E\n" msgstr "" -#: ldcref.c:511 ldcref.c:518 ldmain.c:1131 ldmain.c:1138 +#: ldcref.c:511 ldcref.c:518 ldmain.c:1132 ldmain.c:1139 msgid "%B%F: could not read relocs: %E\n" msgstr "" @@ -703,199 +703,199 @@ msgstr "" msgid "%X%P: can't set BFD default target to `%s': %E\n" msgstr "" -#: ldmain.c:267 +#: ldmain.c:268 msgid "%P%F: -r and --mpc860c0 may not be used together\n" msgstr "" -#: ldmain.c:269 +#: ldmain.c:270 msgid "%P%F: --relax and -r may not be used together\n" msgstr "" -#: ldmain.c:271 +#: ldmain.c:272 msgid "%P%F: -r and -shared may not be used together\n" msgstr "" -#: ldmain.c:300 +#: ldmain.c:301 msgid "using internal linker script:\n" msgstr "" -#: ldmain.c:319 +#: ldmain.c:320 msgid "%P%F: no input files\n" msgstr "" -#: ldmain.c:324 +#: ldmain.c:325 msgid "%P: mode %s\n" msgstr "" -#: ldmain.c:341 +#: ldmain.c:342 msgid "%P%F: cannot open map file %s: %E\n" msgstr "" -#: ldmain.c:388 +#: ldmain.c:389 msgid "%P: link errors found, deleting executable `%s'\n" msgstr "" -#: ldmain.c:399 +#: ldmain.c:400 msgid "%F%B: final close failed: %E\n" msgstr "" -#: ldmain.c:423 +#: ldmain.c:424 msgid "%X%P: unable to open for source of copy `%s'\n" msgstr "" -#: ldmain.c:425 +#: ldmain.c:426 msgid "%X%P: unable to open for destination of copy `%s'\n" msgstr "" -#: ldmain.c:431 +#: ldmain.c:432 msgid "%P: Error writing file `%s'\n" msgstr "" -#: ldmain.c:437 pe-dll.c:1097 +#: ldmain.c:438 pe-dll.c:1097 #, c-format msgid "%P: Error closing file `%s'\n" msgstr "" -#: ldmain.c:454 +#: ldmain.c:455 #, c-format msgid "%s: total time in link: %ld.%06ld\n" msgstr "" -#: ldmain.c:457 +#: ldmain.c:458 #, c-format msgid "%s: data size %ld\n" msgstr "" -#: ldmain.c:498 +#: ldmain.c:499 msgid "%P%F: missing argument to -m\n" msgstr "" -#: ldmain.c:623 ldmain.c:644 ldmain.c:675 +#: ldmain.c:624 ldmain.c:645 ldmain.c:676 msgid "%P%F: bfd_hash_table_init failed: %E\n" msgstr "" -#: ldmain.c:628 ldmain.c:647 +#: ldmain.c:629 ldmain.c:648 msgid "%P%F: bfd_hash_lookup failed: %E\n" msgstr "" -#: ldmain.c:662 +#: ldmain.c:663 msgid "%X%P: error: duplicate retain-symbols-file\n" msgstr "" -#: ldmain.c:706 +#: ldmain.c:707 msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" msgstr "" -#: ldmain.c:711 +#: ldmain.c:712 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" msgstr "" -#: ldmain.c:787 +#: ldmain.c:788 msgid "Archive member included" msgstr "" -#: ldmain.c:788 +#: ldmain.c:789 msgid "because of file (symbol)" msgstr "" -#: ldmain.c:859 +#: ldmain.c:860 msgid "%X%C: multiple definition of `%T'\n" msgstr "" -#: ldmain.c:862 +#: ldmain.c:863 msgid "%D: first defined here\n" msgstr "" -#: ldmain.c:866 +#: ldmain.c:867 msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" msgstr "" -#: ldmain.c:897 +#: ldmain.c:898 msgid "%B: warning: definition of `%T' overriding common\n" msgstr "" -#: ldmain.c:900 +#: ldmain.c:901 msgid "%B: warning: common is here\n" msgstr "" -#: ldmain.c:907 +#: ldmain.c:908 msgid "%B: warning: common of `%T' overridden by definition\n" msgstr "" -#: ldmain.c:910 +#: ldmain.c:911 msgid "%B: warning: defined here\n" msgstr "" -#: ldmain.c:917 +#: ldmain.c:918 msgid "%B: warning: common of `%T' overridden by larger common\n" msgstr "" -#: ldmain.c:920 +#: ldmain.c:921 msgid "%B: warning: larger common is here\n" msgstr "" -#: ldmain.c:924 +#: ldmain.c:925 msgid "%B: warning: common of `%T' overriding smaller common\n" msgstr "" -#: ldmain.c:927 +#: ldmain.c:928 msgid "%B: warning: smaller common is here\n" msgstr "" -#: ldmain.c:931 +#: ldmain.c:932 msgid "%B: warning: multiple common of `%T'\n" msgstr "" -#: ldmain.c:933 +#: ldmain.c:934 msgid "%B: warning: previous common is here\n" msgstr "" -#: ldmain.c:954 ldmain.c:993 +#: ldmain.c:955 ldmain.c:994 msgid "%P: warning: global constructor %s used\n" msgstr "" -#: ldmain.c:1003 +#: ldmain.c:1004 msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" msgstr "" -#: ldmain.c:1187 +#: ldmain.c:1188 msgid "%F%P: bfd_hash_table_init failed: %E\n" msgstr "" -#: ldmain.c:1194 +#: ldmain.c:1195 msgid "%F%P: bfd_hash_lookup failed: %E\n" msgstr "" -#: ldmain.c:1214 +#: ldmain.c:1215 msgid "%C: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1220 +#: ldmain.c:1221 msgid "%D: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1227 +#: ldmain.c:1228 msgid "%B: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1233 +#: ldmain.c:1234 msgid "%B: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1253 ldmain.c:1274 ldmain.c:1293 +#: ldmain.c:1254 ldmain.c:1275 ldmain.c:1294 msgid "%P%X: generated" msgstr "" -#: ldmain.c:1256 +#: ldmain.c:1257 msgid " relocation truncated to fit: %s %T" msgstr "" -#: ldmain.c:1277 +#: ldmain.c:1278 #, c-format msgid "dangerous relocation: %s\n" msgstr "" -#: ldmain.c:1296 +#: ldmain.c:1297 msgid " reloc refers to symbol `%T' which is not being output\n" msgstr "" @@ -940,7 +940,7 @@ msgstr "" msgid "GNU ld version %s (with BFD %s)\n" msgstr "" -#: ldver.c:46 lexsup.c:953 +#: ldver.c:46 lexsup.c:961 msgid " Supported emulations:\n" msgstr "" @@ -961,555 +961,559 @@ msgstr "" msgid "%F%P: final link failed: %E\n" msgstr "" -#: lexsup.c:156 lexsup.c:247 +#: lexsup.c:159 lexsup.c:250 msgid "KEYWORD" msgstr "" -#: lexsup.c:156 +#: lexsup.c:159 msgid "Shared library control for HP/UX compatibility" msgstr "" -#: lexsup.c:159 +#: lexsup.c:162 msgid "ARCH" msgstr "" -#: lexsup.c:159 +#: lexsup.c:162 msgid "Set architecture" msgstr "" -#: lexsup.c:161 lexsup.c:310 +#: lexsup.c:164 lexsup.c:315 msgid "TARGET" msgstr "" -#: lexsup.c:161 +#: lexsup.c:164 msgid "Specify target for following input files" msgstr "" -#: lexsup.c:163 lexsup.c:202 lexsup.c:214 lexsup.c:223 lexsup.c:294 -#: lexsup.c:317 lexsup.c:355 +#: lexsup.c:166 lexsup.c:205 lexsup.c:217 lexsup.c:226 lexsup.c:297 +#: lexsup.c:322 lexsup.c:360 msgid "FILE" msgstr "" -#: lexsup.c:163 +#: lexsup.c:166 msgid "Read MRI format linker script" msgstr "" -#: lexsup.c:165 +#: lexsup.c:168 msgid "Force common symbols to be defined" msgstr "" -#: lexsup.c:169 lexsup.c:345 lexsup.c:347 lexsup.c:349 +#: lexsup.c:172 lexsup.c:350 lexsup.c:352 lexsup.c:354 msgid "ADDRESS" msgstr "" -#: lexsup.c:169 +#: lexsup.c:172 msgid "Set start address" msgstr "" -#: lexsup.c:171 +#: lexsup.c:174 msgid "Export all dynamic symbols" msgstr "" -#: lexsup.c:173 +#: lexsup.c:176 msgid "Link big-endian objects" msgstr "" -#: lexsup.c:175 +#: lexsup.c:178 msgid "Link little-endian objects" msgstr "" -#: lexsup.c:177 lexsup.c:180 +#: lexsup.c:180 lexsup.c:183 msgid "SHLIB" msgstr "" -#: lexsup.c:177 +#: lexsup.c:180 msgid "Auxiliary filter for shared object symbol table" msgstr "" -#: lexsup.c:180 +#: lexsup.c:183 msgid "Filter for shared object symbol table" msgstr "" -#: lexsup.c:182 +#: lexsup.c:185 msgid "Ignored" msgstr "" -#: lexsup.c:184 +#: lexsup.c:187 msgid "SIZE" msgstr "" -#: lexsup.c:184 +#: lexsup.c:187 msgid "Small data size (if no size, same as --shared)" msgstr "" -#: lexsup.c:187 +#: lexsup.c:190 msgid "FILENAME" msgstr "" -#: lexsup.c:187 +#: lexsup.c:190 msgid "Set internal name of shared library" msgstr "" -#: lexsup.c:189 +#: lexsup.c:192 msgid "LIBNAME" msgstr "" -#: lexsup.c:189 +#: lexsup.c:192 msgid "Search for library LIBNAME" msgstr "" -#: lexsup.c:191 +#: lexsup.c:194 msgid "DIRECTORY" msgstr "" -#: lexsup.c:191 +#: lexsup.c:194 msgid "Add DIRECTORY to library search path" msgstr "" -#: lexsup.c:193 +#: lexsup.c:196 msgid "EMULATION" msgstr "" -#: lexsup.c:193 +#: lexsup.c:196 msgid "Set emulation" msgstr "" -#: lexsup.c:195 +#: lexsup.c:198 msgid "Print map file on standard output" msgstr "" -#: lexsup.c:197 +#: lexsup.c:200 msgid "Do not page align data" msgstr "" -#: lexsup.c:199 +#: lexsup.c:202 msgid "Do not page align data, do not make text readonly" msgstr "" -#: lexsup.c:202 +#: lexsup.c:205 msgid "Set output file name" msgstr "" -#: lexsup.c:204 +#: lexsup.c:207 msgid "Optimize output file" msgstr "" -#: lexsup.c:206 +#: lexsup.c:209 msgid "Ignored for SVR4 compatibility" msgstr "" -#: lexsup.c:210 +#: lexsup.c:213 msgid "Generate relocateable output" msgstr "" -#: lexsup.c:214 +#: lexsup.c:217 msgid "Just link symbols (if directory, same as --rpath)" msgstr "" -#: lexsup.c:217 +#: lexsup.c:220 msgid "Strip all symbols" msgstr "" -#: lexsup.c:219 +#: lexsup.c:222 msgid "Strip debugging symbols" msgstr "" -#: lexsup.c:221 +#: lexsup.c:224 msgid "Trace file opens" msgstr "" -#: lexsup.c:223 +#: lexsup.c:226 msgid "Read linker script" msgstr "" -#: lexsup.c:225 lexsup.c:239 lexsup.c:280 lexsup.c:292 lexsup.c:339 -#: lexsup.c:358 lexsup.c:375 +#: lexsup.c:228 lexsup.c:242 lexsup.c:283 lexsup.c:295 lexsup.c:344 +#: lexsup.c:363 lexsup.c:380 msgid "SYMBOL" msgstr "" -#: lexsup.c:225 +#: lexsup.c:228 msgid "Start with undefined reference to SYMBOL" msgstr "" -#: lexsup.c:227 +#: lexsup.c:230 msgid "Don't merge orphan sections with the same name" msgstr "" -#: lexsup.c:229 +#: lexsup.c:232 msgid "Build global constructor/destructor tables" msgstr "" -#: lexsup.c:231 +#: lexsup.c:234 msgid "Print version information" msgstr "" -#: lexsup.c:233 +#: lexsup.c:236 msgid "Print version and emulation information" msgstr "" -#: lexsup.c:235 +#: lexsup.c:238 msgid "Discard all local symbols" msgstr "" -#: lexsup.c:237 +#: lexsup.c:240 msgid "Discard temporary local symbols" msgstr "" -#: lexsup.c:239 +#: lexsup.c:242 msgid "Trace mentions of SYMBOL" msgstr "" -#: lexsup.c:241 lexsup.c:319 lexsup.c:321 +#: lexsup.c:244 lexsup.c:324 lexsup.c:326 msgid "PATH" msgstr "" -#: lexsup.c:241 +#: lexsup.c:244 msgid "Default search path for Solaris compatibility" msgstr "" -#: lexsup.c:243 +#: lexsup.c:246 msgid "Start a group" msgstr "" -#: lexsup.c:245 +#: lexsup.c:248 msgid "End a group" msgstr "" -#: lexsup.c:247 +#: lexsup.c:250 msgid "Ignored for SunOS compatibility" msgstr "" -#: lexsup.c:249 +#: lexsup.c:252 msgid "Link against shared libraries" msgstr "" -#: lexsup.c:255 +#: lexsup.c:258 msgid "Do not link against shared libraries" msgstr "" -#: lexsup.c:263 +#: lexsup.c:266 msgid "Bind global references locally" msgstr "" -#: lexsup.c:265 +#: lexsup.c:268 msgid "Check section addresses for overlaps (default)" msgstr "" -#: lexsup.c:267 +#: lexsup.c:270 msgid "Do not check section addresses for overlaps" msgstr "" -#: lexsup.c:270 +#: lexsup.c:273 msgid "Output cross reference table" msgstr "" -#: lexsup.c:272 +#: lexsup.c:275 msgid "SYMBOL=EXPRESSION" msgstr "" -#: lexsup.c:272 +#: lexsup.c:275 msgid "Define a symbol" msgstr "" -#: lexsup.c:274 +#: lexsup.c:277 msgid "[=STYLE]" msgstr "" -#: lexsup.c:274 +#: lexsup.c:277 msgid "Demangle symbol names [using STYLE]" msgstr "" -#: lexsup.c:276 +#: lexsup.c:279 msgid "PROGRAM" msgstr "" -#: lexsup.c:276 +#: lexsup.c:279 msgid "Set the dynamic linker to use" msgstr "" -#: lexsup.c:278 +#: lexsup.c:281 msgid "Generate embedded relocs" msgstr "" -#: lexsup.c:280 +#: lexsup.c:283 msgid "Call SYMBOL at unload-time" msgstr "" -#: lexsup.c:282 +#: lexsup.c:285 msgid "Force generation of file with .exe suffix" msgstr "" -#: lexsup.c:284 +#: lexsup.c:287 msgid "Remove unused sections (on some targets)" msgstr "" -#: lexsup.c:287 +#: lexsup.c:290 msgid "Don't remove unused sections (default)" msgstr "" -#: lexsup.c:290 +#: lexsup.c:293 msgid "Print option help" msgstr "" -#: lexsup.c:292 +#: lexsup.c:295 msgid "Call SYMBOL at load-time" msgstr "" -#: lexsup.c:294 +#: lexsup.c:297 msgid "Write a map file" msgstr "" -#: lexsup.c:296 +#: lexsup.c:299 msgid "Do not demangle symbol names" msgstr "" -#: lexsup.c:298 +#: lexsup.c:301 msgid "Use less memory and more disk I/O" msgstr "" -#: lexsup.c:300 +#: lexsup.c:303 msgid "Allow no undefined symbols" msgstr "" -#: lexsup.c:302 +#: lexsup.c:305 +msgid "Allow undefined symbols in shared objects" +msgstr "" + +#: lexsup.c:307 msgid "Don't warn about mismatched input files" msgstr "" -#: lexsup.c:304 +#: lexsup.c:309 msgid "Turn off --whole-archive" msgstr "" -#: lexsup.c:306 +#: lexsup.c:311 msgid "Create an output file even if errors occur" msgstr "" -#: lexsup.c:310 +#: lexsup.c:315 msgid "Specify target of output file" msgstr "" -#: lexsup.c:312 +#: lexsup.c:317 msgid "Ignored for Linux compatibility" msgstr "" -#: lexsup.c:314 +#: lexsup.c:319 msgid "Relax branches on certain targets" msgstr "" -#: lexsup.c:317 +#: lexsup.c:322 msgid "Keep only symbols listed in FILE" msgstr "" -#: lexsup.c:319 +#: lexsup.c:324 msgid "Set runtime shared library search path" msgstr "" -#: lexsup.c:321 +#: lexsup.c:326 msgid "Set link time shared library search path" msgstr "" -#: lexsup.c:323 +#: lexsup.c:328 msgid "Create a shared library" msgstr "" -#: lexsup.c:327 +#: lexsup.c:332 msgid "Sort common symbols by size" msgstr "" -#: lexsup.c:331 +#: lexsup.c:336 msgid "[=SIZE]" msgstr "" -#: lexsup.c:331 +#: lexsup.c:336 msgid "Split output sections every SIZE octets" msgstr "" -#: lexsup.c:333 +#: lexsup.c:338 msgid "[=COUNT]" msgstr "" -#: lexsup.c:333 +#: lexsup.c:338 msgid "Split output sections every COUNT relocs" msgstr "" -#: lexsup.c:335 +#: lexsup.c:340 msgid "Print memory usage statistics" msgstr "" -#: lexsup.c:337 +#: lexsup.c:342 msgid "Display target specific options" msgstr "" -#: lexsup.c:339 +#: lexsup.c:344 msgid "Do task level linking" msgstr "" -#: lexsup.c:341 +#: lexsup.c:346 msgid "Use same format as native linker" msgstr "" -#: lexsup.c:343 +#: lexsup.c:348 msgid "SECTION=ADDRESS" msgstr "" -#: lexsup.c:343 +#: lexsup.c:348 msgid "Set address of named section" msgstr "" -#: lexsup.c:345 +#: lexsup.c:350 msgid "Set address of .bss section" msgstr "" -#: lexsup.c:347 +#: lexsup.c:352 msgid "Set address of .data section" msgstr "" -#: lexsup.c:349 +#: lexsup.c:354 msgid "Set address of .text section" msgstr "" -#: lexsup.c:351 +#: lexsup.c:356 msgid "Output lots of information during link" msgstr "" -#: lexsup.c:355 +#: lexsup.c:360 msgid "Read version information script" msgstr "" -#: lexsup.c:358 +#: lexsup.c:363 msgid "" "Take export symbols list from .exports, using\n" "\t\t\t\tSYMBOL as the version." msgstr "" -#: lexsup.c:361 +#: lexsup.c:366 msgid "Warn about duplicate common symbols" msgstr "" -#: lexsup.c:363 +#: lexsup.c:368 msgid "Warn if global constructors/destructors are seen" msgstr "" -#: lexsup.c:366 +#: lexsup.c:371 msgid "Warn if the multiple GP values are used" msgstr "" -#: lexsup.c:368 +#: lexsup.c:373 msgid "Warn only once per undefined symbol" msgstr "" -#: lexsup.c:370 +#: lexsup.c:375 msgid "Warn if start of section changes due to alignment" msgstr "" -#: lexsup.c:373 +#: lexsup.c:378 msgid "Include all objects from following archives" msgstr "" -#: lexsup.c:375 +#: lexsup.c:380 msgid "Use wrapper functions for SYMBOL" msgstr "" -#: lexsup.c:377 +#: lexsup.c:382 msgid "[=WORDS]" msgstr "" -#: lexsup.c:377 +#: lexsup.c:382 msgid "" "Modify problematic branches in last WORDS (1-10,\n" "\t\t\t\tdefault 5) words of a page" msgstr "" -#: lexsup.c:527 +#: lexsup.c:532 #, c-format msgid "%s: use the --help option for usage information\n" msgstr "" -#: lexsup.c:547 +#: lexsup.c:552 msgid "%P%F: unrecognized -a option `%s'\n" msgstr "" -#: lexsup.c:560 +#: lexsup.c:565 msgid "%P%F: unrecognized -assert option `%s'\n" msgstr "" -#: lexsup.c:603 +#: lexsup.c:608 msgid "%F%P: unknown demangling style `%s'" msgstr "" -#: lexsup.c:662 +#: lexsup.c:667 msgid "%P%F: invalid number `%s'\n" msgstr "" -#: lexsup.c:837 +#: lexsup.c:845 msgid "%P%F: -shared not supported\n" msgstr "" -#: lexsup.c:871 +#: lexsup.c:879 #, c-format msgid "%s: Invalid argument to option \"--section-start\"\n" msgstr "" -#: lexsup.c:882 +#: lexsup.c:890 #, c-format msgid "%s: Missing argument(s) to option \"--section-start\"\n" msgstr "" -#: lexsup.c:946 +#: lexsup.c:954 msgid "Copyright 2000 Free Software Foundation, Inc.\n" msgstr "" -#: lexsup.c:947 +#: lexsup.c:955 msgid "" "This program is free software; you may redistribute it under the terms of\n" "the GNU General Public License. This program has absolutely no warranty.\n" msgstr "" -#: lexsup.c:1039 +#: lexsup.c:1047 #, c-format msgid "%s: may not nest groups (--help for usage)\n" msgstr "" -#: lexsup.c:1050 +#: lexsup.c:1058 #, c-format msgid "%s: group ended before it began (--help for usage)\n" msgstr "" -#: lexsup.c:1067 +#: lexsup.c:1075 #, c-format msgid "%s: Invalid argument to option \"mpc860c0\"\n" msgstr "" -#: lexsup.c:1123 +#: lexsup.c:1131 msgid "%P%F: invalid hex number `%s'\n" msgstr "" -#: lexsup.c:1135 +#: lexsup.c:1143 #, c-format msgid "Usage: %s [options] file...\n" msgstr "" -#: lexsup.c:1137 +#: lexsup.c:1145 msgid "Options:\n" msgstr "" #. Note: Various tools (such as libtool) depend upon the #. format of the listings below - do not change them. -#: lexsup.c:1216 +#: lexsup.c:1224 #, c-format msgid "%s: supported targets:" msgstr "" -#: lexsup.c:1224 +#: lexsup.c:1232 #, c-format msgid "%s: supported emulations: " msgstr "" -#: lexsup.c:1229 +#: lexsup.c:1237 #, c-format msgid "%s: emulation specific options:\n" msgstr "" -#: lexsup.c:1233 +#: lexsup.c:1241 #, c-format msgid "Report bugs to %s\n" msgstr ""