Track undefined sym in the symtab. Remove hack for missing relocs against undef.

Preliminary linking tests, seems to show that the linker
and objcopy are happy to use 'em on spec2k, and the
result runs! (Had to be careful to clobber the old .s
and .o files to make it's testing the right copy).

Haven't tried crosstests yet.

BUG=none
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/889613004
diff --git a/src/IceTargetLoweringX8632.h b/src/IceTargetLoweringX8632.h
index de0e925..25e33a1 100644
--- a/src/IceTargetLoweringX8632.h
+++ b/src/IceTargetLoweringX8632.h
@@ -153,12 +153,11 @@
   OperandX8632Mem *FormMemoryOperand(Operand *Ptr, Type Ty);
 
   Variable *makeReg(Type Ty, int32_t RegNum = Variable::NoRegister);
+  // Make a call to an external helper function.
   InstCall *makeHelperCall(const IceString &Name, Variable *Dest,
                            SizeT MaxSrcs) {
-    const bool SuppressMangling = true;
     const bool HasTailCall = false;
-    const RelocOffsetT Offset = 0;
-    Constant *CallTarget = Ctx->getConstantSym(Offset, Name, SuppressMangling);
+    Constant *CallTarget = Ctx->getConstantExternSym(Name);
     InstCall *Call =
         InstCall::create(Func, MaxSrcs, Dest, CallTarget, HasTailCall);
     return Call;