I recently ran into this error message and found it's not helpful: it
just tells me some temporary file can't be linked.  This slightly
improved one at least tells me it's because of an elf32/elf64 conflict.
	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
	error message when linking elf32 and elf64.
+2016-12-20  Palmer Dabbelt  <palmer@dabbelt.com>
+
+       * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
+       error message when linking elf32 and elf64.
+
 2016-12-19  Christian Groessler  <chris@groessler.org>
 
        * elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'.  Make
 
   if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0)
     {
       (*_bfd_error_handler)
-       (_("%B: ABI is incompatible with that of the selected emulation"),
-        ibfd);
+       (_("%B: ABI is incompatible with that of the selected emulation:\n"
+          "  target emulation `%s' does not match `%s'"),
+        ibfd, bfd_get_target (ibfd), bfd_get_target (obfd));
       return FALSE;
     }