RISC-V: Free the returned string of riscv_arch_str if we call it multiple times The string returned from riscv_arch_str is allocated by xmalloc, so once we called it multiple times, we should keep the newest one for the output elf architecture attribute, but free the remaining unused strings.