If there is a directory called "ld" in the current directory, and your PATH searches the current directory before other directories, the command "gcc x.c -o x" fails with: "collect2: ld returned 33 exit status". The problem probably exists on all architectures and may occur under other circumstances. I have only tested it on RH6.0 x86. Found while trying to run configure in binutils.
Easiest way around is to remove "." from your PATH. *** This bug has been marked as a duplicate of 3662 ***