Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

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

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


nick at ccl4

May 4, 2012, 11:13 PM

Post #1 of 7 (152 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu)

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.

Nicholas Clark


h.m.brand at xs4all

May 5, 2012, 1:31 AM

Post #2 of 7 (144 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu) [In reply to]

On Sat, 5 May 2012 07:13:28 +0100, Nicholas Clark <nick [at] ccl4> 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/


nick at ccl4

May 5, 2012, 1:43 AM

Post #3 of 7 (144 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu) [In reply to]

On Sat, May 05, 2012 at 10:31:45AM +0200, H.Merijn Brand wrote:

> Wow, what dig-work.

Thanks.

> 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.

If it's in support, please do contact them. I'd hope that they'd agree
that it's a bug, even if they don't want to fix it.

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

I guess so. Although it sort of feels more like fixing the symptoms than the
problem. In that I think also Configure should have validated the combined
compiler flags it created worked (which probably isn't that hard to add)
and then (at least) bailed out (easy).

But ideally it would have gone "oh, I can't add -g" or "I can add -g but I'll
have to ignore optimize", because I'm quite surprised that any compiler other
than gcc is happy with -O and -g. But that's harder.

IIRC the "old style" way of things was that -DDEBUGGING was added if "optimize"
contained -g, so there wasn't this problem. There *was* the problem that people
(rightly) didn't expect the slowdown from -DDEBUGGING if all they wanted to do
was add C level debugging symbols.

Nicholas Clark


philip.monsen at gmail

May 5, 2012, 1:00 PM

Post #4 of 7 (143 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu) [In reply to]

On Sat, May 5, 2012 at 1:13 AM, Nicholas Clark <nick [at] ccl4> wrote:

> 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.
>

Note that this only seems to afflict /usr/bin/cc. The aCC compiler (e.g.
B3910B A.03.85 on 11.31 PA-RISC) does not exhibit this odd behavior.

--Phil


h.m.brand at xs4all

May 6, 2012, 1:51 AM

Post #5 of 7 (148 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu) [In reply to]

On Sat, 5 May 2012 15:00:15 -0500, Philip Monsen
<philip.monsen [at] gmail> wrote:

> On Sat, May 5, 2012 at 1:13 AM, Nicholas Clark <nick [at] ccl4> wrote:
>
> > 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.
> >
>
> Note that this only seems to afflict /usr/bin/cc. The aCC compiler (e.g.
> B3910B A.03.85 on 11.31 PA-RISC) does not exhibit this odd behavior.

I'm seeing it with HP C-ANSI-C too, soo only aCC does it "right"

> --Phil


--
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/


h.m.brand at xs4all

May 6, 2012, 4:05 AM

Post #6 of 7 (143 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu) [In reply to]

On Sat, 5 May 2012 09:43:36 +0100, Nicholas Clark <nick [at] ccl4> wrote:

> On Sat, May 05, 2012 at 10:31:45AM +0200, H.Merijn Brand wrote:
>
> > Wow, what dig-work.
>
> Thanks.
>
> > 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.
>
> If it's in support, please do contact them. I'd hope that they'd agree
> that it's a bug, even if they don't want to fix it.
>
> > Shall I alter the hints to drop +O when -g is in place?
>
> I guess so. Although it sort of feels more like fixing the symptoms than the
> problem. In that I think also Configure should have validated the combined
> compiler flags it created worked (which probably isn't that hard to add)
> and then (at least) bailed out (easy).
>
> But ideally it would have gone "oh, I can't add -g" or "I can add -g but I'll
> have to ignore optimize", because I'm quite surprised that any compiler other
> than gcc is happy with -O and -g. But that's harder.
>
> IIRC the "old style" way of things was that -DDEBUGGING was added if "optimize"
> contained -g, so there wasn't this problem. There *was* the problem that people
> (rightly) didn't expect the slowdown from -DDEBUGGING if all they wanted to do
> was add C level debugging symbols.

As this - most likely - only occurs with non-gcc compilers, and those
are probably all commercial, I have no problem with dealing with this
in the hints.

I now have a workable hint change ready to apply. OK for pre-5.16?

--
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/


perl.p5p at rjbs

May 6, 2012, 4:55 AM

Post #7 of 7 (145 views)
Permalink
Re: Smoke [5.15.9] v5.15.9-270-g5a0c7e9 FAIL(m) HP-UX B.11.00/64 (PA-RISC2.0/64/2 cpu) [In reply to]

* "H.Merijn Brand" <h.m.brand [at] xs4all> [2012-05-06T07:05:50]
>
> I now have a workable hint change ready to apply. OK for pre-5.16?

Please.

--
rjbs
Attachments: signature.asc (0.48 KB)

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.