Only create GOT or GOT entry when needed
Only create GOT or GOT entry when needed

Currently we always build a GOT when we recognize a relocation in
build_got_entries even if the relocation does not require one. In the
same spirit, when the relocation does require one we always create a GOT
entry even if not entry is necessary. This patch restricts the creation
of a GOT and a GOT entry to relocations that needs it, ie:
- do not create a GOT if relocation is not related to GOT and symbol is
  not UNDEF
- do not create a GOT entry if relocation only relates to beginning of
  GOT

mirror/tinycc,avih/tinycc,mirror/tinycc,run4flat/tinycc,mingodad/tinycc,andreiw/tinycc,avih/tinycc,mirror/tinycc,avih/tinycc,run4flat/tinycc,mingodad/tinycc,code4game/tinycc,andreiw/tinycc,code4game/tinycc,avih/tinycc,mirror/tinycc,run4flat/tinycc,mingodad/tinycc,run4flat/tinycc,code4game/tinycc,run4flat/tinycc,mingodad/tinycc,andreiw/tinycc