From b5ed89158e7a28ec1b2f54fa1628d0a5b8b4d1ff Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 25 Jun 2010 05:20:56 +0000 Subject: [PATCH] include/elf/ * ppc64.h (R_PPC64_LO_DS_OPT): Define. bfd/ * elf64-ppc.c (toc_skip_enum): Define. (ppc64_elf_edit_toc): Use two low bits of skip array as markers. Optimize largetoc sequences. (adjust_toc_syms): Update for skip array change. (ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT. ld/ * emultempl/ppc64elf.em (prelim_size_sections): New function. (ppc_before_allocation): Use it. Size sections before toc edit too. --- include/elf/ChangeLog | 4 ++++ include/elf/ppc64.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 2442c5086..8a8e118ca 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,7 @@ +2010-06-25 Alan Modra + + * ppc64.h (R_PPC64_LO_DS_OPT): Define. + 2010-06-15 Joseph Myers * tic6x-attrs.h: New. diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h index dfd775da1..a18edd68f 100644 --- a/include/elf/ppc64.h +++ b/include/elf/ppc64.h @@ -140,6 +140,10 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) RELOC_NUMBER (R_PPC64_TLSGD, 107) RELOC_NUMBER (R_PPC64_TLSLD, 108) +#ifndef RELOC_MACROS_GEN_FUNC +/* Fake relocation only used internally by ld. */ + RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128) +#endif /* Support STT_GNU_IFUNC plt calls. */ RELOC_NUMBER (R_PPC64_JMP_IREL, 247) RELOC_NUMBER (R_PPC64_IRELATIVE, 248)