[spu-4_5-branch][Patch,committed] New pass to partition single function into multiple sections - debug support

Revital1 Eres ERES@il.ibm.com
Sun Dec 7 11:58:00 GMT 2008


Hello,

The attached patch was committed to spu-4_5-branch.
It adds support for debug information when partitioning a function into
sections.
A former posting of the patch can be found in:
http://gcc.gnu.org/ml/gcc-patches/2008-08/msg01155.html
It passes full bootstrap and regtest on powerpc64 and x86_64. On SPU it
passes regtest (c, c++, and fortran) (all tested on spu-4_5-branch)

Thanks,
Revital


Changelog:

        * toplev.c (process_options): Enable
        -fpartition-functions-into-sections when debugging is set.
        * opts.c (decode_options): Likewise for unwind_tables and.
        exceptions.
        * vmsdbgout.c (vmsdbg_debug_hooks): Change declaration of.
        switch_text_section field.
        * debug.c (do_nothing_debug_hooks): Likewise.
        * debug.h (gcc_debug_hooks): Likewise.
        (dwarf2out_switch_text_section): Change declaration.
        * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Change
        declaration of switch_text_section.
        * final.c (final_scan_insn): Support new functionality.
        * dwarf2out.c (COMP_UNIT_HAS_SECTIONS): define.
        (first_section_p, last_section_p): New fields in dw_fde_node.
        (block_aux_struct): New type for information regarding a lexical
        block.
        (block_labels_table): A table to hold information regarding a
        lexical block.
        (label_wrapper): New struct.
        (output_call_frame_info, dwarf2out_begin_prologue,
        dwarf2out_end_epilogue, add_var_loc_to_decl): Add support for
        function partitioning.,
        (dwarf2out_switch_text_section): Likewise and also add parameter to
        pass the section id.
        (copy_cfi, copy_cfi_from_previous_fde, push_new_label,
        blk_info_hash, blk_info_eq, clear_block_labels,
        add_new_loc, add_tables_to_decl_loc_table,
        convert_cfa_to_fb_loc_list_multiple_sections): New functions to
        support debug information for function partitioning.
        (die_sections_def): New struct.
        (sections_info): New field in die_node.
        new_section_p, end_section_p): New fields to var_loc_node.
        (decl): New field to var_loc_list_def structure.
        (output_aranges, add_location_or_const_value_attribute,
        gen_subprogram_die, add_high_low_attributes,
        dwarf2out_begin_block, dwarf2out_end_block, dwarf2out_init,
        dwarf2out_finish): Support new functionality.
        * sdbout.c (sdb_debug_hooks): Change declaration of
        switch_text_section.

testsuite/

        * gcc.dg/sections/section.exp: Support debug testcases.
        * gcc.dg/sections/section-debug-1.c: New test.

(See attached file: partition_debug_07_12.txt)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: partition_debug_07_12.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081207/ceedfcc1/attachment.txt>


More information about the Gcc-patches mailing list