summaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-04-26 15:28:05 +0000
committerNick Clifton <nickc@redhat.com>2011-04-26 15:28:05 +0000
commitc79113e8396cdaaef48cdf5d0b6ef5c64591bcf8 (patch)
tree2e9e2121f74b2b3e5e25b08842d462a040a00a27 /bfd/coffcode.h
parent293f21632270292dd425d9d55015c398069f3324 (diff)
downloadgdb-c79113e8396cdaaef48cdf5d0b6ef5c64591bcf8.tar.gz
* dw2gencfi.c (dwcfi_seg_list): New struct.
(dwcfi_hash): New static hash variable. (get_debugseg_name): New. (alloc_debugseg_item): New. (make_debug_seg): New. (dwcfi_hash_insert): New. (dwcfi_hash_find): New. (dwcfi_hash_find_or_make): New. (cfi_insn_data): New member cur_seg. (cie_entry): Likewise. (fde_entry): New cseg and handled members. (alloc_fde_entry): Initialize cseg member. (alloc_cfi_insn_data): Initialize cur_seg member. (dot_cfi_sections): Compare for beginning of section names via strncmp. (get_cfi_seg): New. (cfi_finish): Treat link-once sections. (is_now_linkonce_segment): New local helper. (output_cie): Ignore cie entries not member of current segment. (output_fde): Likewise. (select_cie_for_fde): Likewise. (cfi_change_reg_numbers): Add new argument for current segment and ignore insn elements, if not part of current segment. * ehopt.c (get_cie_info): Use strncmp for section name matching. (heck_eh_frame): Likewise. * coffcode.h (sec_to_styp_flags): Allow linkonce for debugging sections. * scripttempl/pe.sc: Handle .eh_frame($|.)* sections. * scripttempl/pep.sc: Likewise. * ld-pe/pe.exp: Add cfi/cfi32 tests. * ld-pe/cfi.d: New. * ld-pe/cfi32.d: New. * ld-pe/cfia.s: New. * ld-pe/cfib.s: New.
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 9db86b5be60..b8b856efc94 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -658,7 +658,10 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
/* FIXME: There is no gas syntax to specify the debug section flag. */
if (is_dbg)
- sec_flags = SEC_DEBUGGING | SEC_READONLY;
+ {
+ sec_flags &= (SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD);
+ sec_flags |= SEC_DEBUGGING | SEC_READONLY;
+ }
/* skip LOAD */
/* READONLY later */