summaryrefslogtreecommitdiff
path: root/elfutils/backends/x86_64_retval.c
diff options
context:
space:
mode:
Diffstat (limited to 'elfutils/backends/x86_64_retval.c')
-rw-r--r--elfutils/backends/x86_64_retval.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/elfutils/backends/x86_64_retval.c b/elfutils/backends/x86_64_retval.c
index 3109431e..ba772bb9 100644
--- a/elfutils/backends/x86_64_retval.c
+++ b/elfutils/backends/x86_64_retval.c
@@ -1,5 +1,5 @@
/* Function return value location for Linux/x86-64 ABI.
- Copyright (C) 2005, 2007 Red Hat, Inc.
+ Copyright (C) 2005-2010 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -181,9 +181,8 @@ x86_64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
case DW_TAG_class_type:
case DW_TAG_union_type:
case DW_TAG_array_type:
- if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
- &attr_mem), &size) != 0)
- return -1;
+ if (dwarf_aggregate_size (typedie, &size) != 0)
+ goto large;
if (size > 16)
goto large;