Previous mail
Next mail
Unformatted/full headers
Overview 10 days
Subject
Date
Thread
Author
From: Frank Heckenbach
Subject: New (gpc-20060325)
Date: 4 Jun 2006, 04:34:51
Gert Doering wrote:
> so maybe portable code really should avoid using the same quote character
> on different levels. Which means, the "right" thing to do would be:
>
> echo "$PC `$PC $PFLAGS -dumpversion`, flags: $PFLAGS_NO_PATHS `if [ x"$GP" != x ]; then echo '(using GP)'; fi`"
>
> - which seems to be fully portable to all shells I have tried.
Good idea, thanks.
> > > After that, the test suite starts, but *all* test programs fail:
> > >
> > > "gmake pascal.check-long" explains what is going wrong:
> > >
> > > Test Run By gd on 2006-05-19 13:43:03
> > > Native configuration is powerpc-ibm-aix5.3.0.0 (hilb31)
> > > /s1/gpc-build-20060325-3.4.6/gcc/xgpc -B/s1/gpc-build-20060325-3.4.6/gcc/ 20060325, based on gcc-3.4.6, flags: -g -O3 -W -Wall -Wno-unused
> > > GPC-TEST-BEGIN
> > > ==========================
> > > TEST abso1.pas: cc1: warning: command line option "-funit-path=/gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6/units" is valid for Pascal but not for C
> > > cc1: warning: command line option "-fno-unit-path" is valid for Pascal but not for C
> > > cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/units" is valid for Pascal but not for C
> > > cc1: warning: command line option "-fautobuild" is valid for Pascal but not for C
> > > cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/test" is valid for Pascal but not for C
> > > cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/test/../rts" is valid for Pascal but not for C
> > > cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/test/../units" is valid for Pascal but not for C
> > > cc1: warning: command line option "-fexecutable-path=." is valid for Pascal but not for C
> > > OK
> > >
> > > I'm not sure how to proceed here. Why is it calling cc1? Why is it passing
> > > options that the backend doesn't like? Is this something that gcc-3.4.6
> > > has changed?
> >
> > For debugging, you could insert an echo statement in test_run,
>
> OK, here we go. This is how it's called:
>
> ---PC_WITH_FLAGS---
> /s1/gpc-build-20060325-3.4.6/gcc/xgpc -B/s1/gpc-build-20060325-3.4.6/gcc/ --unit-path=/gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6/units -I /gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6/units -I ../rts --no-unit-path --unit-path=/s1/gcc-3.4.6/gcc/p/units --autobuild -g -O3 -W -Wall -Wno-unused -o a.out --unit-path=/s1/gcc-3.4.6/gcc/p/test --unit-path=/s1/gcc-3.4.6/gcc/p/test/../rts --unit-path=/s1/gcc-3.4.6/gcc/p/test/../units -I /s1/gcc-3.4.6/gcc/p/test -I /s1/gcc-3.4.6/gcc/p/test/../units --executable-path=. -Werror /s1/gcc-3.4.6/gcc/p/test/abso1.pas
> ---PC_WITH_FLAGS---
>
> If I run that on "hello.pas" I get the same warnings from "cc1".
>
> Adding "-v" to the gpc command line suggests that the warnings might come
> from "collect2":
Ah, collect2 ... :-/
> ... GNU Pascal Compiler PreProcessor version 20060325, based on
> gcc-3.4.6
>
> {$include "..."} search starts here:
> {$include <...>} search starts here:
> /gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6/units
> ../rts
> /s1/gcc-3.4.6/gcc/p/test
> /s1/gcc-3.4.6/gcc/p/test/../units
> End of search list.
> as -u -mppc -o /tmp//cchPIwsI.o /tmp//cckcaRBw.s
> /s1/gpc-build-20060325-3.4.6/gcc/collect2 -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bexport:/usr/lib/libg.exp -o a.out /lib/crt0.o -L/s1/gpc-build-20060325-3.4.6/gcc -L/gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6 -L/gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6/../../.. /tmp//cchPIwsI.o -lgpc -lm /s1/gpc-build-20060325-3.4.6/gcc/libgcc.a /s1/gpc-build-20060325-3.4.6/gcc/libgcc_eh.a -lg -lc /s1/gpc-build-20060325-3.4.6/gcc/libgcc.a /s1/gpc-build-20060325-3.4.6/gcc/libgcc_eh.a
> cc1: warning: command line option "-funit-path=/gnulocal/lib/gcc/powerpc-ibm-aix5.3.0.0/3.4.6/units" is valid for Pascal but not for C
> cc1: warning: command line option "-fno-unit-path" is valid for Pascal but not for C
> cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/units" is valid for Pascal but not for C
> cc1: warning: command line option "-fautobuild" is valid for Pascal but not for C
> cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/test" is valid for Pascal but not for C
> cc1: warning: command line option "-funit-path=/s1/gcc-3.4.6/gcc/p/test/../rts" is valid for Pascal but not for C
>
> I still don't understand it, though. Where does collect2 get these options
> from? Are they included in the .o file?
I also wonder. Strangely, in the collect2 command line above, these
options don't even appear. OTOH, I think collect2 does some fairly
convoluted stuff (e.g., to output C++ templates AFAIK), so I
wouldn't even be surprised if the options are embedded in the .o
files or something ... :-(
Can you try calling collect2 manually as above? You'll need to save
the Pascal .o file (I hope gpc -c will produce equivalent results)
and substitute it for /tmp//cchPIwsI.o in the command line. If it
still produces those errors, it must be something like that.
You could also try grepping for the option names in all generated
files (in particular the Pascal .o file) ...
If that's it, I guess we'll have to find out why collect2 is trying
to compile something at all (and what?), and how to put only options
understood by C into the .o file (as that something appears to be
something C) ...
Frank
Previous mail
Next mail
Unformatted/full headers
Overview 10 days
Subject
Date
Thread
Author
| Author | Subject | Date |
|---|---|---|
| Waldek Hebisch | New (gpc-20060325) | 16 Jun 2006, 05:23:45 |
Note: This page contains information that does not originate from the owner of this web site, but from the authors of the mails archived. The owner of this web site is not responsible for the content of such information. Any use of that infomation requires the consent of the respective author.
Where WWW addresses (URLs) in the mails archived are marked as hyperlinks, this is only for the comfort of the reader. The content of the web pages linked to like this does not necessarily reflect the opinion of the owner of this web site or of the authors of the mails archived. The owner of this web site is not responsible for the content of such web pages. Those pages are explicitly not to be considered as part of the content of this page, but merely as references.
This page was created by Crystal 0.999 (Linux 2.4.27/i686).