> >      (gdb) frame 1
> >      (gdb) info locals
> 
> (gdb) frame 1
> #1  0x10083d30 in Perl_sv_vcatpvfn ()
> (gdb) info locals
> No symbol table info available.
> Same for others. Don't know what do for correct this.

Ah, yes. You'll need a perl binary that is also built with
debugging symbols. ( ./Configure -de -Doptimize=-g )

> > b) Build and run the standalone 'ucpp' preprocessor:
> > [...]
> 
> [alian@poulette Convert-Binary-C-0.08]$ cd ctlib/ucpp
> [alian@poulette ucpp]$      make clean && make
> [...]
> macro 'DEFINE' redefined unidentically
> [alian@poulette ucpp]$
> 
> Damm it don't crash.

That's what I expected.

> > c) Try to build and test an old Convert::Binary::C release,
> >    preferably version 0.06. It uses an older version of the
> >    ucpp-library.
> 
> Seems same error:
> [alian@poulette Convert-Binary-C-0.06]$ make test
> [...]

Yes, that's indeed the same error. I'm quite sure now that
it has to do with the va_list stuff. I just wanted to make
sure that the new ucpp didn't break anything.

I just found the following in the suse-ppc mailinglist:

  > > After debugging it I found out that there is a difference in the way 
  > > that va_arg works on different platforms. 
  > 
  > Yes there is and ppc linux is one of the more strange versions.

  [...]

  > Under ppc linux and s390 linux, va_list is actualy based on an array 
  > type. 

...and some notes at IBM:

  > This patch fixes various sporadic SIGSEGV's and other unpredicatble
  > behaviors in various areas in Samba on 390 and PPC Linux systems. 
  
  [...]
  
  > This fixes some usages of the va_list structure. On 390 and some
  > PPC systems, va_list is a struct rather than a pointer.  

So va_list seems to be a common problem on Linux-PPC.

I've modified the way that va_list's are passed around in my
module. At least, this doesn't break a single platform that
I'm able to test the module on. Hopefully it'll fix the issue
with PPC-Linux.

I've bundled a prerelease and would appreciate if you could
give it a quick test. You can download it from here:

  ftp://mhx.dyndns.org/perl/Convert-Binary-C-0.09-pre-1.tar.gz

Thanks,
-- Marcus

Reply via email to