2000-07-20 H.J. Lu <hjl@gnu.org>
* ld.texinfo: Add documentation for --disable-new-dtags and --enable-new-dtags. * ldmain.c (main): Initialize link_info.new_dtags to false. * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add --disable-new-dtags and --enable-new-dtags. (gld_${EMULATION_NAME}_list_options): Likewise.
This commit is contained in:
parent
c25373b76a
commit
6c1439be21
11
ld/ChangeLog
11
ld/ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
2000-07-20 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* ld.texinfo: Add documentation for --disable-new-dtags and
|
||||||
|
--enable-new-dtags.
|
||||||
|
|
||||||
|
* ldmain.c (main): Initialize link_info.new_dtags to false.
|
||||||
|
|
||||||
|
* emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add
|
||||||
|
--disable-new-dtags and --enable-new-dtags.
|
||||||
|
(gld_${EMULATION_NAME}_list_options): Likewise.
|
||||||
|
|
||||||
2000-07-05 Kenneth Block <krblock@computer.org>
|
2000-07-05 Kenneth Block <krblock@computer.org>
|
||||||
|
|
||||||
* ld/lexsup.c: Add optional style to demangle switch
|
* ld/lexsup.c: Add optional style to demangle switch
|
||||||
|
|
|
@ -1213,6 +1213,9 @@ cat >>e${EMULATION_NAME}.c <<EOF
|
||||||
|
|
||||||
#include "getopt.h"
|
#include "getopt.h"
|
||||||
|
|
||||||
|
#define OPTION_DISABLE_NEW_DTAGS (400)
|
||||||
|
#define OPTION_ENABLE_NEW_DTAGS (OPTION_DISABLE_NEW_DTAGS + 1)
|
||||||
|
|
||||||
static struct option longopts[] =
|
static struct option longopts[] =
|
||||||
{
|
{
|
||||||
EOF
|
EOF
|
||||||
|
@ -1220,7 +1223,8 @@ fi
|
||||||
|
|
||||||
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
||||||
cat >>e${EMULATION_NAME}.c <<EOF
|
cat >>e${EMULATION_NAME}.c <<EOF
|
||||||
{NULL, required_argument, NULL, 'z'},
|
{"disable-new-dtags", no_argument, NULL, OPTION_DISABLE_NEW_DTAGS},
|
||||||
|
{"enable-new-dtags", no_argument, NULL, OPTION_ENABLE_NEW_DTAGS},
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1260,11 +1264,20 @@ gld_${EMULATION_NAME}_parse_args (argc, argv)
|
||||||
xexit (1);
|
xexit (1);
|
||||||
optind = prevoptind;
|
optind = prevoptind;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
||||||
cat >>e${EMULATION_NAME}.c <<EOF
|
cat >>e${EMULATION_NAME}.c <<EOF
|
||||||
|
case OPTION_DISABLE_NEW_DTAGS:
|
||||||
|
link_info.new_dtags = false;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case OPTION_ENABLE_NEW_DTAGS:
|
||||||
|
link_info.new_dtags = true;
|
||||||
|
break;
|
||||||
|
|
||||||
case 'z':
|
case 'z':
|
||||||
if (strcmp (optarg, "initfirst") == 0)
|
if (strcmp (optarg, "initfirst") == 0)
|
||||||
link_info.flags_1 |= (bfd_vma) DF_1_INITFIRST;
|
link_info.flags_1 |= (bfd_vma) DF_1_INITFIRST;
|
||||||
|
@ -1291,7 +1304,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
|
||||||
link_info.flags_1 |= (bfd_vma) DF_1_ORIGIN;
|
link_info.flags_1 |= (bfd_vma) DF_1_ORIGIN;
|
||||||
}
|
}
|
||||||
/* What about the other Solaris -z options? FIXME. */
|
/* What about the other Solaris -z options? FIXME. */
|
||||||
break;
|
break;
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1317,6 +1330,8 @@ fi
|
||||||
|
|
||||||
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
||||||
cat >>e${EMULATION_NAME}.c <<EOF
|
cat >>e${EMULATION_NAME}.c <<EOF
|
||||||
|
fprintf (file, _(" --disable-new-dtags\tDisable new dynamic tags\n"));
|
||||||
|
fprintf (file, _(" --enable-new-dtags\tEnable new dynamic tags\n"));
|
||||||
fprintf (file, _(" -z initfirst\t\tMark DSO to be initialized first at rutime\n"));
|
fprintf (file, _(" -z initfirst\t\tMark DSO to be initialized first at rutime\n"));
|
||||||
fprintf (file, _(" -z interpose\t\tMark object to interpose all DSOs but execuable\n"));
|
fprintf (file, _(" -z interpose\t\tMark object to interpose all DSOs but execuable\n"));
|
||||||
fprintf (file, _(" -z loadfltr\t\tMark object requiring immediate process\n"));
|
fprintf (file, _(" -z loadfltr\t\tMark object requiring immediate process\n"));
|
||||||
|
|
|
@ -1375,6 +1375,17 @@ you should not put the definition of @code{__real_malloc} in the same
|
||||||
file as @code{__wrap_malloc}; if you do, the assembler may resolve the
|
file as @code{__wrap_malloc}; if you do, the assembler may resolve the
|
||||||
call before the linker has a chance to wrap it to @code{malloc}.
|
call before the linker has a chance to wrap it to @code{malloc}.
|
||||||
|
|
||||||
|
@kindex --enable-new-dtags
|
||||||
|
@kindex --disable-new-dtags
|
||||||
|
@item --enable-new-dtags
|
||||||
|
@itemx --disable-new-dtags
|
||||||
|
This linker can create the new dynamic tags in ELF. But the older ELF
|
||||||
|
systems may not understand them. If you specify
|
||||||
|
@code{--enable-new-dtags}, the dynamic tags will be created as needed.
|
||||||
|
If you specify @code{--disable-new-dtags}, no new dynamic tags will be
|
||||||
|
created. By default, the new dynamic tags are not created. Note that
|
||||||
|
those options are only available for ELF systems.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@subsection Options specific to i386 PE targets
|
@subsection Options specific to i386 PE targets
|
||||||
|
|
|
@ -237,6 +237,7 @@ main (argc, argv)
|
||||||
and _fini symbols. We are compatible. */
|
and _fini symbols. We are compatible. */
|
||||||
link_info.init_function = "_init";
|
link_info.init_function = "_init";
|
||||||
link_info.fini_function = "_fini";
|
link_info.fini_function = "_fini";
|
||||||
|
link_info.new_dtags = false;
|
||||||
link_info.flags = (bfd_vma) 0;
|
link_info.flags = (bfd_vma) 0;
|
||||||
link_info.flags_1 = (bfd_vma) 0;
|
link_info.flags_1 = (bfd_vma) 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue