From: Nick Clifton Date: Thu, 30 Apr 2015 14:57:41 +0000 (+0100) Subject: Fix handling of relocs for the MeP target. X-Git-Tag: gdb-7.10-release~622 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=153a27763ccc9979fdb5f342e21eb1666c8f117b;p=external%2Fbinutils.git Fix handling of relocs for the MeP target. bfd PR 18317 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of mep_reloc. (mep_reloc): Delete unused function. bin * readelf.c (get_machine_flags): Add description of MeP flags. tests * binutils-all/objdump.exp (cpus_expected): Add MeP CPU names. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 51ef196..4dc878e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -3,6 +3,13 @@ * elf32-i386.c (elf_backend_post_process_headers): Undef for Solaris 2. +2015-04-30 Nick Clifton + + PR 18317 + * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of + mep_reloc. + (mep_reloc): Delete unused function. + 2015-04-29 Nick Clifton PR 17099 diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index 4032d2a..c791884 100644 --- a/bfd/elf32-mep.c +++ b/bfd/elf32-mep.c @@ -30,15 +30,12 @@ /* Private relocation functions. */ #define MEPREL(type, size, bits, right, left, pcrel, overflow, mask) \ - {(unsigned)type, right, size, bits, pcrel, left, overflow, mep_reloc, #type, FALSE, 0, mask, 0 } + {(unsigned)type, right, size, bits, pcrel, left, overflow, bfd_elf_generic_reloc, #type, FALSE, 0, mask, 0 } #define N complain_overflow_dont #define S complain_overflow_signed #define U complain_overflow_unsigned -static bfd_reloc_status_type mep_reloc (bfd *, arelent *, struct bfd_symbol *, - void *, asection *, bfd *, char **); - static reloc_howto_type mep_elf_howto_table [] = { /* type, size, bits, leftshift, rightshift, pcrel, OD/OS/OU, mask. */ @@ -75,20 +72,6 @@ static reloc_howto_type mep_elf_howto_table [] = #undef N #undef S #undef U - -static bfd_reloc_status_type -mep_reloc - (bfd * abfd ATTRIBUTE_UNUSED, - arelent * reloc_entry ATTRIBUTE_UNUSED, - struct bfd_symbol * symbol ATTRIBUTE_UNUSED, - void * data ATTRIBUTE_UNUSED, - asection * input_section ATTRIBUTE_UNUSED, - bfd * output_bfd ATTRIBUTE_UNUSED, - char ** error_message ATTRIBUTE_UNUSED) -{ - return bfd_reloc_ok; -} - #define BFD_RELOC_MEP_NONE BFD_RELOC_NONE diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 18f4322..b2271ee 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2015-04-30 Nick Clifton + + * readelf.c (get_machine_flags): Add description of MeP flags. + 2015-04-27 Andreas Krebbel * readelf.c (display_s390_gnu_attribute): New function. diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 5884140..e1ed1fa 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -2006,6 +2006,8 @@ read_and_display_attr_value (unsigned long attribute, case DW_ATE_HP_floathpintel: printf ("(HP_floathpintel)"); break; case DW_ATE_HP_imaginary_float80: printf ("(HP_imaginary_float80)"); break; case DW_ATE_HP_imaginary_float128: printf ("(HP_imaginary_float128)"); break; + /* DWARF 4 values: */ + case DW_ATE_UTF: printf ("(unicode string)"); break; default: if (uvalue >= DW_ATE_lo_user diff --git a/binutils/readelf.c b/binutils/readelf.c index 724df24..0f53735 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -2892,6 +2892,40 @@ get_machine_flags (unsigned e_flags, unsigned e_machine) } break; + case EM_CYGNUS_MEP: + switch (e_flags & EF_MEP_CPU_MASK) + { + case EF_MEP_CPU_MEP: strcat (buf, ", generic MeP"); break; + case EF_MEP_CPU_C2: strcat (buf, ", MeP C2"); break; + case EF_MEP_CPU_C3: strcat (buf, ", MeP C3"); break; + case EF_MEP_CPU_C4: strcat (buf, ", MeP C4"); break; + case EF_MEP_CPU_C5: strcat (buf, ", MeP C5"); break; + case EF_MEP_CPU_H1: strcat (buf, ", MeP H1"); break; + default: strcat (buf, _(", ")); break; + } + + switch (e_flags & EF_MEP_COP_MASK) + { + case EF_MEP_COP_NONE: break; + case EF_MEP_COP_AVC: strcat (buf, ", AVC coprocessor"); break; + case EF_MEP_COP_AVC2: strcat (buf, ", AVC2 coprocessor"); break; + case EF_MEP_COP_FMAX: strcat (buf, ", FMAX coprocessor"); break; + case EF_MEP_COP_IVC2: strcat (buf, ", IVC2 coprocessor"); break; + default: strcat (buf, _("")); break; + } + + if (e_flags & EF_MEP_LIBRARY) + strcat (buf, ", Built for Library"); + + if (e_flags & EF_MEP_INDEX_MASK) + sprintf (buf + strlen (buf), ", Configuration Index: %#x", + e_flags & EF_MEP_INDEX_MASK); + + if (e_flags & ~ EF_MEP_ALL_FLAGS) + sprintf (buf + strlen (buf), _(", unknown flags bits: %#x"), + e_flags & ~ EF_MEP_ALL_FLAGS); + break; + case EM_PPC: if (e_flags & EF_PPC_EMB) strcat (buf, ", emb"); diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 52daa35..b9b7b3e 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-04-30 Nick Clifton + + * binutils-all/objdump.exp (cpus_expected): Add MeP CPU names. + 2015-04-23 H.J. Lu PR binutils/18209 diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsuite/binutils-all/objdump.exp index 6d5e76f..53ac0b5 100644 --- a/binutils/testsuite/binutils-all/objdump.exp +++ b/binutils/testsuite/binutils-all/objdump.exp @@ -36,7 +36,7 @@ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -i"] set cpus_expected [list] lappend cpus_expected aarch64 alpha arc arm cris lappend cpus_expected d10v d30v fr30 fr500 fr550 h8 hppa i386 i860 i960 ip2022 -lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore MicroBlaze +lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore mep c5 h1 MicroBlaze lappend cpus_expected mips mn10200 mn10300 ms1 msp MSP430 nds32 n1h_v3 ns32k lappend cpus_expected or1k or1knd pj powerpc pyramid romp rs6000 s390 sh sparc lappend cpus_expected tahoe tic54x tic80 tilegx tms320c30 tms320c4x tms320c54x