fix Issue 3956 - optlink keeps leading underscore of first export symbol

- The problem is that the output segment only gets set after
  the symbol was exported. But the decision to tweak the export
  name (strip leading '_') is made before that and rely on a
  selected output format.

- Resolved by checking whether any output format is selected
  and if not use ANY_USE32 which implies OUTPUT_PE.
  This seems to rely on the fact that any other definition
  (e.g. for '_TEXT') previously set ANY_USE32.
  Another similar solution would be to call
  SELECT_OUTPUT_SEGMENTED_OR_PE before DEFINE_EXPORT.
  It relied on the same assumption about ANY_USE32 though.
Looks like the jump target should be L5.