aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ELFObjectFile.cpp
diff options
context:
space:
mode:
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>2023-02-16 13:37:31 -0500
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>2023-02-16 13:37:58 -0500
commit372820bf571c8d32c8165cfc74b0439c7bb397f9 (patch)
treec2e4b16dd904305331d306f46abdd7c0c612089b /llvm/lib/Object/ELFObjectFile.cpp
parentfbe210dc7a6ad87a30e5ffe928a168e621f6fcc5 (diff)
downloadllvm-372820bf571c8d32c8165cfc74b0439c7bb397f9.zip
llvm-372820bf571c8d32c8165cfc74b0439c7bb397f9.tar.gz
llvm-372820bf571c8d32c8165cfc74b0439c7bb397f9.tar.bz2
[libunwind][PowerPC] Fix saving/restoring VSX registers on LE systems
Currently, libunwind just uses stxvd2x/lxvd2x to save/restore VSX registers respectively. This puts the registers in doubleword-reversed order into memory on little endian systems. If both the save and restore are done the same way, this isn't a problem. However if the unwinder is just restoring a callee-saved register, it will restore it in the wrong order (since function prologues save them in the correct order). This patch adds the necessary swaps before the saves and after the restores. Differential revision: https://reviews.llvm.org/D137599
Diffstat (limited to 'llvm/lib/Object/ELFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions