From: <don...@is...> - 2009-08-09 05:56:10
|
Before I try to figure out all the advice below... To me the interesting thing is that the same error does not arise in the MT version. Is there some way to exploit that in our search? build-mt/clisp.h contains #define begin_system_call() ; ; ; and no occurrence of saved -- just like build-dir/clisp.h When I do grep saved_STACK * in both build-dir and build-mt I get the same results. I notice that this does show some occurrences in lispbibl.c for begin_call and end_call. Could regexi be using those for non-MT but not for MT? find ../build-mt -type f -exec fgrep -l begin_call {} \; (after make lispbibl.h) shows the same list of files as build-dir. Sam Steingold writes: > regexi.c has begin_system_call which _could_ expand to something > containing saved_STACK (on some platforms). > on your platform the expansion of begin_system_call does NOT contain > saved_STACK (as you have established yourself by examining clisp.h), so > the question is - why does contain that? > you might start with "rm -rf syscalls; cd ..; cvs up; cd -; make syscalls" > and, if the problem persists, try creating the regexi.i file. > this is the cpp-processed source, i.e., all the macros are expanded and > all the #include's included. > the sample rules are in the main Makefile, basically, you need to add > > regexi.i : regexi.m.c ... > $(CPP) ... > regexi.i > > (i.e., take the rule for regexi.o and replace $(CC) with $(CPP)). > once you have regexi.i, search for saved_STACK - where it is used, > defined, &c, and try to figure out why it is used at all. > you might even make regexi.i available for all of to download and enjoy. |