From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Ryde Newsgroups: gmane.lisp.guile.devel Subject: Re: GUILE 1.6 CVS doesn't compile Date: Mon, 11 Jul 2005 10:10:43 +1000 Message-ID: <8764vinqws.fsf@zip.com.au> References: <42A98890.2030709@xs4all.nl> <42A988BA.1080806@xs4all.nl> <87psutx5eb.fsf@zip.com.au> <42B5714F.4060503@xs4all.nl> <877jfz2zzx.fsf@zip.com.au> <42D10CF5.7070405@xs4all.nl> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1121041596 25467 80.91.229.2 (11 Jul 2005 00:26:36 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 11 Jul 2005 00:26:36 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jul 11 02:26:26 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Drm7l-0005xU-Qe for guile-devel@m.gmane.org; Mon, 11 Jul 2005 02:26:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Drm9J-0000AY-6i for guile-devel@m.gmane.org; Sun, 10 Jul 2005 20:27:53 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Drm8c-0008T4-MT for guile-devel@gnu.org; Sun, 10 Jul 2005 20:27:10 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Drm8Q-0008Mm-Rs for guile-devel@gnu.org; Sun, 10 Jul 2005 20:27:00 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Drm8Q-0008Jx-LO for guile-devel@gnu.org; Sun, 10 Jul 2005 20:26:58 -0400 Original-Received: from [61.8.0.115] (helo=mailout2.pacific.net.au) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Drm0d-0002uk-Ip for guile-devel@gnu.org; Sun, 10 Jul 2005 20:18:56 -0400 Original-Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.0.87]) by mailout2.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id j6B0BOvq009341; Mon, 11 Jul 2005 10:11:24 +1000 Original-Received: from localhost (ppp2F84.dyn.pacific.net.au [61.8.47.132]) by mailproxy2.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id j6B0B7hu002870; Mon, 11 Jul 2005 10:11:18 +1000 Original-Received: from gg by localhost with local (Exim 3.36 #1 (Debian)) id 1Drlsi-0008EM-00; Mon, 11 Jul 2005 10:10:44 +1000 Original-To: Han-Wen Nienhuys Mail-Copies-To: never User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:5154 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:5154 --=-=-= Han-Wen Nienhuys 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 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. --=-=-= Content-Disposition: inline; filename=libguile-ltdl.diff Index: guile-ltdl.h =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile-ltdl/guile-ltdl.h,v retrieving revision 1.2.2.2 diff -u -r1.2.2.2 guile-ltdl.h --- guile-ltdl.h 23 May 2005 20:15:31 -0000 1.2.2.2 +++ guile-ltdl.h 10 Jul 2005 23:58:57 -0000 @@ -27,8 +27,11 @@ #define SCM_LTDL_H 1 typedef struct scm_i_lt_dlhandle_struct *scm_lt_dlhandle; -typedef struct scm_i_lt_dlsymlist_struct scm_lt_dlsymlist; typedef void * scm_lt_ptr; +typedef struct scm_i_lt_dlsymlist_struct { + const char *name; + scm_lt_ptr address; +} scm_lt_dlsymlist; void scm_lt_dlpreload_default (const scm_lt_dlsymlist *preloads); int scm_lt_dlinit (void); Index: raw-ltdl.h =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile-ltdl/raw-ltdl.h,v retrieving revision 1.2.2.2 diff -u -r1.2.2.2 raw-ltdl.h --- raw-ltdl.h 23 May 2005 20:15:31 -0000 1.2.2.2 +++ raw-ltdl.h 10 Jul 2005 23:58:57 -0000 @@ -211,10 +211,7 @@ /* A preopened symbol. Arrays of this type comprise the exported symbols for a dlpreopened module. */ -typedef struct SCM_INSERTED_DLSYMLIST_STRUCT_DECL { - const char *name; - lt_ptr address; -} lt_dlsymlist; +typedef struct scm_i_lt_dlsymlist_struct lt_dlsymlist; SCMLTXT int lt_dlpreload LT_PARAMS((const lt_dlsymlist *preloaded)); SCMLTXT int lt_dlpreload_default --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel --=-=-=--