[Top][All Lists]

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

Re: GUILE 1.6 CVS doesn't compile

From: Han-Wen Nienhuys
Subject: Re: GUILE 1.6 CVS doesn't compile
Date: Mon, 11 Jul 2005 12:51:50 +0200
User-agent: Mozilla Thunderbird 1.0.2-6 (X11/20050513)

Kevin Ryde wrote:
Han-Wen Nienhuys <address@hidden> writes:

 make check

isn't complaining.

I think it works only because that preload array is empty.  There's a
terminating zero entry, so the fetch from there gives NULL, and
lt_dlpreload_default can tolerate NULL (it looks like NULL is what's
there if you never call lt_dlpreload_default at all).

If the array wasn't empty the fetch would be the address of the first
symbol name string, and interpreting that as structs would bomb.

I'm loosing you here, AFAIK, the C compiler treats

  extern struct bla foo[] ;
  extern struct bla *foo ;

exactly the same in a function call of the form

  preload (foo)

the only potential problem I see is with nitpicking compilers/linkers.

Anyway, it seems to work. Will you commit?

I suppose the fix is to define the struct, perhaps per below.  Or
perhaps the lt_dlpreload_default call isn't needed at all if there's
no -dlopen or -dlpreopen in the link.

 Han-Wen Nienhuys - address@hidden -

reply via email to

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