when resolving symbols with only weak defs, use first def, not last def