diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2008-10-10 20:55:36 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@codesourcery.com> | 2008-10-10 20:55:36 +0000 |
commit | f82e0623e15e6331a6cb5e7a2c6334cf5ae75ec9 (patch) | |
tree | 826b65789b90c112eda67bd4eda2d22d1c6eeb57 /binutils | |
parent | c764a876984ebfc21f3635693aebeee4e8d9d0f3 (diff) | |
download | gdb-f82e0623e15e6331a6cb5e7a2c6334cf5ae75ec9.zip gdb-f82e0623e15e6331a6cb5e7a2c6334cf5ae75ec9.tar.gz gdb-f82e0623e15e6331a6cb5e7a2c6334cf5ae75ec9.tar.bz2 |
include/elf/
* ppc.h: Add Tag_GNU_Power_ABI_Struct_Return.
bfd/
* elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
Tag_GNU_Power_ABI_Struct_Return.
binutils/
* readelf.c (display_power_gnu_attribute): Decode
Tag_GNU_Power_ABI_Struct_Return.
ld/testsuite/
* ld-powerpc/gnu-attr-12-1.s: New file.
* ld-powerpc/gnu-attr-12-2.s: New file.
* ld-powerpc/gnu-attr-12-11.d: New file.
* ld-powerpc/gnu-attr-12-21.d: New file.
* ld-powerpc/powerpc.exp: Run new dump tests.
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 bc97118..a67c2e1 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 c4bdc1d..51f5ffa 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 |