gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] Does the --enable-ansi config option work?


From: Mike Thomas
Subject: Re: [Gcl-devel] Does the --enable-ansi config option work?
Date: Wed, 7 Aug 2002 09:27:36 +1000

Hi Camm.

> BTW, I'm under the impression that Windows still has full
> functionality in this regard, as it apparently is able to use the
> relocation code in sfasl.c, which refers to a relocate() function
> provided in rel_coff.c.  So this should not explain Mike's difficulty
> with the ansi build on Windows.  BTW, what is the status here?

I've been very slowly making headway - please excuse the details below, but
I am only going beat this with outside insights.

As you know the bfd mode of linking does not work (By my initial reading on
PE-COFF and also judging from the responses you got recently this will
require considerable work).

"Rsym.exe" based object loading works for the traditional build of GCL (and
Maxima) but not the ANSI build due to problems in braid.lisp (see the printf
debugging output at the end of thise message).

The build dies while compiling "braid.lisp" when attempting to dereference a
function pointer in "call_or_link()" from which the debug messages come:

----------------------------------------------------------------------------
---void
call_or_link(object sym, void **link )
{object fun;
 fun = sym->s.s_gfdef;
 if (fun == OBJNULL) {FEinvalid_function(sym); return;}
 if (type_of(fun) == t_cclosure
     && (fun->cc.cc_turbo))
   {if (Rset==0) {MMccall(fun, fun->cc.cc_turbo);}
    else (*(fun)->cf.cf_self)(fun->cc.cc_turbo);
    return;}
 if (Rset==0) funcall(fun);
   else
   if (type_of(fun) == t_cfun)
       { (void) vpush_extend( link,sLAlink_arrayA->s.s_dbind);
   (void) vpush_extend( *link,sLAlink_arrayA->s.s_dbind);
         *link = (void *) (fun->cf.cf_self);
         fprintf ( stderr, "call_or_link: fun %x\n", fun );
         fprintf ( stderr, "call_or_link: cf %x\n", fun->cf );
         fprintf ( stderr, "call_or_link: cf_name %x\n", fun->cf.cf_name );
         fprintf ( stderr, "call_or_link: cf_data %x\n", fun->cf.cf_data );
         fprintf ( stderr, "call_or_link: cf_self %x\n", fun->cf.cf_self );
         fflush ( stderr );
         fprintf ( stderr, "call_or_link: staddr %x\n",
fun->cf.cf_name->st.st_self );
         fprintf ( stderr, "call_or_link: ststring %s\n",
fun->cf.cf_name->st.st_self );
  (*(void (*)())(fun->cf.cf_self))();
       }
   else funcall(fun);}
----------------------------------------------------------------------------
---

When I stop relocation of bss sections in "relocate_symbols()" (sfasld.c),
the crash occurs earlier in the compilation but in the same place and after
successfully compiling other files.

