* coffcode.h (sec_to_styp_flags): Handle
authorKai Tietz <kai.tietz@onevision.com>
Tue, 27 Sep 2011 16:03:49 +0000 (16:03 +0000)
committerKai Tietz <kai.tietz@onevision.com>
Tue, 27 Sep 2011 16:03:49 +0000 (16:03 +0000)
SEC_LINK_DUPLICATES_SAME_CONTENTS, and
SEC_LINK_DUPLICATES_SAME_SIZE.

bfd/ChangeLog
bfd/coffcode.h

index 684a74d4314bd142802ea3538b9ec9661f16f27e..d34193192a2f3c1fdf021c78b54c4e0ac855515c 100644 (file)
@@ -1,3 +1,9 @@
+2011-09-27  Kai Tietz  <ktietz@redhat.com>
+
+       * coffcode.h (sec_to_styp_flags): Handle
+       SEC_LINK_DUPLICATES_SAME_CONTENTS, and
+       SEC_LINK_DUPLICATES_SAME_SIZE.
+
 2011-09-22  Tristan Gingold  <gingold@adacore.com>
 
        * configure.in: Bump version to 2.22.51
index 6f9685b4ee9f2033a2091fe85b4f36e6b9c9088a..62eeb20d763011d1b8fd534173e03f99f7e02af5 100644 (file)
@@ -670,7 +670,9 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
   /* FIXME: There is no gas syntax to specify the debug section flag.  */
   if (is_dbg)
     {
-      sec_flags &= (SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD);
+      sec_flags &= (SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD
+                   | SEC_LINK_DUPLICATES_SAME_CONTENTS
+                   | SEC_LINK_DUPLICATES_SAME_SIZE);
       sec_flags |= SEC_DEBUGGING | SEC_READONLY;
     }
 
@@ -698,7 +700,11 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
   /* skip SORT */
   if (sec_flags & SEC_LINK_ONCE)
     styp_flags |= IMAGE_SCN_LNK_COMDAT;
-  /* skip LINK_DUPLICATES */
+  if ((sec_flags
+       & (SEC_LINK_DUPLICATES_DISCARD | SEC_LINK_DUPLICATES_SAME_CONTENTS
+          | SEC_LINK_DUPLICATES_SAME_SIZE)) != 0)
+    styp_flags |= IMAGE_SCN_LNK_COMDAT;
+  
   /* skip LINKER_CREATED */
 
   if ((sec_flags & SEC_COFF_NOREAD) == 0)