diff options
author | Nick Clifton <nickc@redhat.com> | 2003-05-21 11:31:07 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-05-21 11:31:07 +0000 |
commit | 7ed2c8b0264cbcdcd2b8222bf444e960a9690bce (patch) | |
tree | a724d69e7b3a43aee99bd7a82aab008977370637 /gas | |
parent | fec2c52d36ccac89c4326ce2fd97c1fadab52e2e (diff) | |
download | gdb-7ed2c8b0264cbcdcd2b8222bf444e960a9690bce.zip gdb-7ed2c8b0264cbcdcd2b8222bf444e960a9690bce.tar.gz gdb-7ed2c8b0264cbcdcd2b8222bf444e960a9690bce.tar.bz2 |
Fix dw3gencfi.c so that it will build on targets that do not define BFD_ASSEMBLER.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/dw2gencfi.c | 15 |
2 files changed, 19 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 011bc5d..b38f58b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2003-05-21 Nick Clifton <nickc@redhat.com> + + * dw2gencfi.c (cfi_get_label): Use symbol_make for non + BFD_ASSEMBLER targets. + (cfi_startproc): Change type of saved_seg and cfi_seg to segT. + (dot_cfi_endproc): Only call bfd_set_section_flags for targets + defining BFD_ASSEMBLER. + 2003-05-20 Michal Ludvig <mludvig@suse.cz> * as.c (main): Remove tc_cfi_init(). diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 8083e5d..0b50592 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -351,22 +351,27 @@ cfi_get_label (void) { if ((S_GET_VALUE (symbolP) == frag_now_fix ()) && (S_GET_SEGMENT (symbolP) == now_seg)) - { - return symbolP; - } + return symbolP; + snprintf (symname, sizeof (symname), "%s_0x%lx_%u", symbase, (long) frag_now_fix (), i++); } +#ifdef BFD_ASSEMBLER symbolP = (symbolS *) local_symbol_make (symname, now_seg, (valueT) frag_now_fix (), frag_now); +#else + symbolP = symbol_make (symname); +#endif return symbolP; } static void dot_cfi_startproc (void) { +#ifdef tc_cfi_frame_initial_instructions const char *simple = "simple"; +#endif if (cfi_info) { @@ -596,7 +601,7 @@ dot_cfi_endproc (void) char *cie_buf, *fde_buf, *pbuf, *where; unsigned long buf_size, cie_size, fde_size, last_cie_offset; unsigned long fde_initloc_offset, fde_len_offset, fde_offset; - void *saved_seg, *cfi_seg; + segT saved_seg, cfi_seg; expressionS exp; if (! cfi_info) @@ -609,8 +614,10 @@ dot_cfi_endproc (void) /* Open .eh_frame section. */ saved_seg = now_seg; cfi_seg = subseg_new (".eh_frame", 0); +#ifdef BFD_ASSEMBLER bfd_set_section_flags (stdoutput, cfi_seg, SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_DATA); +#endif subseg_set (cfi_seg, 0); /* Build CIE. */ |