This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/15723] New: setjmp trashes vmx regs when save buffer is misaligned


http://sourceware.org/bugzilla/show_bug.cgi?id=15723

            Bug ID: 15723
           Summary: setjmp trashes vmx regs when save buffer is misaligned
           Product: glibc
           Version: 2.18
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: amodra at gmail dot com
                CC: drepper.fsp at gmail dot com

Found by inspection when modifying sysdeps/powerpc/powerpc64/setjmp-common.S
and sysdeps/powerpc/powerpc32/fpu/setjmp-common.S for little-endian.

This code:

# define
save_2vmx_partial(savevr,prev_savevr,hivr,shiftvr,maskvr,savegpr,addgpr) \
    addi    addgpr,addgpr,32; \
    vperm   savevr,savevr,savevr,shiftvr; \
    vsel    hivr,prev_savevr,savevr,maskvr; \
    stvx    hivr,0,savegpr;

    save_2vmx_partial(v21,v20,v5,v0,v3,r6,r5)
    save_2vmx_partial(v22,v21,v5,v0,v3,r5,r6)
    save_2vmx_partial(v23,v22,v5,v0,v3,r6,r5)
    save_2vmx_partial(v24,v23,v5,v0,v3,r5,r6)
    save_2vmx_partial(v25,v24,v5,v0,v3,r6,r5)
    save_2vmx_partial(v26,v25,v5,v0,v3,r5,r6)
    save_2vmx_partial(v27,v26,v5,v0,v3,r6,r5)
    save_2vmx_partial(v28,v27,v5,v0,v3,r5,r6)
    save_2vmx_partial(v29,v28,v5,v0,v3,r6,r5)
    save_2vmx_partial(v30,v29,v5,v0,v3,r5,r6)

and the code following permute v21 thru v31.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]