Hi Guys,

I was in trouble for an issue of TLS implementation of FreeBSD.  It is
an issue of ld-elf.so actually.  If I have a thread-local variable in
program, the value of the variable is not consistent after an
dlopen().  For example,

__thread int var = 50;

void modify() {
     var = 100;
}

void show() {
     printf("%d\n", var);
}

int main(int argc, char * const *argv) {
    dlopen(...);
    modify();
    show();
}

If it is compiled with -fpic, it would print "50" while "100" is
expected. (-fpic is required for shared objects)

I have send-pr a patch as

        http://www.freebsd.org/cgi/query-pr.cgi?pr=160721

I need someone to review it.
Thanks!
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"

Reply via email to