elfcpp:/
authorIan Lance Taylor <ian@airs.com>
Wed, 4 Aug 2010 09:53:38 +0000 (09:53 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 4 Aug 2010 09:53:38 +0000 (09:53 +0000)
* i386.h (R_386_IRELATIVE): Define.
* powerpc.h (R_POWERPC_IRELATIVE): Define.
(R_PPC_RELAX32, R_PPC_RELAX32PC): Don't define.
(R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Don't define.
* sparc.h (R_SPARC_IRELATIVE): Define.
* x86_64.h (R_X86_64_IRELATIVE): Define.
(R_X86_64_GNU_VTINHERIT): Rename from R_386_GNU_VTINHERIT.
(R_X86_64_GNU_VTENTRY): Rename from R_386_GNU_VTENTRY.
gold:/
* x86_64.cc (Target_x86_64::Scan::local): Use
R_X86_64_GNU_VTINHERIT instead of R_386_GNU_VTINHERIT and
R_X86_64_GNU_VTENTRY instead of R_386_GNU_VTENTRY.
(Target_x86_64::Scan::global): Likewise.
(Target_x86_64::Relocate::relocate): Likewise.
(Target_x86_64::Relocatable_size_for_reloc::get_size_for_reloc):
Likewise.

elfcpp/ChangeLog
elfcpp/i386.h
elfcpp/powerpc.h
elfcpp/sparc.h
elfcpp/x86_64.h
gold/ChangeLog
gold/x86_64.cc

index 3240c720b0ca0b540b1fbb920a2f3441b3e58992..782b3cf40bd07f866d292f61f43b26c468b2627f 100644 (file)
@@ -1,3 +1,14 @@
+2010-08-04  Ian Lance Taylor  <iant@google.com>
+
+       * i386.h (R_386_IRELATIVE): Define.
+       * powerpc.h (R_POWERPC_IRELATIVE): Define.
+       (R_PPC_RELAX32, R_PPC_RELAX32PC): Don't define.
+       (R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Don't define.
+       * sparc.h (R_SPARC_IRELATIVE): Define.
+       * x86_64.h (R_X86_64_IRELATIVE): Define.
+       (R_X86_64_GNU_VTINHERIT): Rename from R_386_GNU_VTINHERIT.
+       (R_X86_64_GNU_VTENTRY): Rename from R_386_GNU_VTENTRY.
+
 2010-05-12  Doug Kwan  <dougkwan@google.com>
 
        * arm.h (Tag_FP_arch, Tag_ABI_align_needed, Tag_ABI_align_preserved,
@@ -7,7 +18,7 @@
        Tag_undefined43): New tags.
        (Targ_VFP_arch, Tag_ABI_align8_needed, TAG_ABI_align8_preserved,
        Tag_VFP_HP_extension): Define aliases for backward compatiblity.
+
 2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * elfcpp.h (VER_FLG_INFO): Define.
index 397e0e6748eed199cf107a18755c3d29f497a382..6903859f98bde358aab51dfc9cdcb53acc2251e6 100644 (file)
@@ -1,6 +1,6 @@
 // i386.h -- ELF definitions specific to EM_386  -*- C++ -*-
 
-// Copyright 2006, 2007, Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2010 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of elfcpp.
@@ -85,6 +85,7 @@ enum
   R_386_TLS_DESC_CALL = 40, // Marker of call through TLS desc for relaxation
   R_386_TLS_DESC = 41,      // TLS descriptor containing pointer to code and
                             // to argument, returning TLS offset for symbol
+  R_386_IRELATIVE = 42,     // Adjust indirectly by program base
   // Used by Intel.
   R_386_USED_BY_INTEL_200 = 200,
   // GNU vtable garbage collection extensions.
index 9f2b71c6f6bf041295e4bf13f7e5141ae8a0f876..2bcb3ca12e5ffddd322b392039ccd89bcda911fc 100644 (file)
@@ -1,6 +1,6 @@
 // powerpc.h -- ELF definitions specific to EM_PPC and EM_PPC64  -*- C++ -*-
 
-// Copyright 2008, Free Software Foundation, Inc.
+// Copyright 2008, 2010 Free Software Foundation, Inc.
 // Written by David S. Miller <davem@davemloft.net>.
 
 // This file is part of elfcpp.
@@ -165,10 +165,8 @@ enum
   R_PPC_EMB_RELST_HA = 114,
   R_PPC_EMB_BIT_FLD = 115,
   R_PPC_EMB_RELSDA = 116,
-  R_PPC_RELAX32 = 245,
-  R_PPC_RELAX32PC = 246,
-  R_PPC_RELAX32_PLT = 247,
-  R_PPC_RELAX32PC_PLT = 248,
+
+  R_POWERPC_IRELATIVE = 248,
   R_PPC_REL16 = 249,
   R_PPC_REL16_LO = 250,
   R_PPC_REL16_HI = 251,
index 37036fae96a72f908578894e61697f3bfb2f4915..6a9193b355cbff8fa4c54041f9886abe4dd2eed7 100644 (file)
@@ -1,6 +1,6 @@
 // sparc.h -- ELF definitions specific to EM_SPARC  -*- C++ -*-
 
-// Copyright 2008, Free Software Foundation, Inc.
+// Copyright 2008, 2010 Free Software Foundation, Inc.
 // Written by David S. Miller <davem@davemloft.net>.
 
 // This file is part of elfcpp.
@@ -141,6 +141,8 @@ enum
   R_SPARC_SIZE32 = 86,        // size of symbol, 32-bit
   R_SPARC_SIZE64 = 87,        // size of symbol, 64-bit
 
+  R_SPARC_IRELATIVE = 249,    // Adjust indirectly by program base
+
   // GNU vtable garbage collection extensions.
   R_SPARC_GNU_VTINHERIT = 250,
   R_SPARC_GNU_VTENTRY = 251,
index 3f7165285671f8e584cf1301d9177e223c295c7d..ae7d0a8ba5b51fa3adc3bf23e09350c5e622cfb7 100644 (file)
@@ -1,6 +1,6 @@
 // x86-64.h -- ELF definitions specific to EM_X86_64  -*- C++ -*-
 
-// Copyright 2006, 2007, Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2010 Free Software Foundation, Inc.
 // Written by Andrew Chatham.
 
 // This file is part of elfcpp.
@@ -90,9 +90,10 @@ enum
   R_X86_64_GOTPC32_TLSDESC = 34, // 32-bit PC relative to TLS descriptor in GOT
   R_X86_64_TLSDESC_CALL = 35,    // Relaxable call through TLS descriptor
   R_X86_64_TLSDESC = 36,         // 2 by 64-bit TLS descriptor
+  R_X86_64_IRELATIVE = 37,          // Adjust indirectly by program base
   // GNU vtable garbage collection extensions.
-  R_386_GNU_VTINHERIT = 250,
-  R_386_GNU_VTENTRY = 251
+  R_X86_64_GNU_VTINHERIT = 250,
+  R_X86_64_GNU_VTENTRY = 251
 };
 
 } // End namespace elfcpp.
index 8dcb05f608103610954a68895092c8464750c7b1..d19a5be24661603568eb18af4357845ed9a6cb69 100644 (file)
@@ -1,3 +1,13 @@
+2010-08-04  Ian Lance Taylor  <iant@google.com>
+
+       * x86_64.cc (Target_x86_64::Scan::local): Use
+       R_X86_64_GNU_VTINHERIT instead of R_386_GNU_VTINHERIT and
+       R_X86_64_GNU_VTENTRY instead of R_386_GNU_VTENTRY.
+       (Target_x86_64::Scan::global): Likewise.
+       (Target_x86_64::Relocate::relocate): Likewise.
+       (Target_x86_64::Relocatable_size_for_reloc::get_size_for_reloc):
+       Likewise.
+
 2010-08-03  Cary Coutant  <ccoutant@google.com>
 
        * merge.cc (Output_merge_string::do_add_input_section): Count strings
index abeff04486893138dd24164212c6b06c6e0dd941..bfa494c33dcd92adb5400d2db58ad146be7d0ba7 100644 (file)
@@ -1150,8 +1150,8 @@ Target_x86_64::Scan::local(Symbol_table* symtab,
   switch (r_type)
     {
     case elfcpp::R_X86_64_NONE:
-    case elfcpp::R_386_GNU_VTINHERIT:
-    case elfcpp::R_386_GNU_VTENTRY:
+    case elfcpp::R_X86_64_GNU_VTINHERIT:
+    case elfcpp::R_X86_64_GNU_VTENTRY:
       break;
 
     case elfcpp::R_X86_64_64:
@@ -1508,8 +1508,8 @@ Target_x86_64::Scan::global(Symbol_table* symtab,
   switch (r_type)
     {
     case elfcpp::R_X86_64_NONE:
-    case elfcpp::R_386_GNU_VTINHERIT:
-    case elfcpp::R_386_GNU_VTENTRY:
+    case elfcpp::R_X86_64_GNU_VTINHERIT:
+    case elfcpp::R_X86_64_GNU_VTENTRY:
       break;
 
     case elfcpp::R_X86_64_64:
@@ -1992,8 +1992,8 @@ Target_x86_64::Relocate::relocate(const Relocate_info<64, false>* relinfo,
   switch (r_type)
     {
     case elfcpp::R_X86_64_NONE:
-    case elfcpp::R_386_GNU_VTINHERIT:
-    case elfcpp::R_386_GNU_VTENTRY:
+    case elfcpp::R_X86_64_GNU_VTINHERIT:
+    case elfcpp::R_X86_64_GNU_VTENTRY:
       break;
 
     case elfcpp::R_X86_64_64:
@@ -2680,8 +2680,8 @@ Target_x86_64::Relocatable_size_for_reloc::get_size_for_reloc(
   switch (r_type)
     {
     case elfcpp::R_X86_64_NONE:
-    case elfcpp::R_386_GNU_VTINHERIT:
-    case elfcpp::R_386_GNU_VTENTRY:
+    case elfcpp::R_X86_64_GNU_VTINHERIT:
+    case elfcpp::R_X86_64_GNU_VTENTRY:
     case elfcpp::R_X86_64_TLSGD:            // Global-dynamic
     case elfcpp::R_X86_64_GOTPC32_TLSDESC:  // Global-dynamic (from ~oliva url)
     case elfcpp::R_X86_64_TLSDESC_CALL: