diff options
author | Roland McGrath <roland@gnu.org> | 2012-12-18 20:42:42 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2012-12-18 20:42:42 +0000 |
commit | b6106c8584f58de77c011af2f89c4d0f561a7114 (patch) | |
tree | 8aeb5c04815545d9b24f23cd7b727af72140bce6 /ld/lexsup.c | |
parent | 625f142346b1e3b1e55a040c11a5415f633d47b5 (diff) | |
download | binutils-redhat-b6106c8584f58de77c011af2f89c4d0f561a7114.tar.gz |
ld/
* ld.texinfo (Options): Describe -Trodata-segment.
* ldlex.h (enum option_values): Add OPTION_TRODATA_SEGMENT.
* lexsup.c (ld_options, parse_args): Handle -Trodata-segment.
* scripttempl/elf.sc (RODATA_ADDR, SHLIB_RODATA_ADDR): Wrap
SEGMENT_START("rodata-segment", ...) + SIZEOF_HEADERS around the value.
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r-- | ld/lexsup.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c index be8a8974b5..35041b19b9 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -405,13 +405,13 @@ static const struct ld_option ld_options[] = { {"pic-executable", no_argument, NULL, OPTION_PIE}, '\0', NULL, NULL, TWO_DASHES }, { {"sort-common", optional_argument, NULL, OPTION_SORT_COMMON}, - '\0', N_("[=ascending|descending]"), - N_("Sort common symbols by alignment [in specified order]"), + '\0', N_("[=ascending|descending]"), + N_("Sort common symbols by alignment [in specified order]"), TWO_DASHES }, { {"sort_common", no_argument, NULL, OPTION_SORT_COMMON}, '\0', NULL, NULL, NO_HELP }, { {"sort-section", required_argument, NULL, OPTION_SORT_SECTION}, - '\0', N_("name|alignment"), + '\0', N_("name|alignment"), N_("Sort sections by name or maximum alignment"), TWO_DASHES }, { {"spare-dynamic-tags", required_argument, NULL, OPTION_SPARE_DYNAMIC_TAGS}, '\0', N_("COUNT"), N_("How many tags to reserve in .dynamic section"), @@ -441,6 +441,8 @@ static const struct ld_option ld_options[] = '\0', N_("ADDRESS"), N_("Set address of .text section"), ONE_DASH }, { {"Ttext-segment", required_argument, NULL, OPTION_TTEXT_SEGMENT}, '\0', N_("ADDRESS"), N_("Set address of text segment"), ONE_DASH }, + { {"Trodata-segment", required_argument, NULL, OPTION_TRODATA_SEGMENT}, + '\0', N_("ADDRESS"), N_("Set address of rodata segment"), ONE_DASH }, { {"unresolved-symbols=<method>", required_argument, NULL, OPTION_UNRESOLVED_SYMBOLS}, '\0', NULL, N_("How to handle unresolved symbols. <method> is:\n" @@ -1191,6 +1193,9 @@ parse_args (unsigned argc, char **argv) case OPTION_TTEXT_SEGMENT: set_segment_start (".text-segment", optarg); break; + case OPTION_TRODATA_SEGMENT: + set_segment_start (".rodata-segment", optarg); + break; case OPTION_TRADITIONAL_FORMAT: link_info.traditional_format = TRUE; break; |