diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2012-10-11 15:38:20 +0000 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2012-10-11 15:38:20 +0000 |
commit | a867f378979f26e7d87bb6db5b7665a2ee4c0293 (patch) | |
tree | b73103bebc80babb9d327be267d824a794468d84 /include/llvm-c | |
parent | a54b2dfb0a706cdede7be53302d5237ae79f6eed (diff) |
This patch addresses PR13947.
For function calls on the 64-bit PowerPC SVR4 target, each parameter
is mapped to as many doublewords in the parameter save area as
necessary to hold the parameter. The first 13 non-varargs
floating-point values are passed in registers; any additional
floating-point parameters are passed in the parameter save area. A
single-precision floating-point parameter (32 bits) must be mapped to
the second (rightmost, low-order) word of its assigned doubleword
slot.
Currently LLVM violates this ABI requirement by mapping such a
parameter to the first (leftmost, high-order) word of its assigned
doubleword slot. This is internally self-consistent but will not
interoperate correctly with libraries compiled with an ABI-compliant
compiler.
This patch corrects the problem by adjusting the parameter addressing
on both sides of the calling convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165714 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm-c')
0 files changed, 0 insertions, 0 deletions