Author: emaste
Date: Wed Jan 11 21:18:14 2017
New Revision: 311941
URL: https://svnweb.freebsd.org/changeset/base/311941

Log:
  readelf: add PPC64 relocation types
  
  Reported by:  Mark Millard
  MFC after:    2 weeks
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D9146

Modified:
  head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c

Modified: head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c
==============================================================================
--- head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c   Wed Jan 11 
21:05:13 2017        (r311940)
+++ head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c   Wed Jan 11 
21:18:14 2017        (r311941)
@@ -501,6 +501,114 @@ elftc_reloc_type_str(unsigned int mach, 
                case 116: return "R_PPC_EMB_RELSDA";
                }
                break;
+       case EM_PPC64:
+               switch(type) {
+               case 0: return "R_PPC64_NONE";
+               case 1: return "R_PPC64_ADDR32";
+               case 2: return "R_PPC64_ADDR24";
+               case 3: return "R_PPC64_ADDR16";
+               case 4: return "R_PPC64_ADDR16_LO";
+               case 5: return "R_PPC64_ADDR16_HI";
+               case 6: return "R_PPC64_ADDR16_HA";
+               case 7: return "R_PPC64_ADDR14";
+               case 8: return "R_PPC64_ADDR14_BRTAKEN";
+               case 9: return "R_PPC64_ADDR14_BRNTAKEN";
+               case 10: return "R_PPC64_REL24";
+               case 11: return "R_PPC64_REL14";
+               case 12: return "R_PPC64_REL14_BRTAKEN";
+               case 13: return "R_PPC64_REL14_BRNTAKEN";
+               case 14: return "R_PPC64_GOT16";
+               case 15: return "R_PPC64_GOT16_LO";
+               case 16: return "R_PPC64_GOT16_HI";
+               case 17: return "R_PPC64_GOT16_HA";
+               case 19: return "R_PPC64_COPY";
+               case 20: return "R_PPC64_GLOB_DAT";
+               case 21: return "R_PPC64_JMP_SLOT";
+               case 22: return "R_PPC64_RELATIVE";
+               case 24: return "R_PPC64_UADDR32";
+               case 25: return "R_PPC64_UADDR16";
+               case 26: return "R_PPC64_REL32";
+               case 27: return "R_PPC64_PLT32";
+               case 28: return "R_PPC64_PLTREL32";
+               case 29: return "R_PPC64_PLT16_LO";
+               case 30: return "R_PPC64_PLT16_HI";
+               case 31: return "R_PPC64_PLT16_HA";
+               case 33: return "R_PPC64_SECTOFF";
+               case 34: return "R_PPC64_SECTOFF_LO";
+               case 35: return "R_PPC64_SECTOFF_HI";
+               case 36: return "R_PPC64_SECTOFF_HA";
+               case 37: return "R_PPC64_ADDR30";
+               case 38: return "R_PPC64_ADDR64";
+               case 39: return "R_PPC64_ADDR16_HIGHER";
+               case 40: return "R_PPC64_ADDR16_HIGHERA";
+               case 41: return "R_PPC64_ADDR16_HIGHEST";
+               case 42: return "R_PPC64_ADDR16_HIGHESTA";
+               case 43: return "R_PPC64_UADDR64";
+               case 44: return "R_PPC64_REL64";
+               case 45: return "R_PPC64_PLT64";
+               case 46: return "R_PPC64_PLTREL64";
+               case 47: return "R_PPC64_TOC16";
+               case 48: return "R_PPC64_TOC16_LO";
+               case 49: return "R_PPC64_TOC16_HI";
+               case 50: return "R_PPC64_TOC16_HA";
+               case 51: return "R_PPC64_TOC";
+               case 52: return "R_PPC64_PLTGOT16";
+               case 53: return "R_PPC64_PLTGOT16_LO";
+               case 54: return "R_PPC64_PLTGOT16_HI";
+               case 55: return "R_PPC64_PLTGOT16_HA";
+               case 56: return "R_PPC64_ADDR16_DS";
+               case 57: return "R_PPC64_ADDR16_LO_DS";
+               case 58: return "R_PPC64_GOT16_DS";
+               case 59: return "R_PPC64_GOT16_LO_DS";
+               case 60: return "R_PPC64_PLT16_LO_DS";
+               case 61: return "R_PPC64_SECTOFF_DS";
+               case 62: return "R_PPC64_SECTOFF_LO_DS";
+               case 63: return "R_PPC64_TOC16_DS";
+               case 64: return "R_PPC64_TOC16_LO_DS";
+               case 65: return "R_PPC64_PLTGOT16_DS";
+               case 66: return "R_PPC64_PLTGOT16_LO_DS";
+               case 67: return "R_PPC64_TLS";
+               case 68: return "R_PPC64_DTPMOD64";
+               case 69: return "R_PPC64_TPREL16";
+               case 70: return "R_PPC64_TPREL16_LO";
+               case 71: return "R_PPC64_TPREL16_HI";
+               case 72: return "R_PPC64_TPREL16_HA";
+               case 73: return "R_PPC64_TPREL64";
+               case 74: return "R_PPC64_DTPREL16";
+               case 75: return "R_PPC64_DTPREL16_LO";
+               case 76: return "R_PPC64_DTPREL16_HI";
+               case 77: return "R_PPC64_DTPREL16_HA";
+               case 78: return "R_PPC64_DTPREL64";
+               case 79: return "R_PPC64_GOT_TLSGD16";
+               case 80: return "R_PPC64_GOT_TLSGD16_LO";
+               case 81: return "R_PPC64_GOT_TLSGD16_HI";
+               case 82: return "R_PPC64_GOT_TLSGD16_HA";
+               case 83: return "R_PPC64_GOT_TLSLD16";
+               case 84: return "R_PPC64_GOT_TLSLD16_LO";
+               case 85: return "R_PPC64_GOT_TLSLD16_HI";
+               case 86: return "R_PPC64_GOT_TLSLD16_HA";
+               case 87: return "R_PPC64_GOT_TPREL16_DS";
+               case 88: return "R_PPC64_GOT_TPREL16_LO_DS";
+               case 89: return "R_PPC64_GOT_TPREL16_HI";
+               case 90: return "R_PPC64_GOT_TPREL16_HA";
+               case 91: return "R_PPC64_GOT_DTPREL16_DS";
+               case 92: return "R_PPC64_GOT_DTPREL16_LO_DS";
+               case 93: return "R_PPC64_GOT_DTPREL16_HI";
+               case 94: return "R_PPC64_GOT_DTPREL16_HA";
+               case 95: return "R_PPC64_TPREL16_DS";
+               case 96: return "R_PPC64_TPREL16_LO_DS";
+               case 97: return "R_PPC64_TPREL16_HIGHER";
+               case 98: return "R_PPC64_TPREL16_HIGHERA";
+               case 99: return "R_PPC64_TPREL16_HIGHEST";
+               case 100: return "R_PPC64_TPREL16_HIGHESTA";
+               case 101: return "R_PPC64_DTPREL16_DS";
+               case 102: return "R_PPC64_DTPREL16_LO_DS";
+               case 103: return "R_PPC64_DTPREL16_HIGHER";
+               case 104: return "R_PPC64_DTPREL16_HIGHERA";
+               case 105: return "R_PPC64_DTPREL16_HIGHEST";
+               case 106: return "R_PPC64_DTPREL16_HIGHESTA";
+               }
+               break;
        case EM_RISCV:
                switch(type) {
                case 0: return "R_RISCV_NONE";
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to