* elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
authorAlan Modra <amodra@gmail.com>
Mon, 12 Feb 2007 11:14:01 +0000 (11:14 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 12 Feb 2007 11:14:01 +0000 (11:14 +0000)
bfd/ChangeLog
bfd/elflink.c

index 3c64c6a11ebb6d03c96f03f558ae6c31dd58bdfe..5dcf47be3432e51c1f3bbd6a30053b8d9f04bcf7 100644 (file)
@@ -1,3 +1,7 @@
+2007-02-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
+
 2007-02-05  Dave Brolley  <brolley@redhat.com>
             Stan Cox  <scox@redhat.com>
 
index b4dfcebae917d828198271421062c10a149cb5c1..0b4064189fbe42fb80787ac588b1384f05686038 100644 (file)
@@ -1,6 +1,6 @@
 /* ELF linking support for BFD.
    Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006 Free Software Foundation, Inc.
+   2005, 2006, 2007 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -10938,12 +10938,15 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
       if ((abfd->flags & DYNAMIC) != 0)
        continue;
 
-      eh = bfd_get_section_by_name (abfd, ".eh_frame");
-      if (info->relocatable
-         || (eh != NULL
+      eh = NULL;
+      if (!info->relocatable)
+       {
+         eh = bfd_get_section_by_name (abfd, ".eh_frame");
+         if (eh != NULL
              && (eh->size == 0
-                 || bfd_is_abs_section (eh->output_section))))
-       eh = NULL;
+                 || bfd_is_abs_section (eh->output_section)))
+           eh = NULL;
+       }
 
       stab = bfd_get_section_by_name (abfd, ".stab");
       if (stab != NULL