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