text: Hide Forgot
  I really don't know if this is a glibc, g++, or Red Hat
  problem, but here goes...
  Compile the following with g++ (atanh.C) and be sure to link
  with libm.so (not libm.a):
  #include <math.h>
  int main() {
  return (int)(atanh(0.5));
  }
  % g++ -O1 atanh.C /usr/lib/libm.so
  /tmp/ccfkSv4a1.o: In function `main':
  /tmp/ccfkSv4a1.o(.text+0x21): undefined reference to
  `__log1p'
  collect2: ld returned 1 exit status
  But 'g++ -O1 atanh.C /usr/lib/libm.a' OR
  'g++ -O0 atanh.C /usr/lib/libm.so' OR
  'gcc -O1 atanh.c /usr/lib/libm.so'
  works fine.
  I'm using Red Hat 5.2 (w/ egcs-c++-1.0.3a-14) and I just
  upgraded my glibc to glibc-2.1.1-7 from rawhide. I had no
  problems when I was using the glibc that came with 5.2
  (glibc-2.0.7-29).
  Please pardon me if this is an inappropriate place to report
  this problem.
  The compiler needs to be updated too. binutils must follow, etc. You
  can not update glibc from 2.0 to 2.1 and expect the old development
  environment to still work.