[Openmcl-devel] Advice needed to debug shared library problem

dherring at tentpost.com dherring at tentpost.com
Thu Mar 31 09:44:02 PDT 2011

Gary Byers wrote:
> On Wed, 30 Mar 2011, Waldek Hebisch wrote:
>> I wonder why instead of fooling with linker flags (which may
>> easily fail if sombody needs different way of linking) you do
>> not take the obvoius approach of renaming offending symbol
>> using apropriate prefix.
> I considered "fooling with linker flags" to be a better solution
> than "fooling with function names" would be, since the issue isn't
> that two unrelated functions have the same name, it's that (almost all)
> function names in the CCL kernel should not be visible/available for
> dynamic linking.

CL package names don't clash by convention; there is no central registry. 
Similarly, the "C way" is to have a uniform naming convention that avoids
conflicts.  For example, C++ symbols usually begin with the prefix _Z,
ECL's symbols are si_* and cl_*, ...

benefits of a ccl_ prefix:
- no linker magic needed (though still useful for other reasons)
- possibility for C code to link when it really wants to...
- no ambiguity when debugging code that linked it's own version of the
same symbol

FWIW, ECL distinguishes between private and public symbols by using
different prefixes.


More information about the Openmcl-devel mailing list