diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2009-06-25 13:39:27 +0000 |
---|---|---|
committer | Kai Tietz <kai.tietz@onevision.com> | 2009-06-25 13:39:27 +0000 |
commit | bdeb4032eaf0e30991521429c3acc85987eda965 (patch) | |
tree | 4328230517a500030368503d6ace8f1e6a88ca5e | |
parent | d64703c6e89b6a4ad72cc40e7f9918f3e4e54e5b (diff) | |
download | gdb-bdeb4032eaf0e30991521429c3acc85987eda965.zip gdb-bdeb4032eaf0e30991521429c3acc85987eda965.tar.gz gdb-bdeb4032eaf0e30991521429c3acc85987eda965.tar.bz2 |
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.
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/coffcode.h | 10 |
2 files changed, 15 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5a27b64..3ae57bc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +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. + 2009-06-25 Tristan Gingold <gingold@adacore.com> * mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound) 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; |