GNU Pascal Homepage - gpc - gpc-announce - gpc-de - gpc-doc
Diese Seite auf deutsch

Mail #13619

Back to main page of archive

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  


Replies

Author Subject Date
Waldek Hebisch New (gpc-20060325) 16 Jun 2006, 05:23:45

In reply to

Author Subject Date
Waldek Hebisch New (gpc-20060325) 25 Mar 2006, 06:17:26
Gert Doering New (gpc-20060325) 19 May 2006, 13:47:11
Frank Heckenbach New (gpc-20060325) 19 May 2006, 15:45:06
Gert Doering New (gpc-20060325) 26 May 2006, 14:14:05

Back to main page of archive


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