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 1727234..38dbdbd 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 c5e7dd4..ddad2da 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 408c352..34b02e4 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 21cf4af..a14760e 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 9799f45..3a661cb 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 f22bd4d..c0d3eb1 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)