summaryrefslogtreecommitdiffstats
path: root/backends/ppc64_retval.c
diff options
context:
space:
mode:
Diffstat (limited to 'backends/ppc64_retval.c')
-rw-r--r--backends/ppc64_retval.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/backends/ppc64_retval.c b/backends/ppc64_retval.c
index 81852915..797b22a2 100644
--- a/backends/ppc64_retval.c
+++ b/backends/ppc64_retval.c
@@ -1,5 +1,5 @@
/* Function return value location for Linux/PPC64 ABI.
- Copyright (C) 2005 Red Hat, Inc.
+ Copyright (C) 2005, 2006 Red Hat, Inc.
This program is Open Source software; you can redistribute it and/or
modify it under the terms of the Open Software License version 1.0 as
@@ -22,6 +22,10 @@
#include "libebl_CPU.h"
+/* This is the SVR4 ELF ABI convention, but AIX and Linux do not use it. */
+#define SVR4_STRUCT_RETURN 0
+
+
/* r3. */
static const Dwarf_Op loc_intreg[] =
{
@@ -121,7 +125,7 @@ ppc64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
return nloc_fp4regs;
}
}
- if (size <= 8)
+ if (size <= 8 && SVR4_STRUCT_RETURN)
{
intreg:
*locp = loc_intreg;