Index: gas/dw2gencfi.c =================================================================== RCS file: /cvs/src/src/gas/dw2gencfi.c,v retrieving revision 1.52 diff -p -u -r1.52 dw2gencfi.c --- gas/dw2gencfi.c 26 Apr 2011 15:28:07 -0000 1.52 +++ gas/dw2gencfi.c 5 May 2011 00:18:58 -0000 @@ -86,6 +86,7 @@ struct dwcfi_seg_list #define FRAME_NAME ".eh_frame" +#ifdef md_fix_up_eh_frame static struct hash_control *dwcfi_hash; /* Build based on segment the derived .debug_... @@ -137,6 +138,7 @@ alloc_debugseg_item (segT seg, int subse r->seg_name = name; return r; } +#endif static segT is_now_linkonce_segment (void) @@ -151,6 +153,7 @@ is_now_linkonce_segment (void) return NULL; } +#ifdef md_fix_up_eh_frame /* Generate debug... segment with same linkonce properties of based segment. */ @@ -227,6 +230,7 @@ dwcfi_hash_find_or_make (segT cseg, cons return item; } +#endif /* ??? Share this with dwarf2cfg.c. */ #ifndef TC_DWARF2_EMIT_OFFSET @@ -1851,6 +1855,7 @@ cfi_change_reg_numbers (struct cfi_insn_ #define cfi_change_reg_numbers(insn, cseg) do { } while (0) #endif +#ifdef md_fix_up_eh_frame static segT get_cfi_seg (segT cseg, const char *base, flagword flags, int align) { @@ -1862,12 +1867,16 @@ get_cfi_seg (segT cseg, const char *base record_alignment (l->seg, align); return l->seg; } +#endif void cfi_finish (void) { struct cie_entry *cie, *cie_next; - segT cfi_seg, ccseg; +#ifdef md_fix_up_eh_frame + segT cfi_seg; +#endif + segT ccseg; struct fde_entry *fde; struct cfi_insn_data *first; int save_flag_traditional_format, seek_next_seg; @@ -1884,7 +1893,9 @@ cfi_finish (void) do { ccseg = NULL; +#ifdef md_fix_up_eh_frame cfi_seg = NULL; +#endif seek_next_seg = 0; for (cie = cie_root; cie; cie = cie_next) { @@ -1905,12 +1916,12 @@ cfi_finish (void) if (!seek_next_seg) { ccseg = fde->cseg; +#ifdef md_fix_up_eh_frame /* Open .eh_frame section. */ cfi_seg = get_cfi_seg (ccseg, ".eh_frame", SEC_ALLOC | SEC_LOAD | SEC_DATA | DWARF2_EH_FRAME_READ_ONLY, EH_FRAME_ALIGNMENT); -#ifdef md_fix_up_eh_frame md_fix_up_eh_frame (cfi_seg); #endif seek_next_seg = 1; @@ -1943,7 +1954,9 @@ cfi_finish (void) do { ccseg = NULL; +#ifdef md_fix_up_eh_frame cfi_seg = NULL; +#endif seek_next_seg = 0; for (cie = cie_root; cie; cie = cie_next) { @@ -1964,10 +1977,12 @@ cfi_finish (void) if (!seek_next_seg) { ccseg = fde->cseg; +#ifdef md_fix_up_eh_frame /* Open .debug_frame section. */ cfi_seg = get_cfi_seg (ccseg, ".debug_frame", SEC_READONLY | SEC_DEBUGGING, alignment); +#endif seek_next_seg = 1; } fde->handled = 1;