summaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/readelf.c23
2 files changed, 28 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index bc971184506..a67c2e1c9af 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * readelf.c (display_power_gnu_attribute): Decode
+ Tag_GNU_Power_ABI_Struct_Return.
+
2008-10-10 Alan Modra <amodra@bigpond.net.au>
* embedspu.sh: Pass -Wa,-noexecstack to $CC.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index c4bdc1dfd8d..51f5ffa21cb 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -9063,6 +9063,29 @@ display_power_gnu_attribute (unsigned char *p, int tag)
return p;
}
+ if (tag == Tag_GNU_Power_ABI_Struct_Return)
+ {
+ val = read_uleb128 (p, &len);
+ p += len;
+ printf (" Tag_GNU_Power_ABI_Struct_Return: ");
+ switch (val)
+ {
+ case 0:
+ printf ("Any\n");
+ break;
+ case 1:
+ printf ("r3/r4\n");
+ break;
+ case 2:
+ printf ("Memory\n");
+ break;
+ default:
+ printf ("??? (%d)\n", val);
+ break;
+ }
+ return p;
+ }
+
if (tag & 1)
type = 1; /* String. */
else