(The reason I tried this is that the CVS code actually prints a message
claiming "dont do bss" (sic), but then promptly falls through a case
statement into the default COFF relocation process which is at least partly
different to standard COFF.  I don't understand what is going on there.)

Unfortunately gdb has a tendency to crash for me and Dr Mingw claims the
crash actually occurs in "main.c" when testing the *multiply-stacks*
variable.

Printf debugging seems to favour the gdb story.

Overall I am worried that the linking code was half finished and may
actually be part of this problem.

Cheers

Mike Thomas.


----------------------------------------------------------------------------
---
OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3

Finished compiling c:/cvs/gcl/pcl/braid.o.

Loading binary of BRAID...

call_or_link: staddr 10523714

call_or_link: ststring ADD-METHOD-DECLARATIONS

call_or_link: fun 10322ff0

call_or_link: cf 14

call_or_link: cf_name 1023a1f8

call_or_link: cf_data 1017d244

call_or_link: cf_self 10344628

call_or_link: staddr 104fdfac

call_or_link: ststring EARLY-COLLECT-INHERITANCE

call_or_link: fun 103f8870

call_or_link: cf 2f7914

call_or_link: cf_name 10235e34

call_or_link: cf_data 10437cf8

call_or_link: cf_self 1043c28c

call_or_link: staddr 1051a43c

call_or_link: ststring MAKE-OPTIMIZED-STD-READER-METHOD-FUNCTION

call_or_link: fun 10322c30

call_or_link: cf 14

call_or_link: cf_name 1023fee8

call_or_link: cf_data 1017d3e8

call_or_link: cf_self 10333f4c

call_or_link: staddr 105095b4

call_or_link: ststring SET-FUNCTION-NAME

call_or_link: fun 103f8860

call_or_link: cf 2f7914

call_or_link: cf_name 10235ad4

call_or_link: cf_data 10437cf8

call_or_link: cf_self 1043c408

call_or_link: staddr 1051a3e4

call_or_link: ststring MAKE-OPTIMIZED-STD-WRITER-METHOD-FUNCTION

call_or_link: fun 103f8850

call_or_link: cf 2f7914

call_or_link: cf_name 10235ab0

call_or_link: cf_data 10437cf8

call_or_link: cf_self 1043c574

call_or_link: staddr 1051a38c

call_or_link: ststring MAKE-OPTIMIZED-STD-BOUNDP-METHOD-FUNCTION

call_or_link: fun 10322fc0

call_or_link: cf 14

call_or_link: cf_name 10235f9c

call_or_link: cf_data 10347dac

call_or_link: cf_self 1034c1a8

call_or_link: staddr 105310b0

call_or_link: ststring MAKE-CLASS-PREDICATE-NAME

call_or_link: fun 10322bb0

call_or_link: cf 14

call_or_link: cf_name 1031d18c

call_or_link: cf_data 1017d208

call_or_link: cf_self 1033d8fc

call_or_link: staddr 104fddac

call_or_link: ststring CCLOSURE-ENV-NTHCDR0ECD-OTHER-INITARGST

call_or_link: fun 10322b80

call_or_link: cf 14

call_or_link: cf_name 102aac84

call_or_link: cf_data 1017d208

call_or_link: cf_self 1033e1b4

call_or_link: staddr 104ff94c

call_or_link: ststring %SET-CCLOSURE

call_or_link: fun 103541d0

call_or_link: cf 543c14

call_or_link: cf_name 102353a8

call_or_link: cf_data 1043730c

call_or_link: cf_self 10480a20

call_or_link: staddr 10531138

call_or_link: ststring BOOTSTRAP-ACCESSOR-DEFINITION

call_or_link: fun 103f8ca0

call_or_link: cf 2f7914

call_or_link: cf_name 10193c3c

call_or_link: cf_data 10347604

call_or_link: cf_self 1041fefc

call_or_link: staddr 1051a048

call_or_link: ststring ENSURE-GENERIC-FUNCTION

call_or_link: fun 10322bb0

call_or_link: cf 14

call_or_link: cf_name 1031d18c

call_or_link: cf_data 1017d208

call_or_link: cf_self 1033d8fc

call_or_link: staddr 104fddac

call_or_link: ststring CCLOSURE-ENV-NTHCDR0ECD-OTHER-INITARGST

call_or_link: fun 10322bb0

call_or_link: cf 14

call_or_link: cf_name 1031d18c

call_or_link: cf_data 1017d208

call_or_link: cf_self 1033d8fc

call_or_link: staddr 104fddac

call_or_link: ststring CCLOSURE-ENV-NTHCDR0ECD-OTHER-INITARGST

call_or_link: fun 103f8cb0

call_or_link: cf 2f7914

call_or_link: cf_name 1023a318

call_or_link: cf_data 10347604

call_or_link: cf_self 1041f7e4

call_or_link: staddr 105231c8

call_or_link: ststring ANALYZE-LAMBDA-LIST

call_or_link: fun 103f8c60

call_or_link: cf 2f7914

call_or_link: cf_name 10235c18

call_or_link: cf_data 10347604

call_or_link: cf_self 10420ea4

call_or_link: staddr 10522ff4

call_or_link: ststring CHECK-METHOD-ARG-INFO

call_or_link: fun 10322a80

call_or_link: cf 14

call_or_link: cf_name 1023fda4

call_or_link: cf_data 10347dac

call_or_link: cf_self 1034b870

call_or_link: staddr 104fe150

call_or_link: ststring *SUBTYPEP

call_or_link: fun 10322bb0

call_or_link: cf 14

call_or_link: cf_name 1031d18c

call_or_link: cf_data 1017d208

call_or_link: cf_self 1033d8fc

call_or_link: staddr 104fddac

call_or_link: ststring CCLOSURE-ENV-NTHCDR0ECD-OTHER-INITARGST

call_or_link: fun 103f8c10

call_or_link: cf 2f7914

call_or_link: cf_name 1023a5a0

call_or_link: cf_data 10347604

call_or_link: cf_self 10423a98

call_or_link: staddr 1051601c

call_or_link: ststring
EARLY-METHOD-STANDARD-ACCESSOR-SLOT-NAMEINFOSET-DFUNSET-DFUN.FREE.35LIS11991
71T

call_or_link: fun 10322c30

call_or_link: cf 14

call_or_link: cf_name 1023fee8

call_or_link: cf_data 1017d3e8

call_or_link: cf_self 10333f4c

call_or_link: staddr 105095b4

call_or_link: ststring SET-FUNCTION-NAME

call_or_link: fun 103f8650

call_or_link: cf 2f7914

call_or_link: cf_name 10236d38

call_or_link: cf_data 10437a64

call_or_link: cf_self 1045298c

call_or_link: staddr 10516084

call_or_link: ststring MAKE-FINAL-ACCESSOR-DFUNMAKE-EARLY-ACCESSOR

call_or_link: fun 10354f80

call_or_link: cf 543c14

call_or_link: cf_name 10236d14

call_or_link: cf_data 10437a64

call_or_link: cf_self 10455494

call_or_link: staddr 10515fa8

call_or_link: ststring MAKE-ACCESSOR-TABLE

call_or_link: fun 103f87a0

call_or_link: cf 2f7914

call_or_link: cf_name 10235288

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044eeb8

call_or_link: staddr 10515fd8

call_or_link: ststring
MAKE-ONE-CLASS-ACCESSOR-DFUNEARLY-METHOD-STANDARD-ACCESSOR-SLOT-NAMEEARLY-ME
THOD-STANDARD-ACCESSOR-SLOT-NAMEINFOSET-DFUNSET-DFUN.FREE.35LIS1199171T

call_or_link: fun 103f8820

call_or_link: cf 2f7914

call_or_link: cf_name 1023d7e0

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044d160

call_or_link: staddr 10516774

call_or_link: ststring GET-DFUN-CONSTRUCTORWRAPPER1WRAPPER0ACCESSOR-TYPE.o
CACHE

call_or_link: fun 103f8eb0

call_or_link: cf 2f7914

call_or_link: cf_name 10235d5c

call_or_link: cf_data 10347640

call_or_link: cf_self 1040d018

call_or_link: staddr 10519070

call_or_link: ststring EMIT-READER/WRITER-FUNCTION

call_or_link: fun 103f8770

call_or_link: cf 2f7914

call_or_link: cf_name 10235264

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044f384

call_or_link: staddr 10515f04

call_or_link: ststring MAKE-FINAL-ONE-INDEX-ACCESSOR-DFUN

call_or_link: fun 103f8a40

call_or_link: cf 2f7914

call_or_link: cf_name 1023ac18

call_or_link: cf_data 10347ab4

call_or_link: cf_self 103fccb4

call_or_link: staddr 104fecf8

call_or_link: ststring
COMPUTE-CACHE-PARAMETERSLIMIT-FNMAKE-CACHE)MAKE-CACHE

