Renaming all symbols in libmp(3)

Ed Schouten ed at 80386.nl
Thu Feb 26 10:07:58 PST 2009


Hello all,

As you may have read some days ago, work has started to make the FreeBSD
base system compile better with clang, the BSD licensed C compiler from
the LLVM project.

One of the reasons why we can't compile the base system yet, is because
some applications in the base system (keyserv, newkey, chkey, libtelnet)
won't compile, because a library they depend (libmp)on has a function
called pow(). By default, LLVM has a built-in prototype of pow(),
similar to GCC. Unlike GCC, LLVM raises a compiler error by default. The
manual page also mentions this issue.

After some talking on IRC, I think the best solution would be to rename
all functions in libmp. Even though this may sound very awful at first,
it seems the competition has done this as well:

	http://docs.sun.com/app/docs/doc/819-2246/mp-3mp?a=view

I'm not saying that if the Solaris developers jump off a cliff, we
should do the same, but looking at the amount of applications that
depend on libmp (almost none), I think it's the only definitive
solution.

So this is the patch I propose to commit to SVN one of these days:

	http://80386.nl/pub/mp.diff

Because this also reduces some warnings when compiling stuff with GCC,
I've increased WARNS in various Makefiles. I've also increased the
SHLIB_MAJOR and __FreeBSD_version.

Any comments?

-- 
 Ed Schouten <ed at 80386.nl>
 WWW: http://80386.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20090226/6e87bab1/attachment.pgp


More information about the freebsd-hackers mailing list