STT_GNU_IFUNC support for PowerPC.
This commit is contained in:
		| @@ -1,3 +1,10 @@ | |||||||
|  | 2009-07-10  Alan Modra  <amodra@bigpond.net.au> | ||||||
|  |  | ||||||
|  | 	* ppc.h (R_PPC_IRELATIVE): Add. | ||||||
|  | 	(R_PPC_RELAX32, R_PPC_RELAX32PC, | ||||||
|  | 	R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Renumber. | ||||||
|  | 	* ppc64.h (R_PPC64_IRELATIVE): Add. | ||||||
|  |  | ||||||
| 2009-07-03  Jakub Jelinek  <jakub@redhat.com> | 2009-07-03  Jakub Jelinek  <jakub@redhat.com> | ||||||
|  |  | ||||||
| 	* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value | 	* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value | ||||||
|   | |||||||
| @@ -71,6 +71,14 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type) | |||||||
|   RELOC_NUMBER (R_PPC_SECTOFF_HA,	 36) |   RELOC_NUMBER (R_PPC_SECTOFF_HA,	 36) | ||||||
|   RELOC_NUMBER (R_PPC_ADDR30,		 37) |   RELOC_NUMBER (R_PPC_ADDR30,		 37) | ||||||
|  |  | ||||||
|  | #ifndef RELOC_MACROS_GEN_FUNC | ||||||
|  | /* Fake relocations for branch stubs, only used internally by ld.  */ | ||||||
|  |   RELOC_NUMBER (R_PPC_RELAX32,		 48) | ||||||
|  |   RELOC_NUMBER (R_PPC_RELAX32PC,	 49) | ||||||
|  |   RELOC_NUMBER (R_PPC_RELAX32_PLT,	 50) | ||||||
|  |   RELOC_NUMBER (R_PPC_RELAX32PC_PLT,	 51) | ||||||
|  | #endif | ||||||
|  |  | ||||||
|   /* Relocs added to support TLS.  */ |   /* Relocs added to support TLS.  */ | ||||||
|   RELOC_NUMBER (R_PPC_TLS,		 67) |   RELOC_NUMBER (R_PPC_TLS,		 67) | ||||||
|   RELOC_NUMBER (R_PPC_DTPMOD32,		 68) |   RELOC_NUMBER (R_PPC_DTPMOD32,		 68) | ||||||
| @@ -122,13 +130,8 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type) | |||||||
|   RELOC_NUMBER (R_PPC_EMB_BIT_FLD,	115) |   RELOC_NUMBER (R_PPC_EMB_BIT_FLD,	115) | ||||||
|   RELOC_NUMBER (R_PPC_EMB_RELSDA,	116) |   RELOC_NUMBER (R_PPC_EMB_RELSDA,	116) | ||||||
|  |  | ||||||
| #ifndef RELOC_MACROS_GEN_FUNC | /* Support STT_GNU_IFUNC plt calls.  */ | ||||||
| /* Fake relocations for branch stubs, only used internally by ld.  */ |   RELOC_NUMBER (R_PPC_IRELATIVE,	248) | ||||||
|   RELOC_NUMBER (R_PPC_RELAX32,		245) |  | ||||||
|   RELOC_NUMBER (R_PPC_RELAX32PC,	246) |  | ||||||
|   RELOC_NUMBER (R_PPC_RELAX32_PLT,	247) |  | ||||||
|   RELOC_NUMBER (R_PPC_RELAX32PC_PLT,	248) |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* These are GNU extensions used in PIC code sequences.  */ | /* These are GNU extensions used in PIC code sequences.  */ | ||||||
|   RELOC_NUMBER (R_PPC_REL16,		249) |   RELOC_NUMBER (R_PPC_REL16,		249) | ||||||
|   | |||||||
| @@ -139,6 +139,9 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) | |||||||
|   RELOC_NUMBER (R_PPC64_TLSGD,		   107) |   RELOC_NUMBER (R_PPC64_TLSGD,		   107) | ||||||
|   RELOC_NUMBER (R_PPC64_TLSLD,		   108) |   RELOC_NUMBER (R_PPC64_TLSLD,		   108) | ||||||
|  |  | ||||||
|  | /* Support STT_GNU_IFUNC plt calls.  */ | ||||||
|  |   RELOC_NUMBER (R_PPC64_IRELATIVE,	   248) | ||||||
|  |  | ||||||
|   /* These are GNU extensions to enable C++ vtable garbage collection.  */ |   /* These are GNU extensions to enable C++ vtable garbage collection.  */ | ||||||
|   RELOC_NUMBER (R_PPC64_GNU_VTINHERIT,	   253) |   RELOC_NUMBER (R_PPC64_GNU_VTINHERIT,	   253) | ||||||
|   RELOC_NUMBER (R_PPC64_GNU_VTENTRY,	   254) |   RELOC_NUMBER (R_PPC64_GNU_VTENTRY,	   254) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user