diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 23 |
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 |