2000-07-20 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 20 Jul 2000 21:16:58 +0000 (21:16 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 20 Jul 2000 21:16:58 +0000 (21:16 +0000)
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.

bfd/ChangeLog
bfd/elflink.h

index d9af253b3e64d1ee23bed261ae385e31765ecac4..b83198cf4e85903b0d9fd3fff96976c1320c7bc5 100644 (file)
@@ -1,3 +1,8 @@
+2000-07-20  H.J. Lu  <hjl@gnu.org>
+
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
+       DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
+
 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
 
        * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
@@ -39,7 +44,7 @@
        * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
        * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
 
-       * bfd/elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
        set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
        DT_RPATH is set.
        Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
index 1bf366873a821a0998e92d3f612f310baeb6184c..10cf2ae8b911723fddede400e582b6e2ad17ea29 100644 (file)
@@ -2848,7 +2848,8 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath,
                                     true, true);
          if (indx == (bfd_size_type) -1
              || ! elf_add_dynamic_entry (info, DT_RPATH, indx)
-             || ! elf_add_dynamic_entry (info, DT_RUNPATH, indx))
+             || (info->new_dtags
+                 && ! elf_add_dynamic_entry (info, DT_RUNPATH, indx)))
            return false;
        }
 
@@ -3137,7 +3138,7 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath,
          elf_tdata (output_bfd)->cverdefs = cdefs;
        }
 
-      if (info->flags)
+      if (info->new_dtags && info->flags)
        {
          if (! elf_add_dynamic_entry (info, DT_FLAGS, info->flags))
            return false;