if (*input_line_pointer != '\0')
return _("unrecognized values");
- insn = XNEW (struct riscv_opcode);
+ insn = XCNEW (struct riscv_opcode);
insn->match = values[num - 1];
create_insn (ip, insn);
unsigned int bytes = riscv_insn_length (insn->match);
/* Re-write architecture elf attribute. */
arch_str = riscv_rps_as.subset_list->arch_str;
- bfd_elf_add_proc_attr_string (stdoutput, Tag_RISCV_arch, arch_str);
+ if (!bfd_elf_add_proc_attr_string (stdoutput, Tag_RISCV_arch, arch_str))
+ as_fatal (_("error adding attribute: %s"),
+ bfd_errmsg (bfd_get_error ()));
/* For the file without any instruction, we don't set the default_priv_spec
according to the privileged elf attributes since the md_assemble isn't
versions[i] = number;
/* Re-write privileged elf attributes. */
- bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec, versions[0]);
- bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec_minor, versions[1]);
- bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec_revision, versions[2]);
+ if (!bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec,
+ versions[0])
+ || !bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec_minor,
+ versions[1])
+ || !bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec_revision,
+ versions[2]))
+ as_fatal (_("error adding attribute: %s"),
+ bfd_errmsg (bfd_get_error ()));
}
/* Add the default contents for the .riscv.attributes section. */
exp_dup->X_add_symbol = exp->X_op_symbol;
fix_new_exp (fragP, fragP->fr_fix, 0,
exp_dup, 0, BFD_RELOC_RISCV_SUB_ULEB128);
+ free ((void *) exp_dup);
}
}