Re: [Consult] about git commit "e52beba PR debug/54694"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/5/15 08:07, Chen Gang wrote:
> Hello all:
>
> It is about Bug65804, after this git commit below, the current blackfin
> kernel code can not pass building when enable FUNCTION_TRACER.
>
> I want to consult: Is it the original gcc and current kernel issue? or
> our related git commit "e52beba PR debug/54694" need be improved?
>

After a simple check, for me, I guess our gcc need be improved.

Unlike the other archs, bfin will generate LINK and UNLINK insns when
"-fno-omit-frame-pointer", which can be sure FP is always OK.

Thanks.

> The related git commit:
>
> commit e52beba9024b5499c5a75929423764b9aa81ffb8
> Author: rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date: Wed Jan 15 21:41:03 2014 +0000
>
> PR debug/54694
>
> Diagnose frame_pointer_required vs fixed hfp
>
> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206647 138bc75d-0d04-0410-961f-82ee72b054a4
>
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index c93bf23..075582a 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,3 +1,11 @@
> +2014-01-15 Richard Henderson <rth@xxxxxxxxxx>
> +
> + PR debug/54694
> + * reginfo.c (global_regs_decl): Globalize.
> + * rtl.h (global_regs_decl): Declare.
> + * ira.c (do_reload): Diagnose frame_pointer_needed and it
> + reserved via global_regs.
> +
> 2014-01-15 Teresa Johnson <tejohnson@xxxxxxxxxx>
>
> * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
> diff --git a/gcc/ira.c b/gcc/ira.c
> index 41e05f4..ee6010a 100644
> --- a/gcc/ira.c
> +++ b/gcc/ira.c
> @@ -5532,6 +5532,18 @@ do_reload (void)
> if (need_dce && optimize)
> run_fast_dce ();
>
> + /* Diagnose uses of the hard frame pointer when it is used as a global
> + register. Often we can get away with letting the user appropriate
> + the frame pointer, but we should let them know when code generation
> + makes that impossible. */
> + if (global_regs[HARD_FRAME_POINTER_REGNUM] && frame_pointer_needed)
> + {
> + tree decl = global_regs_decl[HARD_FRAME_POINTER_REGNUM];
> + error_at (DECL_SOURCE_LOCATION (current_function_decl),
> + "frame pointer required, but reserved");
> + inform (DECL_SOURCE_LOCATION (decl), "for %qD", decl);
> + }
> +
> timevar_pop (TV_IRA);
> }
>
> ...
>
> Thanks.
> --
> Chen Gang (陈刚)
>
> Open, share, and attitude like air, water, and life which God blessed
>
>

--
Chen Gang (陈刚)

Open, share, and attitude like air, water, and life which God blessed
 		 	   		  




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux