There are [hjl@gnu-20 hjl]$ readelf -s /usr/lib/libm.a | grep " coshf" 5: 00000000 145 FUNC WEAK DEFAULT 1 coshf on ia32 and x86_64, but [hjl@gnu-2 kernel]$ readelf -s /usr/lib/libm.a | grep " coshf" 13: 0000000000000000 1616 FUNC GLOBAL DEFAULT 1 coshf on ia64. As the result, people can't override math functions in libm.a on ia64 since other internal math functions in libm.a, like __ieee754_coshf, are needed by glibc, which leads to symbol multiple definition error.
A patch is posted at http://sources.redhat.com/ml/libc-alpha/2004-10/msg00158.html
Bug 592 has a better fix.
This should be fixed as part of #592.