Previously, the function pointers were not only declared with extern(C) calling convention, but actually had C linkage themselves. Thus, they were exported under their bare names, potentially colliding with the actual function definitions in the wrapped library if the dynamic linker decided to resolve them the wrong way. This fixes the sneaky1 test case, although I have no idea why the add() reference in D_add() (via the PLT) is rebound to the function pointer there and not in all other test cases and real-world libraries. As far as I can see, there don't seem to be any special symbol visibility/binding settings involved in our build system. |
||
|---|---|---|
| .. | ||
| allegrocl.cxx | ||
| allocate.cxx | ||
| browser.cxx | ||
| cffi.cxx | ||
| chicken.cxx | ||
| clisp.cxx | ||
| contract.cxx | ||
| csharp.cxx | ||
| d.cxx | ||
| directors.cxx | ||
| emit.cxx | ||
| go.cxx | ||
| guile.cxx | ||
| java.cxx | ||
| javascript.cxx | ||
| lang.cxx | ||
| lua.cxx | ||
| main.cxx | ||
| modula3.cxx | ||
| module.cxx | ||
| mzscheme.cxx | ||
| nested.cxx | ||
| ocaml.cxx | ||
| octave.cxx | ||
| overload.cxx | ||
| perl5.cxx | ||
| php.cxx | ||
| pike.cxx | ||
| python.cxx | ||
| r.cxx | ||
| README | ||
| ruby.cxx | ||
| s-exp.cxx | ||
| swigmain.cxx | ||
| swigmod.h | ||
| tcl8.cxx | ||
| typepass.cxx | ||
| uffi.cxx | ||
| utils.cxx | ||
| xml.cxx | ||
06/25/2002 This directory contains all of the SWIG language modules. Many of these modules contain code that dates back to SWIG1.0. The module API has changed a lot in the development releases so this is fairly messy. We're working on cleaning it up, but you'll have to bear with us until it's done. -- Dave