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
commit0ade4216855ddbdcf3ccf978518378bb70b97b3d (patch)
treec4170f860486d066c981ac75e481d2fc480442ec /bfd/coffcode.h
parentec892d713ed3143505ff37d69dc2fe782e11074f (diff)
downloadgdb-0ade4216855ddbdcf3ccf978518378bb70b97b3d.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 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;