Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2017 21:18:15 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r311941 - head/contrib/elftoolchain/libelftc
Message-ID:  <201701112118.v0BLIF8n076395@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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";



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701112118.v0BLIF8n076395>