gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gm2] build failure


From: Gaius Mulley
Subject: Re: [Gm2] build failure
Date: 10 Nov 2005 00:19:16 +0000
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Waldek Hebisch <address@hidden> writes:

> Gaius Mulley wrote:
> > John B Wallace Jr <address@hidden> writes:
> > 
> > > The build of the latest CVS sources (03 November 2005) failed on my system
> > > (SUSE Linux 9.3 / Athlon 64):
> > >  
> > > ./xgm2 -Wnil -Wcase -Wbounds -Wreturn -g  -funbounded-by-reference 
> > > -Wverbose-unbounded -Wpim -Wpedantic-param-names -Wextended-opaque 
> > > -Wpedantic-cast -c -B./stage1/gm2 
> > > -I../../gcc-3.3.6/gcc/gm2/ulm-lib-gm2/std:../../gcc-3.3.6/gcc/gm2/ulm-lib-gm2/sys:../../gcc-3.3.6/gcc/gm2/gm2-libs
> > >  ../../gcc-3.3.6/gcc/gm2/ulm-lib-gm2/std/TimeIO.mod 
> > > -o gm2/ulm-lib-gm2/std/TimeIO.o
> > > ../../gcc-3.3.6/gcc/gm2/ulm-lib-gm2/std/TimeIO.mod: In function `RdTime':
> > > ../../gcc-3.3.6/gcc/gm2/ulm-lib-gm2/std/TimeIO.mod:367: internal compiler 
> > > error: in classify_argument, at config/i386/i386.c:1883
> > > Please report this crash to the GNU Modula-2 mailing list <address@hidden>
> > > make[1]: *** [gm2/ulm-lib-gm2/std/TimeIO.o] Error 1
> > > make[1]: Leaving directory `/home/john/gm2/host-build/gcc'
> > > make: *** [all-gcc] Error 2
> > > 
> > 
> > Hi John,
> > 
> > any chance you can email me the complete log, please. (Together with
> > the ./configure command),
> > 
> 
> this looks like the problem Gnu Pascal had: in 3.3.x series amd64 backend
> was unable to pass sets as arguments to functions/procedures. Namely,
> amd64 backend wants to pass arguments in register, and makes decision
> based on types. Unknown type gives the message above. 3.4.x series
> contains code to handle sets, but for 3.3.x Gnu Pascal still have to
> patch the backend. 
> 
> BTW. Set support in the backend is semi-broken: Gnu Pascal have a
> sizeable patch to the set code quite. Part of the patch is because
> Gnu Pascal want somewhat different represatation of sets (using
> fullwords) then provided by the backend, but the rest is due to bugs.
> I have tried to get fixes to set code into the mainline, but
> the part that chages functionality is outside. 
> 
> If GM2 wants to use backed set then coordinating with Gnu Pascal
> seems desirable -- it is nice to have common representation and
> common calling convention. 
> 
> *** gcc/config/i386/i386.c.orig       Tue May 18 07:07:52 2004
> --- gcc/config/i386/i386.c    Sun Oct 24 11:26:55 2004
> ***************
> *** 1879,1884 ****
> --- 1879,1909 ----
>               }
>           }
>       }
> +       else if (TREE_CODE (type) == SET_TYPE)
> +         {
> +           if (bytes <= 4)
> +             {
> +               classes[0] = X86_64_INTEGERSI_CLASS;
> +               return 1;
> +             }
> +           else if (bytes <= 8)
> +             {
> +           classes[0] = X86_64_INTEGER_CLASS;
> +           return 1;
> +             }
> +           else if (bytes <= 12)
> +             {
> +           classes[0] = X86_64_INTEGER_CLASS;
> +           classes[1] = X86_64_INTEGERSI_CLASS;
> +           return 2;
> +             }
> +           else
> +             {
> +           classes[0] = X86_64_INTEGER_CLASS;
> +           classes[1] = X86_64_INTEGER_CLASS;
> +           return 2;
> +             }
> +     }
>         else
>       abort ();
>   

Hi Waldek,

many thanks for the patch, yes I think cooperation with GNU Pascal
would be excellent. Over the last few weeks I've been trying to
improve the dwarf2 support for Modula-2 in gm2, gcc and gdb (building
on your work in gdb). I suspect some of the work would be useful for
GNU Pascal (better subrange information and array bound information
etc). My work is still incomplete (but the patches for gdb-6.3 and
gcc-3.3.6 are in the gm2 tree (inside gm2/patches)).

Ironically this work was initiated because the ppc port was failing
to build the second generation of GNU Modula-2 and I wanted gdb
to understand the first and follow sets used within gm2 :-)
Hopefully I'll get to pop a few stack frames and return to this
once gdb/gm2/gcc dwarf2 is cleared up,

Thanks for the above patch!

Gaius




reply via email to

[Prev in Thread] Current Thread [Next in Thread]