include/elf/
authorRichard Sandiford <rdsandiford@googlemail.com>
Sat, 28 Oct 2006 10:13:49 +0000 (10:13 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Sat, 28 Oct 2006 10:13:49 +0000 (10:13 +0000)
* mips.h (R_MIPS_GLOB_DAT): Define
(R_MIPS_max): Bump by 1.

bfd/
* elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
* elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
(elf_mips_howto_table_rela): Likewise.
* elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
(mips_elf64_howto_table_rela): Likewise.

bfd/ChangeLog
bfd/elf32-mips.c
bfd/elf64-mips.c
bfd/elfn32-mips.c
include/elf/ChangeLog
include/elf/mips.h

index 1727234d50951d4f84e97e0ae4b2627e2eac573e..38dbdbd96dfdeece7e78a09ae938f187d34c6dff 100644 (file)
@@ -1,3 +1,11 @@
+2006-10-28  Richard Sandiford  <richard@codesourcery.com>
+
+       * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
+       * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
+       (elf_mips_howto_table_rela): Likewise.
+       * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
+       (mips_elf64_howto_table_rela): Likewise.
+
 2006-10-26  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf.c (_bfd_elf_init_private_section_data): Assert output
index c5e7dd45d5e2487a6749b577d86e5fd398c2efaf..ddad2da36ea47750679e72c900470e7f92d741d2 100644 (file)
@@ -700,6 +700,21 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
         0x0000ffff,            /* src_mask */
         0x0000ffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
+
+  /* 32 bit relocation with no addend.  */
+  HOWTO (R_MIPS_GLOB_DAT,      /* type */
+        0,                     /* rightshift */
+        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_GLOB_DAT",     /* name */
+        FALSE,                 /* partial_inplace */
+        0x0,                   /* src_mask */
+        0xffffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
 };
 
 /* The reloc used for BFD_RELOC_CTOR when doing a 64 bit link.  This
index 408c352b05d1f0e9e82c1d9107b0a13cbbc5dac1..34b02e47473a097614950ad87648817cee6c78b2 100644 (file)
@@ -789,6 +789,21 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
         0x0000ffff,            /* src_mask */
         0x0000ffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
+
+  /* 32 bit relocation with no addend.  */
+  HOWTO (R_MIPS_GLOB_DAT,      /* type */
+        0,                     /* rightshift */
+        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_GLOB_DAT",     /* name */
+        FALSE,                 /* partial_inplace */
+        0x0,                   /* src_mask */
+        0xffffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
 };
 
 /* The relocation table used for SHT_RELA sections.  */
@@ -1421,6 +1436,21 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
         0x0000ffff,            /* src_mask */
         0x0000ffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
+
+  /* 32 bit relocation with no addend.  */
+  HOWTO (R_MIPS_GLOB_DAT,      /* type */
+        0,                     /* rightshift */
+        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_GLOB_DAT",     /* name */
+        FALSE,                 /* partial_inplace */
+        0x0,                   /* src_mask */
+        0xffffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
 };
 
 static reloc_howto_type mips16_elf64_howto_table_rel[] =
index 21cf4afc4ad31af2fc7c955ed8bdacf19432746b..a14760e1bff78ffd664a14fa475c54faefbc2d36 100644 (file)
@@ -754,6 +754,21 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
         0x0000ffff,            /* src_mask */
         0x0000ffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
+
+  /* 32 bit relocation with no addend.  */
+  HOWTO (R_MIPS_GLOB_DAT,      /* type */
+        0,                     /* rightshift */
+        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_GLOB_DAT",     /* name */
+        FALSE,                 /* partial_inplace */
+        0x0,                   /* src_mask */
+        0xffffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
 };
 
 /* The relocation table used for SHT_RELA sections.  */
@@ -1427,6 +1442,21 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
         0x0000ffff,            /* src_mask */
         0x0000ffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
+
+  /* 32 bit relocation with no addend.  */
+  HOWTO (R_MIPS_GLOB_DAT,      /* type */
+        0,                     /* rightshift */
+        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_GLOB_DAT",     /* name */
+        FALSE,                 /* partial_inplace */
+        0x0,                   /* src_mask */
+        0xffffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
 };
 
 static reloc_howto_type elf_mips16_howto_table_rel[] =
index 9799f45822251362ce7f06e51e3145cd71be2974..3a661cbeb3e191bcc9afda7cc5ddc59d6a1f24ab 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-28  Richard Sandiford  <richard@codesourcery.com>
+
+       * mips.h (R_MIPS_GLOB_DAT): Define
+       (R_MIPS_max): Bump by 1.
+
 2006-10-25  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
            Yukishige Shibata  <shibata@rd.scei.sony.co.jp>
            Nobuhisa Fujinami  <fnami@rd.scei.sony.co.jp>
index f22bd4d4213af5f928f33b8bc80099f5e313778f..c0d3eb114c88a5e3f9f95a68907a5e3f7bcc7df5 100644 (file)
@@ -87,7 +87,8 @@ START_RELOC_NUMBERS (elf_mips_reloc_type)
   RELOC_NUMBER (R_MIPS_TLS_TPREL64, 48)
   RELOC_NUMBER (R_MIPS_TLS_TPREL_HI16, 49)
   RELOC_NUMBER (R_MIPS_TLS_TPREL_LO16, 50)
-  FAKE_RELOC (R_MIPS_max, 51)
+  RELOC_NUMBER (R_MIPS_GLOB_DAT, 51)
+  FAKE_RELOC (R_MIPS_max, 52)
   /* These relocs are used for the mips16.  */
   FAKE_RELOC (R_MIPS16_min, 100)
   RELOC_NUMBER (R_MIPS16_26, 100)