OLD | NEW |
1 // options.h -- handle command line options for gold -*- C++ -*- | 1 // options.h -- handle command line options for gold -*- C++ -*- |
2 | 2 |
3 // Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. | 3 // Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
4 // Written by Ian Lance Taylor <iant@google.com>. | 4 // Written by Ian Lance Taylor <iant@google.com>. |
5 | 5 |
6 // This file is part of gold. | 6 // This file is part of gold. |
7 | 7 |
8 // This program is free software; you can redistribute it and/or modify | 8 // This program is free software; you can redistribute it and/or modify |
9 // it under the terms of the GNU General Public License as published by | 9 // it under the terms of the GNU General Public License as published by |
10 // the Free Software Foundation; either version 3 of the License, or | 10 // the Free Software Foundation; either version 3 of the License, or |
11 // (at your option) any later version. | 11 // (at your option) any later version. |
12 | 12 |
13 // This program is distributed in the hope that it will be useful, | 13 // This program is distributed in the hope that it will be useful, |
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 N_("Report version information"), NULL); | 573 N_("Report version information"), NULL); |
574 DEFINE_special(V, options::EXACTLY_ONE_DASH, '\0', | 574 DEFINE_special(V, options::EXACTLY_ONE_DASH, '\0', |
575 N_("Report version and target information"), NULL); | 575 N_("Report version and target information"), NULL); |
576 | 576 |
577 // These options are sorted approximately so that for each letter in | 577 // These options are sorted approximately so that for each letter in |
578 // the alphabet, we show the option whose shortname is that letter | 578 // the alphabet, we show the option whose shortname is that letter |
579 // (if any) and then every longname that starts with that letter (in | 579 // (if any) and then every longname that starts with that letter (in |
580 // alphabetical order). For both, lowercase sorts before uppercase. | 580 // alphabetical order). For both, lowercase sorts before uppercase. |
581 // The -z options come last. | 581 // The -z options come last. |
582 | 582 |
| 583 DEFINE_bool(add_needed, options::TWO_DASHES, '\0', false, |
| 584 N_("Not supported"), |
| 585 N_("Do not copy DT_NEEDED tags from shared libraries")); |
| 586 |
583 DEFINE_bool(allow_shlib_undefined, options::TWO_DASHES, '\0', false, | 587 DEFINE_bool(allow_shlib_undefined, options::TWO_DASHES, '\0', false, |
584 N_("Allow unresolved references in shared libraries"), | 588 N_("Allow unresolved references in shared libraries"), |
585 N_("Do not allow unresolved references in shared libraries")); | 589 N_("Do not allow unresolved references in shared libraries")); |
586 | 590 |
587 DEFINE_bool(as_needed, options::TWO_DASHES, '\0', false, | 591 DEFINE_bool(as_needed, options::TWO_DASHES, '\0', false, |
588 N_("Only set DT_NEEDED for dynamic libs if used"), | 592 N_("Only set DT_NEEDED for shared libraries if used"), |
589 N_("Always DT_NEEDED for dynamic libs")); | 593 N_("Always DT_NEEDED for shared libraries")); |
590 | 594 |
591 // This should really be an "enum", but it's too easy for folks to | 595 // This should really be an "enum", but it's too easy for folks to |
592 // forget to update the list as they add new targets. So we just | 596 // forget to update the list as they add new targets. So we just |
593 // accept any string. We'll fail later (when the string is parsed), | 597 // accept any string. We'll fail later (when the string is parsed), |
594 // if the target isn't actually supported. | 598 // if the target isn't actually supported. |
595 DEFINE_string(format, options::TWO_DASHES, 'b', "elf", | 599 DEFINE_string(format, options::TWO_DASHES, 'b', "elf", |
596 N_("Set input format"), ("[elf,binary]")); | 600 N_("Set input format"), ("[elf,binary]")); |
597 | 601 |
598 DEFINE_bool(Bdynamic, options::ONE_DASH, '\0', true, | 602 DEFINE_bool(Bdynamic, options::ONE_DASH, '\0', true, |
599 N_("-l searches for shared libraries"), NULL); | 603 N_("-l searches for shared libraries"), NULL); |
(...skipping 20 matching lines...) Expand all Loading... |
620 N_("Compress .debug_* sections in the output file"), | 624 N_("Compress .debug_* sections in the output file"), |
621 ("[none,zlib]"), | 625 ("[none,zlib]"), |
622 {"none", "zlib"}); | 626 {"none", "zlib"}); |
623 #else | 627 #else |
624 DEFINE_enum(compress_debug_sections, options::TWO_DASHES, '\0', "none", | 628 DEFINE_enum(compress_debug_sections, options::TWO_DASHES, '\0', "none", |
625 N_("Compress .debug_* sections in the output file"), | 629 N_("Compress .debug_* sections in the output file"), |
626 N_("[none]"), | 630 N_("[none]"), |
627 {"none"}); | 631 {"none"}); |
628 #endif | 632 #endif |
629 | 633 |
| 634 DEFINE_bool(copy_dt_needed_entries, options::TWO_DASHES, '\0', false, |
| 635 N_("Not supported"), |
| 636 N_("Do not copy DT_NEEDED tags from shared libraries")); |
| 637 |
630 DEFINE_bool(define_common, options::TWO_DASHES, 'd', false, | 638 DEFINE_bool(define_common, options::TWO_DASHES, 'd', false, |
631 N_("Define common symbols"), | 639 N_("Define common symbols"), |
632 N_("Do not define common symbols")); | 640 N_("Do not define common symbols")); |
633 DEFINE_bool(dc, options::ONE_DASH, '\0', false, | 641 DEFINE_bool(dc, options::ONE_DASH, '\0', false, |
634 N_("Alias for -d"), NULL); | 642 N_("Alias for -d"), NULL); |
635 DEFINE_bool(dp, options::ONE_DASH, '\0', false, | 643 DEFINE_bool(dp, options::ONE_DASH, '\0', false, |
636 N_("Alias for -d"), NULL); | 644 N_("Alias for -d"), NULL); |
637 | 645 |
638 DEFINE_string(debug, options::TWO_DASHES, '\0', "", | 646 DEFINE_string(debug, options::TWO_DASHES, '\0', "", |
639 N_("Turn on debugging"), | 647 N_("Turn on debugging"), |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 | 913 |
906 DEFINE_set(undefined, options::TWO_DASHES, 'u', | 914 DEFINE_set(undefined, options::TWO_DASHES, 'u', |
907 N_("Create undefined reference to SYMBOL"), N_("SYMBOL")); | 915 N_("Create undefined reference to SYMBOL"), N_("SYMBOL")); |
908 | 916 |
909 DEFINE_bool(verbose, options::TWO_DASHES, '\0', false, | 917 DEFINE_bool(verbose, options::TWO_DASHES, '\0', false, |
910 N_("Synonym for --debug=files"), NULL); | 918 N_("Synonym for --debug=files"), NULL); |
911 | 919 |
912 DEFINE_special(version_script, options::TWO_DASHES, '\0', | 920 DEFINE_special(version_script, options::TWO_DASHES, '\0', |
913 N_("Read version script"), N_("FILE")); | 921 N_("Read version script"), N_("FILE")); |
914 | 922 |
| 923 DEFINE_bool(warn_common, options::TWO_DASHES, '\0', false, |
| 924 N_("Warn about duplicate common symbols"), |
| 925 N_("Do not warn about duplicate common symbols (default)")); |
| 926 |
915 DEFINE_bool(warn_search_mismatch, options::TWO_DASHES, '\0', true, | 927 DEFINE_bool(warn_search_mismatch, options::TWO_DASHES, '\0', true, |
916 N_("Warn when skipping an incompatible library"), | 928 N_("Warn when skipping an incompatible library"), |
917 N_("Don't warn when skipping an incompatible library")); | 929 N_("Don't warn when skipping an incompatible library")); |
918 | 930 |
919 DEFINE_bool(whole_archive, options::TWO_DASHES, '\0', false, | 931 DEFINE_bool(whole_archive, options::TWO_DASHES, '\0', false, |
920 N_("Include all archive contents"), | 932 N_("Include all archive contents"), |
921 N_("Include only needed archive contents")); | 933 N_("Include only needed archive contents")); |
922 | 934 |
923 DEFINE_set(wrap, options::TWO_DASHES, '\0', | 935 DEFINE_set(wrap, options::TWO_DASHES, '\0', |
924 N_("Use wrapper functions for SYMBOL"), N_("SYMBOL")); | 936 N_("Use wrapper functions for SYMBOL"), N_("SYMBOL")); |
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1578 Pre_options pre_options_; | 1590 Pre_options pre_options_; |
1579 General_options options_; | 1591 General_options options_; |
1580 Position_dependent_options position_options_; | 1592 Position_dependent_options position_options_; |
1581 Script_options script_options_; | 1593 Script_options script_options_; |
1582 Input_arguments inputs_; | 1594 Input_arguments inputs_; |
1583 }; | 1595 }; |
1584 | 1596 |
1585 } // End namespace gold. | 1597 } // End namespace gold. |
1586 | 1598 |
1587 #endif // !defined(GOLD_OPTIONS_H) | 1599 #endif // !defined(GOLD_OPTIONS_H) |
OLD | NEW |