aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2011-09-27 16:03:49 +0000
committerKai Tietz <kai.tietz@onevision.com>2011-09-27 16:03:49 +0000
commit2b914c2b41098b857b931b753aabfdef525f10da (patch)
tree325daf529ea5093fffa20f1ed0f8ae349afc335e
parentebe9c501ffc2363e7b5ab00ff42f7acaae9ded6b (diff)
downloadgdb-2b914c2b41098b857b931b753aabfdef525f10da.zip
gdb-2b914c2b41098b857b931b753aabfdef525f10da.tar.gz
gdb-2b914c2b41098b857b931b753aabfdef525f10da.tar.bz2
* coffcode.h (sec_to_styp_flags): Handle
SEC_LINK_DUPLICATES_SAME_CONTENTS, and SEC_LINK_DUPLICATES_SAME_SIZE.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/coffcode.h10
2 files changed, 14 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 684a74d..d341931 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 6f9685b..62eeb20 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -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)