https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66845

            Bug ID: 66845
           Summary: one more %si register function clobbering issue
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marcus at jet dot franken.de
  Target Milestone: ---

bug 66782  fixes one %si clobbering issues when transitioning between win64 and
sysv ABI.

Here is the next one.


RPCRT4_strndupA is a SysV ABI static function taking 2 arguments, second is -1

-1 is stored in %esi before the first call, but somehow assumed to be live in
the second call too, while it is being clobbered in the function.

  6d:   be ff ff ff ff          mov    $0xffffffff,%esi
  72:   48 8b 3b                mov    (%rbx),%rdi
  75:   e8 00 00 00 00          callq  7a <RpcBindingCopy+0x7a>
                        76: R_X86_64_PC32       RPCRT4_strndupA-0x4
  7a:   48 8b 7b 08             mov    0x8(%rbx),%rdi
  7e:   e8 00 00 00 00          callq  83 <RpcBindingCopy+0x83>
                        7f: R_X86_64_PC32       RPCRT4_strndupA-0x4

Reply via email to