* powerpc.h: Add more relocs.
	(R_PPC_REL16*): Rename to R_POWERPC_REL16*.
gold/
	* powerpc.cc: Update for renamed R_PPC_REL16 relocs.
	(Output_data_got_powerpc::do_write): Don't rely on base class lookup
	for replace_constant call.
	(Output_data_plt_powerpc::do_print_to_mapfile): New function.
	(Output_data_glink::do_print_to_mapfile): New function.
	(Target_powerpc::Scan::local): Ignore R_PPC64_TOCSAVE.
	(Target_powerpc::Relocate::relocate): Likewise.
This commit is contained in:
Alan Modra
2012-08-14 02:22:32 +00:00
parent d1a8cabd8f
commit 6ce7895693
4 changed files with 87 additions and 32 deletions

View File

@@ -1,6 +1,6 @@
// powerpc.h -- ELF definitions specific to EM_PPC and EM_PPC64 -*- C++ -*-
// Copyright 2008, 2010 Free Software Foundation, Inc.
// Copyright 2008, 2010, 2012 Free Software Foundation, Inc.
// Written by David S. Miller <davem@davemloft.net>.
// This file is part of elfcpp.
@@ -137,27 +137,32 @@ enum
R_POWERPC_GOT_DTPREL16_LO = 92,
R_POWERPC_GOT_DTPREL16_HI = 93,
R_POWERPC_GOT_DTPREL16_HA = 94,
R_PPC_TLSGD = 95,
R_PPC64_TPREL16_DS = 95,
R_PPC_TLSLD = 96,
R_PPC64_TPREL16_LO_DS = 96,
R_PPC64_TPREL16_HIGHER = 97,
R_PPC64_TPREL16_HIGHERA = 98,
R_PPC64_TPREL16_HIGHEST = 99,
R_PPC64_TPREL16_HIGHESTA = 100,
R_PPC64_DTPREL16_DS = 101,
R_PPC64_DTPREL16_LO_DS = 102,
R_PPC64_DTPREL16_HIGHER = 103,
R_PPC64_DTPREL16_HIGHERA = 104,
R_PPC64_DTPREL16_HIGHEST = 105,
R_PPC64_DTPREL16_HIGHESTA = 106,
R_PPC_EMB_NADDR32 = 101,
R_PPC64_DTPREL16_DS = 101,
R_PPC_EMB_NADDR16 = 102,
R_PPC64_DTPREL16_LO_DS = 102,
R_PPC_EMB_NADDR16_LO = 103,
R_PPC64_DTPREL16_HIGHER = 103,
R_PPC_EMB_NADDR16_HI = 104,
R_PPC64_DTPREL16_HIGHERA = 104,
R_PPC_EMB_NADDR16_HA = 105,
R_PPC64_DTPREL16_HIGHEST = 105,
R_PPC_EMB_SDAI16 = 106,
R_PPC64_DTPREL16_HIGHESTA = 106,
R_PPC_EMB_SDA2I16 = 107,
R_PPC64_TLSGD = 107,
R_PPC_EMB_SDA2REL = 108,
R_PPC64_TLSLD = 108,
R_PPC_EMB_SDA21 = 109,
R_PPC64_TOCSAVE = 109,
R_PPC_EMB_MRKREF = 110,
R_PPC_EMB_RELSEC16 = 111,
R_PPC_EMB_RELST_LO = 112,
@@ -166,11 +171,30 @@ enum
R_PPC_EMB_BIT_FLD = 115,
R_PPC_EMB_RELSDA = 116,
R_PPC_VLE_REL8 = 216,
R_PPC_VLE_REL15 = 217,
R_PPC_VLE_REL24 = 218,
R_PPC_VLE_LO16A = 219,
R_PPC_VLE_LO16D = 220,
R_PPC_VLE_HI16A = 221,
R_PPC_VLE_HI16D = 222,
R_PPC_VLE_HA16A = 223,
R_PPC_VLE_HA16D = 224,
R_PPC_VLE_SDA21 = 225,
R_PPC_VLE_SDA21_LO = 226,
R_PPC_VLE_SDAREL_LO16A = 227,
R_PPC_VLE_SDAREL_LO16D = 228,
R_PPC_VLE_SDAREL_HI16A = 229,
R_PPC_VLE_SDAREL_HI16D = 230,
R_PPC_VLE_SDAREL_HA16A = 231,
R_PPC_VLE_SDAREL_HA16D = 232,
R_PPC64_JMP_IREL = 247,
R_POWERPC_IRELATIVE = 248,
R_PPC_REL16 = 249,
R_PPC_REL16_LO = 250,
R_PPC_REL16_HI = 251,
R_PPC_REL16_HA = 252,
R_POWERPC_REL16 = 249,
R_POWERPC_REL16_LO = 250,
R_POWERPC_REL16_HI = 251,
R_POWERPC_REL16_HA = 252,
R_POWERPC_GNU_VTINHERIT = 253,
R_POWERPC_GNU_VTENTRY = 254,
R_PPC_TOC16 = 255,