[Openmcl-devel] 3 questions - TLS the default? global thread-shared vars? .CDB gen broken?
Jason E. Aten
j.e.aten at gmail.com
Sat Mar 19 09:48:26 PDT 2011
Hmm... that does indeed look like the wiki page I was referencing. Is
gcc-4.0.0 not the current version?
Here's the exact script (with sequence of commands) that I wrote to preserve
exactly how I went about acquiring and installing ffigen and h-to-ffi.sh. If
you have trouble reproducing it, let me know. It's just a stock Ubuntu 10.04
on x86_64, but I can give you a login on a remote box if need be, or get you
a virtualbox image.
jaten at AtenMBP-2:~/research/djitia$ cat install-ffigen.sh
svn co http://svn.clozure.com/publicsvn/ffigen4/trunk/ffigen4
# example sudo tar xfz
export TARBALL=`ls -1 | grep ffigen-bin`
echo "installing now to: /usr/local/ffigen and
/usr/local/bin/h-to-ffi.sh ...with sudo"
echo "sudo tar xfz `pwd`/`ls -1 | grep ffigen-bin` -C /usr/local"
sudo tar xfz `pwd`/`ls -1 | grep ffigen-bin` -C /usr/local
On Sat, Mar 19, 2011 at 11:37 AM, Gary Byers <gb at clozure.com> wrote:
> Hmm. The Wiki page at <http://trac.clozure.com/ccl/wiki/BuildFFIGEN> is
> supposed to be the canonical reference that describes how to
> the FFI translator. In the past, we've distributed sources and binaries
> other means, but there aren't supposed to be any links to those older
> and I can't find any links in the documentation.
> The current version doesn't have any problem translating
> (or with the SIMD vector type referenced in the included file), but I'd
> believe that older versions did. If you got an older version, that'd
> it; if you remember how you got that version, we should fix any links to it
> so that they reference the Wiki page instead.
> On Sat, 19 Mar 2011, Jason E. Aten wrote:
> Thank you Raffael. ?I appreciate the pointer. I guess that confirms #1,
>> answers #2. :-)
>> For #3, I've managed to locate the source code for the ffigen loader, and
>> figured out that :SUBDIR is supposed to be :libc or :elf ?or similar.
>> However I do manage to have populate.sh run into an issue:
>> +++ /usr/include/link.h
>> Need to create info for type:
>> ?<vector_type 0x7fab52eacb60
>> ?? ?type <real_type 0x7fab53619000 float SF
>> ?? ? ? ?size <integer_cst 0x7fab535fba80 constant invariant 32>
>> ?? ? ? ?unit size <integer_cst 0x7fab535fb5a0 constant invariant 4>
>> ?? ? ? ?align 32 symtab 18 alias set -1 precision 32
>> ?? ? ? ?pointer_to_this <pointer_type 0x7fab53619270>>
>> ?? ?BLK
>> ?? ?size <integer_cst 0x7fab536146f0 type <integer_type 0x7fab536015b0
>> bit_size_type> constant invariant 256>
>> ?? ?unit size <integer_cst 0x7fab535fb570 type <integer_type
>> long unsigned int> constant invariant 32>
>> ?? ?align 256 symtab 341 alias set -1 nunits 8>
>> In file included from /usr/include/link.h:36:
>> /usr/include/bits/link.h:68: internal compiler error: in
>> ffi_create_type_info, at ffi.c:428
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>> where the relevant section from /usr/include/bits/link.h, including line
>> is this:
>> /* Registers for entry into PLT on x86-64. ?*/
>> # if __GNUC_PREREQ (4,0)
>> typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
>> typedef float La_x86_64_ymm __attribute__ ((__vector_size__ (32))); ?/*
>> 68 */
>> # else
>> typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
>> # endif
>> Arg. What should I try? ?Is this the right place to report this?
>> Thank you.
>> On Sat, Mar 19, 2011 at 12:21 AM, Raffael Cavallaro
>> <raffaelcavallaro at mac.com> wrote:
>> On Mar 19, 2011, at 1:09 AM, Jason E. Aten wrote:
>> > In order words, when two different threads need to be able to
>> name the same variable (after locking the thread inspects the
>> shared variable, possibly updates it, then releases the lock),
>> how do I tell lisp this is what I'd like?
>> See section 4.8 of the documentation "Static Variables"
>> e.g., (defstatic *foo* 3)
>> It's an error to dynamically rebind a static variable; its value is
>> always the same across all threads. Naturally, as you suggest, you'll
>> want to avoid race conditions by using a lock or semaphore.
>> warmest regards,
>> Raffael Cavallaro
>> raffaelcavallaro at me.com
Jason E. Aten, Ph.D.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Openmcl-devel