diff options
author | Nick Clifton <nickc@redhat.com> | 2002-10-23 13:24:10 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2002-10-23 13:24:10 +0000 |
commit | 63fd3b826bd48b24777f41e323f7bf932350edbf (patch) | |
tree | c8df324733b976cca1060f02e09ab4e11440d747 | |
parent | e82ce5296f0d7feb044b0ca62f1c7cc38e0be859 (diff) | |
download | gdb-63fd3b826bd48b24777f41e323f7bf932350edbf.zip gdb-63fd3b826bd48b24777f41e323f7bf932350edbf.tar.gz gdb-63fd3b826bd48b24777f41e323f7bf932350edbf.tar.bz2 |
Add new command line option "--no-omagic" which undoes the effects of -N.
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/NEWS | 2 | ||||
-rw-r--r-- | ld/ld.texinfo | 13 | ||||
-rw-r--r-- | ld/lexsup.c | 9 |
4 files changed, 30 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 2a4080b..9bbbbf3 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2002-10-23 Nick Clifton <nickc@redhat.com> + + * lexsup.c (OPTION_NO_OMAGIC): Define. + (ld_options): Add "no-omagic" option. + (parse_args): Parse --no-omagic. + * ld.texinfo: Document --no-omagic. + * NEWS: Mention new option. + 2002-10-21 Danny Smith <dannysmith@users.sourceforeg.net> * scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__, @@ -1,5 +1,7 @@ -*- text -*- +* Added --no-omagic to undo the effects of the -N option. + * Support for Texas Instruments TMS320C4x and TMS320C3x series of DSP's contributed by Michael Hayes and Svein E. Seldal. diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 789e894..edf628d 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -660,8 +660,17 @@ Turn off page alignment of sections, and mark the output as @item -N @itemx --omagic Set the text and data sections to be readable and writable. Also, do -not page-align the data segment. If the output format supports Unix -style magic numbers, mark the output as @code{OMAGIC}. +not page-align the data segment, and disable linking against shared +libraries. If the output format supports Unix style magic numbers, +mark the output as @code{OMAGIC}. + +@kindex --no-omagic +@cindex OMAGIC +@item --no-omagic +This option negates most of the effects of the @option{-N} option. It +sets the text section to be read-only, and forces the data segment to +be page-aligned. Note - this option does not enable linking against +shared libraries. Use @option{-Bdynamic} for this. @kindex -o @var{output} @kindex --output=@var{output} diff --git a/ld/lexsup.c b/ld/lexsup.c index bfb0fea..15c7bac 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -132,6 +132,7 @@ int parsing_defsym = 0; #define OPTION_SPARE_DYNAMIC_TAGS (OPTION_DISCARD_NONE + 1) #define OPTION_NO_DEFINE_COMMON (OPTION_SPARE_DYNAMIC_TAGS + 1) #define OPTION_NOSTDLIB (OPTION_NO_DEFINE_COMMON + 1) +#define OPTION_NO_OMAGIC (OPTION_NOSTDLIB + 1) /* The long options. This structure is used for both the option parsing and the help text. */ @@ -217,6 +218,8 @@ static const struct ld_option ld_options[] = { {"omagic", no_argument, NULL, 'N'}, 'N', NULL, N_("Do not page align data, do not make text readonly"), EXACTLY_TWO_DASHES }, + { {"no-omagic", no_argument, NULL, OPTION_NO_OMAGIC}, + '\0', NULL, N_("Page align data, make text readonly"), EXACTLY_TWO_DASHES }, { {"output", required_argument, NULL, 'o'}, 'o', N_("FILE"), N_("Set output file name"), EXACTLY_TWO_DASHES }, { {NULL, required_argument, NULL, '\0'}, @@ -745,6 +748,12 @@ parse_args (argc, argv) config.magic_demand_paged = false; config.dynamic_link = false; break; + case OPTION_NO_OMAGIC: + config.text_read_only = true; + config.magic_demand_paged = true; + /* NB/ Does not set dynamic_link to true. + Use --call-shared or -Bdynamic for this. */ + break; case 'n': config.magic_demand_paged = false; config.dynamic_link = false; |