call_or_link: fun 103f89f0

call_or_link: cf 2f7914

call_or_link: cf_name 1023abf4

call_or_link: cf_data 10347ab4

call_or_link: cf_self 10400b8c

call_or_link: staddr 104fea10

call_or_link: ststring FIND-FREE-CACHE-LINECOMPUTE-PRIMARY-CACHE-LOCATIONR

call_or_link: fun 103f8780

call_or_link: cf 2f7914

call_or_link: cf_name 10236f0c

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044f1a8

call_or_link: staddr 105166a4

call_or_link: ststring MAKE-ONE-INDEX-ACCESSOR-DFUNFILL-DFUN-CACHE

call_or_link: fun 103f8ea0

call_or_link: cf 2f7914

call_or_link: cf_name 10235d38

call_or_link: cf_data 10347640

call_or_link: cf_self 1040d1cc

call_or_link: staddr 10518fcc

call_or_link: ststring EMIT-ONE-OR-N-INDEX-READER/WRITER-FUNCTION

call_or_link: fun 103f8750

call_or_link: cf 2f7914

call_or_link: cf_name 10235bac

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044f614

call_or_link: staddr 10515ec4

call_or_link: ststring
MAKE-FINAL-N-N-ACCESSOR-DFUNMAKE-FINAL-ONE-INDEX-ACCESSOR-DFUN

call_or_link: fun 103f8760

call_or_link: cf 2f7914

call_or_link: cf_name 10236dec

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044f454

call_or_link: staddr 10516640

call_or_link: ststring MAKE-N-N-ACCESSOR-DFUN

call_or_link: fun 103f8790

call_or_link: cf 2f7914

call_or_link: cf_name 10235798

call_or_link: cf_data 10437a64

call_or_link: cf_self 1044f028

make[1]: *** [compile] Error 5
make[1]: Leaving directory `/c/cvs/gcl/pcl'
make: *** [pcl/saved_gcl_pcl] Error 2









reply via email to

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