Check out the
README.solaris file in your Perl distribution for a detailed breakdown of possible problems. I'll make one guess though:
Do you have oldish versions of GNU as and/or ld installed? Try putting /usr/ccs/bin at the front of your PATH before you try the compile. Do a make distclean and start the whole process again. Run Configure with the switch -Dcc=gcc.
GNU ld never used to work properly on Solaris with Perl. I think they've fixed it recently, but maybe you have an old version. The native ld is in /usr/ccs/bin, so if that's first in the path that's the one that'll be used.