Add new command line option "--no-omagic" which undoes the effects of -N.
This commit is contained in:
parent
e82ce5296f
commit
63fd3b826b
4 changed files with 30 additions and 2 deletions
|
@ -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>
|
2002-10-21 Danny Smith <dannysmith@users.sourceforeg.net>
|
||||||
|
|
||||||
* scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__,
|
* scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__,
|
||||||
|
|
2
ld/NEWS
2
ld/NEWS
|
@ -1,5 +1,7 @@
|
||||||
-*- text -*-
|
-*- text -*-
|
||||||
|
|
||||||
|
* Added --no-omagic to undo the effects of the -N option.
|
||||||
|
|
||||||
* Support for Texas Instruments TMS320C4x and TMS320C3x series of
|
* Support for Texas Instruments TMS320C4x and TMS320C3x series of
|
||||||
DSP's contributed by Michael Hayes and Svein E. Seldal.
|
DSP's contributed by Michael Hayes and Svein E. Seldal.
|
||||||
|
|
||||||
|
|
|
@ -660,8 +660,17 @@ Turn off page alignment of sections, and mark the output as
|
||||||
@item -N
|
@item -N
|
||||||
@itemx --omagic
|
@itemx --omagic
|
||||||
Set the text and data sections to be readable and writable. Also, do
|
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
|
not page-align the data segment, and disable linking against shared
|
||||||
style magic numbers, mark the output as @code{OMAGIC}.
|
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 -o @var{output}
|
||||||
@kindex --output=@var{output}
|
@kindex --output=@var{output}
|
||||||
|
|
|
@ -132,6 +132,7 @@ int parsing_defsym = 0;
|
||||||
#define OPTION_SPARE_DYNAMIC_TAGS (OPTION_DISCARD_NONE + 1)
|
#define OPTION_SPARE_DYNAMIC_TAGS (OPTION_DISCARD_NONE + 1)
|
||||||
#define OPTION_NO_DEFINE_COMMON (OPTION_SPARE_DYNAMIC_TAGS + 1)
|
#define OPTION_NO_DEFINE_COMMON (OPTION_SPARE_DYNAMIC_TAGS + 1)
|
||||||
#define OPTION_NOSTDLIB (OPTION_NO_DEFINE_COMMON + 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
|
/* The long options. This structure is used for both the option
|
||||||
parsing and the help text. */
|
parsing and the help text. */
|
||||||
|
@ -217,6 +218,8 @@ static const struct ld_option ld_options[] =
|
||||||
{ {"omagic", no_argument, NULL, 'N'},
|
{ {"omagic", no_argument, NULL, 'N'},
|
||||||
'N', NULL, N_("Do not page align data, do not make text readonly"),
|
'N', NULL, N_("Do not page align data, do not make text readonly"),
|
||||||
EXACTLY_TWO_DASHES },
|
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'},
|
{ {"output", required_argument, NULL, 'o'},
|
||||||
'o', N_("FILE"), N_("Set output file name"), EXACTLY_TWO_DASHES },
|
'o', N_("FILE"), N_("Set output file name"), EXACTLY_TWO_DASHES },
|
||||||
{ {NULL, required_argument, NULL, '\0'},
|
{ {NULL, required_argument, NULL, '\0'},
|
||||||
|
@ -745,6 +748,12 @@ parse_args (argc, argv)
|
||||||
config.magic_demand_paged = false;
|
config.magic_demand_paged = false;
|
||||||
config.dynamic_link = false;
|
config.dynamic_link = false;
|
||||||
break;
|
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':
|
case 'n':
|
||||||
config.magic_demand_paged = false;
|
config.magic_demand_paged = false;
|
||||||
config.dynamic_link = false;
|
config.dynamic_link = false;
|
||||||
|
|
Loading…
Reference in a new issue