https://sourceware.org/bugzilla/show_bug.cgi?id=22014

            Bug ID: 22014
           Summary: as(1) in microMIPS mode: illegal use of memcpy with
                    overlapping addresses
           Product: binutils
           Version: 2.29
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: awilfox at adelielinux dot org
  Target Milestone: ---

Created attachment 10371
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10371&action=edit
Change memcpy to memmove in mips_lookup_insn

Using microMIPS, given an instruction with a size suffix (i.e. "add16.ps"),
as(1) will perform an overlapping memcpy to look up the instruction without the
suffix.  This causes SIGILL when using Portable Fortify, SIGABRT on musl libc,
and can cause invalid bytes to be written when compiled with icc (Intel C
Compiler) 12.0 or higher.

Attached patch changes memcpy to memmove, solving all of these cases.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to