[patch] print additional mips elf 64 reloc type info in readelf
Timothy Daly
remote_bob@yahoo.com
Sun Feb 17 16:38:00 GMT 2002
More information about the Binutils mailing list
Sun Feb 17 16:38:00 GMT 2002
- Previous message (by thread): [patch] print additional mips elf 64 reloc type info in readelf
- Next message (by thread): [patch] print additional mips elf 64 reloc type info in readelf
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
--- Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> wrote: > Timothy Daly wrote: > [snip] > > @@ -1071,8 +1094,14 @@ dump_relocations (file, rel_offset, rel_ > > #else > > printf (_("unrecognised: %-7lx"), type); [sniply] > Is better to print also the "unrecognised" string for rtype[23] == > NULL. Good point. Modified patch below (and attached). A couple of thoughts: "Unrecognised" is actually spelled with a 'z'. I didn't want to change the spelling, for fear that translations might disappear. It seems as though the _bfd_int64_low stuff shouldn't be necessary - rtype[23] only have 8 meaningful bits. But I don't think it's hurting anything. :) -Tim Index: readelf.c =================================================================== RCS file: /cvs/src/src/binutils/readelf.c,v retrieving revision 1.151 diff -u -p -r1.151 readelf.c --- readelf.c 2002/02/13 18:14:42 1.151 +++ readelf.c 2002/02/18 00:26:15 @@ -851,6 +851,15 @@ dump_relocations (file, rel_offset, rel_ printf (_(" Offset Info Type Symbol's Value Symbol's Name\n")); } + else if (elf_header.e_machine == EM_MIPS) + { + if (is_rela) + printf + (_(" Offset Info Type Type2 Type3 Symbol's Value Symbol's Name Addend\n")); + else + printf + (_(" Offset Info Type Type2 Type3 Symbol's Value Symbol's Name\n")); + } else { if (is_rela) @@ -864,10 +873,14 @@ dump_relocations (file, rel_offset, rel_ for (i = 0; i < rel_size; i++) { const char * rtype; + const char * rtype2 = NULL; + const char * rtype3 = NULL; bfd_vma offset; bfd_vma info; bfd_vma symtab_index; bfd_vma type; + bfd_vma type2 = NULL; + bfd_vma type3 = NULL; if (is_rela) { @@ -889,6 +902,12 @@ dump_relocations (file, rel_offset, rel_ { if (elf_header.e_machine == EM_SPARCV9) type = ELF64_R_TYPE_ID (info); + else if (elf_header.e_machine == EM_MIPS) + { + type = ELF64_MIPS_R_TYPE (info); + type2 = ELF64_MIPS_R_TYPE2 (info); + type3 = ELF64_MIPS_R_TYPE3 (info); + } else type = ELF64_R_TYPE (info); /* The #ifdef BFD64 below is to prevent a compile time warning. @@ -1006,6 +1025,10 @@ dump_relocations (file, rel_offset, rel_ case EM_MIPS: case EM_MIPS_RS3_LE: rtype = elf_mips_reloc_type (type); + if (!is_32bit_elf) { + rtype2 = elf_mips_reloc_type (type2); + rtype3 = elf_mips_reloc_type (type3); + } break; case EM_ALPHA: @@ -1073,6 +1096,27 @@ dump_relocations (file, rel_offset, rel_ #endif else printf ("%-21.21s", rtype); + + if (!is_32bit_elf && elf_header.e_machine == EM_MIPS) + { + if (rtype2 == NULL) +#ifdef _bfd_int64_low + printf (_("unrecognised: %-7lx"), _bfd_int64_low (type2)); +#else + printf (_("unrecognised: %-7lx"), type2); +#endif + else + printf ("%-21.21s", rtype2); + + if (rtype3 == NULL) +#ifdef _bfd_int64_low + printf (_("unrecognised: %-7lx"), _bfd_int64_low (type3)); +#else + printf (_("unrecognised: %-7lx"), type3); +#endif + else + printf ("%-21.21s", rtype3); + } if (symtab_index) { __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: readelf.diff Type: text/x-diff Size: 2678 bytes Desc: readelf.diff URL: <https://sourceware.org/pipermail/binutils/attachments/20020217/75d0ba2f/attachment.bin>
- Previous message (by thread): [patch] print additional mips elf 64 reloc type info in readelf
- Next message (by thread): [patch] print additional mips elf 64 reloc type info in readelf
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list