aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2006-06-14 02:43:58 +0000
committerAlan Modra <amodra@gmail.com>2006-06-14 02:43:58 +0000
commit5fa222e4424d1e940baaff61d73b704588ff970e (patch)
treef19714ce2419f4379a9fa22ebf801264b973c03c /ld/emultempl
parentc340f34c59e8d4eaab2a013599f53fbe40d9005d (diff)
downloadgdb-5fa222e4424d1e940baaff61d73b704588ff970e.zip
gdb-5fa222e4424d1e940baaff61d73b704588ff970e.tar.gz
gdb-5fa222e4424d1e940baaff61d73b704588ff970e.tar.bz2
* ld.texinfo: Document new -z lazy option.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle new option. (gld${EMULATION_NAME}_list_options): Update help text.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/elf32.em6
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 19d98fe..7f97ab7 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1826,6 +1826,11 @@ cat >>e${EMULATION_NAME}.c <<EOF
link_info.flags |= (bfd_vma) DF_BIND_NOW;
link_info.flags_1 |= (bfd_vma) DF_1_NOW;
}
+ else if (strcmp (optarg, "lazy") == 0)
+ {
+ link_info.flags &= ~(bfd_vma) DF_BIND_NOW;
+ link_info.flags_1 &= ~(bfd_vma) DF_1_NOW;
+ }
else if (strcmp (optarg, "origin") == 0)
{
link_info.flags |= (bfd_vma) DF_ORIGIN;
@@ -1909,6 +1914,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
fprintf (file, _(" -z execstack\t\tMark executable as requiring executable stack\n"));
fprintf (file, _(" -z initfirst\t\tMark DSO to be initialized first at runtime\n"));
fprintf (file, _(" -z interpose\t\tMark object to interpose all DSOs but executable\n"));
+ fprintf (file, _(" -z lazy\t\tMark object lazy runtime binding (default)\n"));
fprintf (file, _(" -z loadfltr\t\tMark object requiring immediate process\n"));
fprintf (file, _(" -z muldefs\t\tAllow multiple definitions\n"));
fprintf (file, _(" -z nocombreloc\tDon't merge dynamic relocs into one section\n"));