From 0ade4216855ddbdcf3ccf978518378bb70b97b3d Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Thu, 25 Jun 2009 13:39:27 +0000 Subject: 2009-06-25 Kai Tietz * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and give .debug and .reloc data characteristics. (DOT_RELOC): New define for .reloc section string. (coff_write_object_contents): Use DOT_RELOC instead of string. --- bfd/coffcode.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'bfd/coffcode.h') diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 6a8a8cbcbcb..d66d98aa893 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -371,6 +371,7 @@ CODE_FRAGMENT #define DOT_DEBUG ".debug" #define GNU_LINKONCE_WI ".gnu.linkonce.wi." +#define DOT_RELOC ".reloc" #if defined (COFF_LONG_SECTION_NAMES) /* Needed to expand the inputs to BLANKOR1TOODD. */ @@ -645,7 +646,12 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags) /* FIXME: There is no gas syntax to specify the debug section flag. */ if (CONST_STRNEQ (sec_name, DOT_DEBUG) || CONST_STRNEQ (sec_name, GNU_LINKONCE_WI)) - sec_flags = SEC_DEBUGGING | SEC_READONLY; + sec_flags = SEC_DATA | SEC_LOAD | SEC_ALLOC | SEC_DEBUGGING | SEC_READONLY; + else if (CONST_STRNEQ (sec_name, DOT_RELOC)) + { + sec_flags = SEC_DATA | SEC_LOAD | SEC_ALLOC | SEC_READONLY; + styp_flags |= IMAGE_SCN_MEM_DISCARDABLE; + } /* skip LOAD */ /* READONLY later */ @@ -3625,7 +3631,7 @@ coff_write_object_contents (bfd * abfd) bfd_boolean is_reloc_section = FALSE; #ifdef COFF_IMAGE_WITH_PE - if (strcmp (current->name, ".reloc") == 0) + if (strcmp (current->name, DOT_RELOC) == 0) { is_reloc_section = TRUE; hasrelocs = TRUE; -- cgit v1.2.1