We can't meaningfully resolve certain types of relocations against
undefined data symbols. Previously when --allow-undefined was used
we were treating such relocation much like weak data symbols and
simply inserting zeros. This change turns such use cases in to an
error.
This means that --allow-undefined is no longer effective for data
symbols.