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