Thanks! I created a bug report, as it is clear now, that is not SBCL fault. https://bugs.dragonflybsd.org/issues/2663
I also found that any library, which mmap's some space at fixed range in its constructor will fail the test. I attached such a library which mimics the behaviour of libthread_xu.so 2014-04-16 5:31 GMT+04:00 Matthew Dillon <[email protected]>: > Ah ha! I found it. Testing with dynamically loading a library which > depends on libpthread triggers the problem when libpthread is not > built into the main program. > > For example, if I test with libusb.so.2 with a program compiled without > -pthread, it triggers the problem. If I test with libusb.so.2 with > a program compiled with -pthread, it does not trigger the problem. > > So the issue here is that libpthread is not built into the main > program and it needs to be, simple as that. If the main program is > compiled/linked with -pthread, the problem should go away. > > -- > > In terms of making this work as-is with some sort of fix to rtld-elf... > that's problematic. A lot of these shared libraries are not designed > to be unloaded. It would take some time to vet them all. > > For now I think the best solution is to adjust the port to compile/link > SBCL with -pthread. > > -Matt >
