On some targets, _unlink() is implemented but _link() is not, so we get needless failures from ld when a program calls remove() or unlink(). This patch addresses this issue by separating these functions into different object files. I'm checking it in, approved by J. Johnston.