summaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2009-06-25 13:39:27 +0000
committerKai Tietz <kai.tietz@onevision.com>2009-06-25 13:39:27 +0000
commitb58e7741ba67c03e09e28e22ca4aab31db13cb83 (patch)
treefa6eafdc1216c60fc0d926451e06146daa36f3ee /bfd/coffcode.h
parent9e3707ceca49612e79943dbde0b96e2215f6d3a1 (diff)
downloadbinutils-redhat-b58e7741ba67c03e09e28e22ca4aab31db13cb83.tar.gz
2009-06-25 Kai Tietz <kai.tietz@onevision.com>
* 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.
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 6a8a8cbcbc..d66d98aa89 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;