Jenkins hash routines pollute C namespace
-----------------------------------------
Key: ETCH-186
URL: https://issues.apache.org/jira/browse/ETCH-186
Project: Etch
Issue Type: Bug
Components: c-binding
Environment: All Linux/POSIX/SVr4 environments should be affected
Reporter: Thomas Marsh
Priority: Blocker
hcreate and hdestroy are defined in libc on Linux, but are also used as primary
entry points into the jenkins hash table routines. Normally this is not a
problem, but the linkage is broken when, for example, embedding etch inside a
Python module, and hash routines fail. In general, the jenkins hash routines
are too generically named to be safe for linking and dynamic loading (names
like "hdel", "hadd", "hfind", "hfirst", and many, many more).
[tmarsh]$ nm /lib/libc.so.6 | egrep hcreate
00a0dd50 t __GI_hcreate_r
00a0daa0 T hcreate
00a0dd50 T hcreate_r
[tmarsh]$ nm src/main/libetch.so | egrep hcreate
0003e560 T hcreate
[tmarsh@dasher c]$
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira