[Openmcl-devel] 3 questions - TLS the default? global thread-shared vars? .CDB gen broken?

Jason E. Aten j.e.aten at gmail.com
Fri Mar 18 23:44:22 PDT 2011

Thank you Raffael.  I appreciate the pointer. I guess that confirms #1, and
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>>
    size <integer_cst 0x7fab536146f0 type <integer_type 0x7fab536015b0
bit_size_type> constant invariant 256>
    unit size <integer_cst 0x7fab535fb570 type <integer_type 0x7fab536014e0
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 68
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)));  /* line
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,
> Ralph
> Raffael Cavallaro
> raffaelcavallaro at me.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20110319/815f2d4f/attachment.htm>

More information about the Openmcl-devel mailing list