[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#335881: numerix: FTBFS: Segfaults in tests



* Michel Quercia:

> I don't know how to make a patch. Is this ok ?

It is.

> --- 985,991 ----
>   #define BODY(x,y,z) \
>             adcl  x(%ebx,%ecx,4), %eax; \
> !        /* movl  y(%esi,%ecx,4), %edx */ .byte 0x8B, 0x54, 0x8E, y; \
>             movl  %eax, x(%edi,%ecx,4); \
> !        /* adcl  y(%ebx,%ecx,4), %edx */ .byte 0x13, 0x54, 0x8B, y; \
>             movl  z(%esi,%ecx,4), %eax; \
>             movl  %edx, y(%edi,%ecx,4)

You must also byte-code the final movl instruction, I'm afraid:

      50:       13 44 8b fc             adc    0xfffffffc(%ebx,%ecx,4),%eax
      54:       8b 54 8e 00             mov    0x0(%esi,%ecx,4),%edx
      58:       89 44 8f fc             mov    %eax,0xfffffffc(%edi,%ecx,4)
      5c:       13 54 8b 00             adc    0x0(%ebx,%ecx,4),%edx
      60:       8b 44 8e 04             mov    0x4(%esi,%ecx,4),%eax
      64:       89 14 8f                mov    %edx,(%edi,%ecx,4)

(This is after your patch has been applied.)

I've checked with the binutils folks; using .byte is indeed the
recommended way of dealing with this issue.



Reply to: