This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Mon, Jul 7, 2008 at 2:08 AM, Guo, Xuepeng <xuepeng.guo@intel.com> wrote: > This patch is derived from v7:Update DWARF2 and contains comments from > Jason. These comments are really valuable. We appreciate that Jason can > review it. The changes compared to the previous version are: > 1) We moved the necessary prototypes higher in the file instead of > moving function bodies around in the file. > 2) In the DRAP case, "mov %esp, %ebp" really can cause unnecessary > DWARF2 information. So now we don't generate any DWARF2 information for > it. > 3) Now Rule 19 only redefine CFA with expression. > 4) Stack pointer will be restored through CFA value by default for DRAP > case. > 5) Fixed Bug 36728. > > Jason, could you please take time to review again? Thanks very much. > Hi Jason, Here is the updated DWARF patch from stack branch based on your feedbacks. The main difference from http://gcc.gnu.org/ml/gcc-patches/2008-07/msg00505.html is to add an assert for (set fp sp) after stack is aligned as in http://gcc.gnu.org/ml/gcc-patches/2008-07/msg00562.html Can you take a look? Thanks. H.J. --- 2008-07-07 Xuepeng Guo <xuepeng.guo@intel.com> H.J. Lu <hongjiu.lu@intel.com> * dwarf2out.c (dw_fde_struct): Add stack_realignment, drap_reg, vdrap_reg and stack_realign. (add_cfi): Don't redefine CFA when DRAP is used. (reg_save): Handle stack alignment. (dwarf2out_frame_debug_expr): Add rules 16-20 to handle stack alignment. Don't generate DWARF information for (set fp sp) when DRAP is used. (dwarf2out_begin_prologue): Initialize drap_reg and vdrap_reg to INVALID_REGNUM. (int_loc_descriptor): Move prototype forward. Also define if DWARF2_UNWIND_INFO is true. (output_cfa_loc): Handle DW_CFA_expression. (build_cfa_aligned_loc): New. (based_loc_descr): Update assert for stack realign. For local variables, use sp+offset when stack is aligned without drap and fp+offset when stack is aligned with drap. For arguments, use cfa+offset when drap is used to align stack.
Attachment:
gcc-stack-v9-4.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |