From MAILER-DAEMON Thu Jan 06 14:36:21 2011 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1PavdE-0007w5-Vo for mharc-lightning@gnu.org; Thu, 06 Jan 2011 14:36:21 -0500 Received: from [140.186.70.92] (port=54791 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PavdA-0007sU-TA for lightning@gnu.org; Thu, 06 Jan 2011 14:36:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pavcv-00034B-HU for lightning@gnu.org; Thu, 06 Jan 2011 14:36:02 -0500 Received: from moutng.kundenserver.de ([212.227.126.171]:61684) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pavcv-00033r-2f for lightning@gnu.org; Thu, 06 Jan 2011 14:36:01 -0500 Received: from [192.168.178.21] (dslb-188-103-180-097.pools.arcor-ip.net [188.103.180.97]) by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis) id 0Ls5U3-1QJzIu1j15-013zfU; Thu, 06 Jan 2011 20:35:59 +0100 Message-ID: <4D2619A5.60607@online.de> Date: Thu, 06 Jan 2011 20:36:05 +0100 From: Denis Washington User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101230 Lanikai/3.1.7 MIME-Version: 1.0 To: lightning@gnu.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:ug29mkyQqIbNHuMU2nhkZGHI1mUd84ceip20u/geA0h 6T85Z5JHFGzUDa/LXAhCArdTvachldJjIPA4V/3HvXlHtB8Wjo h57INnIyCbdTC5g7X2KR6blp0UQeVysQlTnv2JmKkOTSPWJHrs WmPbNhnLJeLbnu+Ls6awn128aEl+cXeO3X/4mTPDZxF58qnoAx Pu28l+pEGOlcx6SBTMfyQ== X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. Subject: [Lightning] x86_64 and jit_addxi_l X-BeenThere: lightning@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: lightning.gnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Jan 2011 19:36:19 -0000 Hi, I tried to compile GNU Smalltalk with JIT compilation enabled on Linux x86_64 and after some fiddling [1] got it almost to compile. However, one problem remains: xlat.c:1714:8: warning: implicit declaration of function 'jit_mulr_l_' xlat.c:1714:8: warning: implicit declaration of function 'jit_addci_l' xlat.c:1715:8: warning: implicit declaration of function 'jit_addxi_l' and as a consequence: libgst/.libs/libgst.so: undefined reference to `jit_addxi_l' libgst/.libs/libgst.so: undefined reference to `jit_addci_l' libgst/.libs/libgst.so: undefined reference to `jit_mulr_l_' I investigated the situation concerning `jit_addxi_l' and the only definition I found was in core-common.h, and then only as an alias for jit_addxi_l for the case that int has the same size as long (which is not the case on Linux x86_64, naturally). So my feeling is that there must be a definition of jit_addxi_l in Lightning's x86_64 port, but grep doesn't yield any such definition in lightning/i386/*.h. Was it forgotten? Is it not implemented yet? Or is this simply a problem on my part? Regards, Denis [1] I needed to ensure that the only the installed Lightning from git and not the one shipped with gst was used by renaming the lightning/ folder, but that is for a bug report in the GNU Smalltalk issue tracker. From MAILER-DAEMON Fri Jan 07 10:00:35 2011 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1PbDnv-0008Vi-RH for mharc-lightning@gnu.org; Fri, 07 Jan 2011 10:00:35 -0500 Received: from [140.186.70.92] (port=36165 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PbDnt-0008VP-Kf for lightning@gnu.org; Fri, 07 Jan 2011 10:00:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PbDns-0002Ne-7j for lightning@gnu.org; Fri, 07 Jan 2011 10:00:33 -0500 Received: from mail-gy0-f169.google.com ([209.85.160.169]:34135) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PbDns-0002NZ-4Z for lightning@gnu.org; Fri, 07 Jan 2011 10:00:32 -0500 Received: by gyd10 with SMTP id 10so3951845gyd.0 for ; Fri, 07 Jan 2011 07:00:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=mj84sbcTkAtjS7rgeMd6Y/e+AVOV8QfBDUpVreQ/Dr0=; b=cpX6Qto0CzkR1mz0c4RJyuLX/3pJAftIWl1iIVswtWFBBilxoBCJ4N94DeyyHSn51/ RkwfRbPvR6NhhGBCtEGqHVdGeJFP9X7UKrYPeYgMdHyyMOyyz/tQcJEW5G5/srSWlpQ+ cuANze+YqxY4Svsepx0KmqAuejiMFcSqzlli0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=lWlCMzesChbBalHPTCcvQ1m3mXP3ubQFnLdGR5ii+qfpCSuvG99BlKsPhM45LKV6BM llZKPBHudSnxarm/WyMJS8b4/fBEHsds6ndCL1H0CmMHPZfZU4iDIYtYRMSDqwJyj5zx vSgD5kZB0514LCddnuEn+MF93PjHEKNuB6QFY= MIME-Version: 1.0 Received: by 10.150.51.9 with SMTP id y9mr11044427yby.386.1294412430902; Fri, 07 Jan 2011 07:00:30 -0800 (PST) Received: by 10.150.140.4 with HTTP; Fri, 7 Jan 2011 07:00:30 -0800 (PST) In-Reply-To: <4D2619A5.60607@online.de> References: <4D2619A5.60607@online.de> Date: Fri, 7 Jan 2011 13:00:30 -0200 Message-ID: Subject: Re: [Lightning] x86_64 and jit_addxi_l From: =?ISO-8859-1?Q?Paulo_C=E9sar_Pereira_de_Andrade?= To: Denis Washington Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) Cc: lightning X-BeenThere: lightning@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: lightning.gnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Jan 2011 15:00:34 -0000 2011/1/6 Denis Washington : > Hi, > > I tried to compile GNU Smalltalk with JIT compilation enabled on Linux > x86_64 and after some fiddling [1] got it almost to compile. However, one > problem remains: Do you have an easy procedure to reproduce the build using system lightning? Or some patch to add some configure option? I did some some work in lightning for my own language (I do not code in smalltalk, just some basic knowledge of squeak :-), and would be interesting to know if it works, but I can do any patches required, to make it work with http://github.com/pcpa/lightning > =A0xlat.c:1714:8: warning: implicit declaration of function 'jit_mulr_l_' > xlat.c:1714:8: warning: implicit declaration of function 'jit_addci_l' > =A0xlat.c:1715:8: warning: implicit declaration of function 'jit_addxi_l' > > and as a consequence: > > =A0libgst/.libs/libgst.so: undefined reference to `jit_addxi_l' > =A0libgst/.libs/libgst.so: undefined reference to `jit_addci_l' > =A0libgst/.libs/libgst.so: undefined reference to `jit_mulr_l_' Most of these are known to be broken in upstream lightning, this was one of the reasons I started the git-hub fork. For jit_add{x,c}i_l, you should get it to work by using an extra register, using jit_movi_l, and then using jit_add{x,c}r_l. The code does not properly handle 64 bit literals; I think it did only handle correctly signed 32 bit positive values for x86_64. If I recall correctly, multiplication was broken because it had registers reversed in the rex prefix. > I investigated the situation concerning `jit_addxi_l' and the only > definition I found was in core-common.h, and then only as an alias for > jit_addxi_l for the case that int has the same size as long (which is not > the case on Linux x86_64, naturally). So my feeling is that there must be= a > definition of jit_addxi_l in Lightning's x86_64 port, but grep doesn't yi= eld > any such definition in lightning/i386/*.h. Was it forgotten? Is it not > implemented yet? Or is this simply a problem on my part? The code in my lightning fork has a very exhaustive regression testing, that tests and validates most possible register combinations and operations, but it still may have bugs on paths not tested, so, I would welcome any tests, or hints to reproduce the procedure. > Regards, > Denis > > [1] I needed to ensure that the only the installed Lightning from git and > not the one shipped with gst was used by renaming the lightning/ folder, = but > that is for a bug report in the GNU Smalltalk issue tracker. Paulo