develooper Front page | perl.perl5.porters | Postings from May 2012

Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64(PA-RISC2.0/64/2 cpu)

Thread Previous | Thread Next
From:
H.Merijn Brand
Date:
May 5, 2012 01:32
Subject:
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64(PA-RISC2.0/64/2 cpu)
Message ID:
20120505103145.24af3c44@pc09.procura.nl
On Sat, 5 May 2012 07:13:28 +0100, Nicholas Clark <nick@ccl4.org> wrote:

> On Fri, May 04, 2012 at 01:38:00PM +0200, H.Merijn Brand wrote:
> > Automated smoke report for 5.15.9 patch 5a0c7e9d45ff6da450098635b233527990112d8a v5.15.9-270-g5a0c7e9
> > a5: PA8700 (PA-RISC2.0/64/2 cpu)
> >     on        HP-UX - B.11.00/64
> >     using     cc version B.11.X.35098-35101.GP
> >     smoketime 14 hours 53 minutes (average 1 hour 51 minutes)
> 
> > v5.15.9-270-g5a0c7e9  Configuration (common) none
> > ----------- ---------------------------------------------------------
> > O O O m - - 
> > O O O O O O -Duse64bitall
> > O O O m - - -Duseithreads
> > O O O O O O -Duseithreads -Duse64bitall
> 
> So, to replicate the 'm', configure exactly the same way:
> 
> ./Configure -de -DDEBUGGING -Dusedevel -Dcc=ccache\ cc -Dld=cc
> 
> 
> one gets these flags
> 
> $ egrep '^(optimize|ccflags)=' config.sh                              
> ccflags=' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -DDEBUGGING -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 '
> optimize='+O2 +Onolimit -g'
> $ make run.o                            
>         `sh  cflags "optimize='+O2 +Onolimit -g'" run.o`  run.c
>           CCCMD =  ccache cc -DPERL_CORE -c  -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -DDEBUGGING -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   +O2 +Onolimit -g  
> cc: error 1414: Can't handle preprocessed file "/perl/usr/nick/.ccache/run.tmp.p5p-hpux.28123.i" if -g and -O specified.
> *** Error exit code 1
> 
> Stop.
> 
> 
> Simply add -Duse64bitall to that Configure command line:
> 
> ./Configure -de -Duse64bitall -DDEBUGGING -Dusedevel -Dcc=ccache\ cc -Dld=cc
> 
> 
> and one gets the same flags, just with +DD64 added:
> 
> $ egrep '^(optimize|ccflags)=' config.sh
> ccflags=' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -DDEBUGGING -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 '
> optimize='+O2 +Onolimit -g'
> $ make run.o                            
>         `sh  cflags "optimize='+O2 +Onolimit -g'" run.o`  run.c
>           CCCMD =  ccache cc -DPERL_CORE -c  -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -DDEBUGGING -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   +O2 +Onolimit -g  
> cc: warning 404: Pre-processor not invoked, options ignored. 
> 
> 
> 
> and it works!
> 
> So it looks like a crazy compiler, in in that doesn't permit -g +O2 for 32 bit
> mode, but does permit -g +O2 for 64 bit mode. But wait. What's the bit about
> "Can't handle preprocessed file"
> 
> $ echo 'int i;' >bonkers.c
> $ cc -c -g +O2 bonkers.c           
> $ cc -E -g +O2 bonkers.c >bonkers.i 
> $ cc -c -g +O2 bonkers.i
> cc: error 1414: Can't handle preprocessed file "bonkers.i" if -g and -O specified.
> $ cat bonkers.i
> # 1 "bonkers.c"
> int i;
> 
> $ cc -c -g +O2 +DD64 bonkers.c     
> $ cc -E -g +O2 +DD64 bonkers.c >bonkers.i
> $ cc -c -g +O2 +DD64 bonkers.i           
> $ cat bonkers.i                          
> # 1 "bonkers.c"
> int i;
> 
> 
> No, it's not just crazy compiler, its insane! It handles -g +O2 just fine
> normally, but for 32 bit mode it refuses to accept pre-processed input.
> Whereas for 64 bit mode it does.
> 
> If HP think that this isn't a bug, I'd love to know what their excuse is.

Wow, what dig-work.

This is indeed insane. It probably only #fail this way on PA-RISC, as
the itanium boxes seem to accept these. I do not expect HP to come with
a fix, as PA-RISC is kinda abandoned. I could try to contact them.

Shall I alter the hints to drop +O when -g is in place?

I also tried with +O1, but the effect was the same

> Nicholas Clark


-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.14   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About