The coshl function indicates an overflow when its result is not representable as double, even when the result is representable as long double. An example is "coshl(1000.L);". sinhl does not have this bug. The bug appears to be that the version of coshl in math/w_coshl.c uses __finite to check the result of __ieee754_coshl. It should use __finitel, as sinhl in math/w_sinhl.c does. This bug should be present on any system that uses math/w_coshl.c as its coshl and defines long double as having a greater exponent range than double. I found the bug in a version of 2.7 that shipped with Fedora 8; but the bug is present in the 2.10.1 source as well.
Fixed in git.