no, this is not the way to fix bugs. If you need that for Olimit, simply
change the makefile. We can't keep increasing Olimit because one program
needs it bigger, we keep doing that, we might as well put Olimit to infinity
Sun

On Fri, Nov 18, 2011 at 10:42 AM, Gang Yu <yugang...@gmail.com> wrote:

> Hi,
>
>    Could a gatekeeper please help review the fix for bug919?
> https://bugs.open64.net/show_bug.cgi?id=919 Thank you very much
>
> when compiling big programs like linux kernel, open64's default olimit is
> not sufficient, which leads to no PU scope optimisation furthur more. In
> current optimisation infrastructure,  cases like this
>
> static inline __attribute__((always_inline)) struct task_struct
> *get_current(void)
> {
>  return ({ typeof(per_cpu__current_task) ret__; switch
> (sizeof(per_cpu__current_task)) { case 1: asm("mov" "b ""%%""gs"":%P"
> "1"",%0" : "=q" (\
> ret__) : "p" (&per_cpu__current_task)); break; case 2: asm("mov" "w
> ""%%""gs"":%P" "1"",%0" : "=r" (ret__) : "p" (&per_cpu__current_task)); br\
> eak; case 4: asm("mov" "l ""%%""gs"":%P" "1"",%0" : "=r" (ret__) : "p"
> (&per_cpu__current_task)); break; case 8: asm("mov" "q ""%%""gs"":%P" "\
> 1"",%0" : "=r" (ret__) : "p" (&per_cpu__current_task)); break; default:
> __bad_percpu_size(); } ret__; });
> }
>
> will then fail to assembler assert.
>
> "fs/ocfs2/alloc.c": Warning  To override Olimit for all functions in file,
> use -OPT:Olimit=6247
>         (Compiler may run out of memory or run very slowly for large
> Olimit values)
> /tmp/ccspin#.haIHQS.s: Assembler messages:
> /tmp/ccspin#.haIHQS.s:30831: Error: Incorrect register `%eax' used with
> 'b' suffix
> The suggest patch:
>
> diff --git a/osprey/common/com/config_opt.cxx
> b/osprey/common/com/config_opt.cxx
> index 942920a..2fdc719 100644
> --- a/osprey/common/com/config_opt.cxx
> +++ b/osprey/common/com/config_opt.cxx
> @@ -199,8 +199,8 @@ BOOL GCM_Speculative_Ptr_Deref_Set=FALSE;   /* ...
> option seen? */
>  #define DEFAULT_OLIMIT         24000
>  #define DEFAULT_O3_OLIMIT      30000   /* allow more time for -O3
> compiles */
>  #else
> -#define DEFAULT_OLIMIT          6000
> -#define DEFAULT_O3_OLIMIT       9000    /* allow more time for -O3
> compiles */
> +#define DEFAULT_OLIMIT          12000
> +#define DEFAULT_O3_OLIMIT       18000    /* allow more time for -O3
> compiles */
>  #endif
> merged with this patch, we do not find olimit warning any more when
> compiling kernel.
>
> Would a gatekeeper approve this? Thanks
>
> Regards
> Gang
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure
> contains a definitive record of customers, application performance,
> security threats, fraudulent activity, and more. Splunk takes this
> data and makes sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-novd2d
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to