Problem solved. Turns out some tool I'm using (probably emacs or maybe CCS) creates a temp file called .#myfile.c (for myfile.c) in the directory tree, which gets put on the build list (since it's a .c file). But looks like the linker doesn't know what to do with the build bi-product of this. Don't know what .#myfile.c does, but the machine reboot apparently removes it, most likely because the app that opened it (and holds it open?) is killed. Manually removing that file allows the linker to complete.
Not a linker or CCS bug, but the error message is not obvious.
Thank you very much.