On Thu, May 06, 2004 at 04:43:53PM +0200, Leopold Toetsch wrote:
> Nicholas Clark <[EMAIL PROTECTED]> wrote:
>
> > +$(LIBNCI_SO): $(SRC)/nci_test$(O)
> > $(LD) $(LD_SHARED) $(LDFLAGS) \
> > $(LD_OUT)$@ $(SRC)/nci_test$(O)
>
> Win32 additionally needs the libnci.def thingy. (Except when we put in
> the proposed dll_export macros).
Yes, I could see that that's how the DLL rule on the line below differed.
I wasn't sure how to make a makefile template that could include the def
thingy correctly, and more importantly don't have a Win32 machine to test
on, so didn't try.
(Actually, I was on the tube at the time, so my options were somewhat limited)
>
> > (gdb) print *obj
> > $1 = {
> > obj = {
> > u = {
> > _b = {
> > _bufstart = 0x7c0802a6,
> ^^^^^^^^^^
> > _buflen = 3217162232
> ^^^^^^^^^^^
> > },
> > },
> > flags = 2415984648,
> > _pobj_version = 2485256112
> ^^^^^^^^^^
>
> That's not a 'real' object. It's the outcome of some memory destruction.
> Is that before it called into libnci or after?
>
> $ parrot -t xxx.pasm
>
> will it tell you.
0 loadlib P1, "libnci" - P1=NULL,
3 dlfunc P0, P1, "nci_pi", "pi" - P0=NULL, P1=ParrotLibrary=PMC(0x200f7f0), ,
DOD
8 set I5, 5 - I5=0,
DOD
11 invoke
12 new P2, 32 - P2=NULL,
15 push P2, -66 - P2=PerlArray=PMC(0x200f730),
18 push P2, 0 - P2=PerlArray=PMC(0x200f730),
21 push P2, 0 - P2=PerlArray=PMC(0x200f730),
24 assign P5, P2 - P5=UnManagedStruct=PMC(0x200f748),
P2=PerlArray=PMC(0x200f730)
27 set P1, P5[0] - P1=ParrotLibrary=PMC(0x200f7f0),
P5=UnManagedStruct=PMC(0x200f748),
31 new P0, 22 - P0=NCI=PMC(0x200f760),
34 set P0[P1], "it" - P0=NCI=PMC(0x200f6a0), P1=[??Segmentation fault
I'm not sure how to interpret that trace to work out whether the crash is
before or after the call into libnci.
> Which architecture? 64bit?
Boring 32 bit OS X (so big endian, PPC)
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
Platform:
osname=darwin, osvers=7.3.0, archname=darwin-2level
uname='darwin wavelan-nat-236.lhouse 7.3.0 darwin kernel version 7.3.0: fri mar 5
14:22:55 pst 2004; root:xnuxnu-517.3.15.obj~4release_ppc power macintosh powerpc '
config_args='-Dcc=ccache gcc -Dld=gcc -Ubincompat5005 -Uinstallusrbinperl [EMAIL
PROTECTED] [EMAIL PROTECTED] -Dinc_version_list= -Dinc_version_list_init=0
-Dprefix=~/Reference/5.8.4 -Uusethreads -Uuse64bitint -de'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='ccache gcc', ccflags ='-pipe -fno-common -DPERL_DARWIN -no-cpp-precomp
-fno-strict-aliasing',
optimize='-Os',
cppflags='-no-cpp-precomp -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp
-fno-strict-aliasing'
ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1495)',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =''
libpth=/usr/lib
libs=-ldbm -ldl -lm -lc
perllibs=-ldl -lm -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dyld.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under darwin
Compiled at Apr 21 2004 22:22:46
%ENV:
PERL5LIB="/sw/lib/perl5:/sw/lib/perl5"
@INC:
/sw/lib/perl5
/sw/lib/perl5
/Users/nick/Reference/5.8.4/lib/perl5/5.8.4/darwin-2level
/Users/nick/Reference/5.8.4/lib/perl5/5.8.4
/Users/nick/Reference/5.8.4/lib/perl5/site_perl/5.8.4/darwin-2level
/Users/nick/Reference/5.8.4/lib/perl5/site_perl/5.8.4
/Users/nick/Reference/5.8.4/lib/perl5/site_perl
.
Nicholas Clark