aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 6a8a8cb..d66d98a 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;