• joransiu's avatar
    S390:Update inline asm constraint in test-platform · 2b4c9c10
    joransiu authored
    The GetStackPointer() routine in test-platform uses an inline
    assembly code to store the current stack pointer value into a static
    variable sp_addr.  The existing asm code for S390 uses an ST/STG
    instruction, with the memory operand associated with the general ('=g')
    constraint to sp_addr.
    
    On GCC 4.8.5, the GCC compiler got confused and treated sp_addr as
    an integer operand instead of memory operand, resulting in a store
    being emitted that writes to an invalid meory location.
    
    Given the specific store instructions being inlined here, we should
    restict the sp_addr operand to explicitly be a memory operand using '=m'
    instead of '=g'.
    
    R=bmeurer@chromium.org,jkummerow@chormium.org,rmcilroy@chromium.org,yangguo@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2158523002
    Cr-Commit-Position: refs/heads/master@{#37809}
    2b4c9c10
test-platform.cc 2.42 KB