Add support for DT_MIPS_RLD_MAP_REL.
authorMatthew Fortune <matthew.fortune@imgtec.com>
Thu, 11 Jun 2015 09:16:19 +0000 (10:16 +0100)
committerMatthew Fortune <matthew.fortune@imgtec.com>
Fri, 26 Jun 2015 10:53:33 +0000 (11:53 +0100)
This tag makes it possible to access the debug map when debugging position
independent executables.

bfd/

* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
instead of !shared to indicate an application vs shared library.
(_bfd_mips_elf_size_dynamic_sections): Likewise.
(_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
(_bfd_mips_elf_get_target_dtag): Likewise.

binutils/

* readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.

include/

* elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.

ld/testsuite/

* ld-mips-elf/pic-and-nonpic-3b.ad: Adjust for extra dynamic tag.
* ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
* ld-mips-elf/tlsdyn-o32-1.d: Likewise.
* ld-mips-elf/tlsdyn-o32-1.got: Likewise.
* ld-mips-elf/tlsdyn-o32-2.d: Likewise.
* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
* ld-mips-elf/tlsdyn-o32-3.d: Likewise.
* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
* ld-mips-elf/tlsdyn-o32.d: Likewise.
* ld-mips-elf/tlsdyn-o32.got: Likewise.
* ld-mips-elf/pie-n32.d: New file.
* ld-mips-elf/pie-n64.d: Likewise.
* ld-mips-elf/pie-o32.d: Likewise.
* ld-mips-elf/pie.s: Likewise.
* ld-mips-elf/mips-elf.exp: Add new tests.

26 files changed:
bfd/ChangeLog
bfd/elfxx-mips.c
binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/mips.h
ld/testsuite/ChangeLog
ld/testsuite/ld-mips-elf/mips-elf.exp
ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad
ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad
ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad
ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad
ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad
ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad
ld/testsuite/ld-mips-elf/pie-n32.d [new file with mode: 0644]
ld/testsuite/ld-mips-elf/pie-n64.d [new file with mode: 0644]
ld/testsuite/ld-mips-elf/pie-o32.d [new file with mode: 0644]
ld/testsuite/ld-mips-elf/pie.s [new file with mode: 0644]
ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
ld/testsuite/ld-mips-elf/tlsdyn-o32.d
ld/testsuite/ld-mips-elf/tlsdyn-o32.got

index 955e9269033afe4e55d6756acbf6bf0de975e25a..89a6a0c062a6f55dab6b6f70445dcd80a5c6f2d9 100644 (file)
@@ -1,3 +1,11 @@
+2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
+       instead of !shared to indicate an application vs shared library.
+       (_bfd_mips_elf_size_dynamic_sections): Likewise.
+       (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
+       (_bfd_mips_elf_get_target_dtag): Likewise.
+
 2015-06-25  DJ Delorie  <dj@redhat.com>
 
        * elf32-msp430.c (msp430_final_link_relocate): Fix comments.  Fix
index a5e6453bf978f0f93991b23bfc62e786a8a772c5..9932453658bcfe23383a1219700adf49946fd558 100644 (file)
@@ -7614,7 +7614,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
   htab->sstubs = s;
 
   if (!mips_elf_hash_table (info)->use_rld_obj_head
-      && !info->shared
+      && info->executable
       && bfd_get_linker_section (abfd, ".rld_map") == NULL)
     {
       s = bfd_make_section_anyway_with_flags (abfd, ".rld_map",
@@ -7678,7 +7678,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
        (void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
     }
 
-  if (!info->shared)
+  if (info->executable)
     {
       const char *name;
 
@@ -9719,7 +9719,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
              info->combreloc = 0;
            }
        }
-      else if (! info->shared
+      else if (info->executable
               && ! mips_elf_hash_table (info)->use_rld_obj_head
               && CONST_STRNEQ (name, ".rld_map"))
        {
@@ -9782,6 +9782,10 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
          && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP, 0))
        return FALSE;
 
+      if (info->executable
+         && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP_REL, 0))
+       return FALSE;
+
       /* The DT_DEBUG entry may be filled in by the dynamic linker and
         used by the debugger.  */
       if (info->executable
@@ -11487,11 +11491,37 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
                    break;
                  }
                s = h->root.u.def.section;
+
+               /* The MIPS_RLD_MAP tag stores the absolute address of the
+                  debug pointer.  */
                dyn.d_un.d_ptr = (s->output_section->vma + s->output_offset
                                  + h->root.u.def.value);
              }
              break;
 
+           case DT_MIPS_RLD_MAP_REL:
+             {
+               struct elf_link_hash_entry *h;
+               bfd_vma dt_addr, rld_addr;
+               h = mips_elf_hash_table (info)->rld_symbol;
+               if (!h)
+                 {
+                   dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj);
+                   swap_out_p = FALSE;
+                   break;
+                 }
+               s = h->root.u.def.section;
+
+               /* The MIPS_RLD_MAP_REL tag stores the offset to the debug
+                  pointer, relative to the address of the tag.  */
+               dt_addr = (sdyn->output_section->vma + sdyn->output_offset
+                          + b - sdyn->contents);
+               rld_addr = (s->output_section->vma + s->output_offset
+                           + h->root.u.def.value);
+               dyn.d_un.d_ptr = rld_addr - dt_addr;
+             }
+             break;
+
            case DT_MIPS_OPTIONS:
              s = (bfd_get_section_by_name
                   (output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (output_bfd)));
@@ -15421,6 +15451,8 @@ _bfd_mips_elf_get_target_dtag (bfd_vma dtag)
       return "MIPS_HIPAGENO";
     case DT_MIPS_RLD_MAP:
       return "MIPS_RLD_MAP";
+    case DT_MIPS_RLD_MAP_REL:
+      return "MIPS_RLD_MAP_REL";
     case DT_MIPS_DELTA_CLASS:
       return "MIPS_DELTA_CLASS";
     case DT_MIPS_DELTA_CLASS_NO:
index c44146d6669db1d70ed7dc5114a70f6a08fa150b..ab36fd93c8a863aeb3754a1607a2f48234558d2e 100644 (file)
@@ -1,3 +1,7 @@
+2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.
+
 2015-06-22  Nick Clifton  <nickc@redhat.com>
 
        * objdump.c (disassemble_bytes): Set the stop_vma field in the
index a0c20a386125dd7f192f1a9412b671c06a46bafb..398a165d2bd80da5f14a29b8a665fa8ccacbc857 100644 (file)
@@ -1695,6 +1695,7 @@ get_mips_dynamic_type (unsigned long type)
     case DT_MIPS_GOTSYM: return "MIPS_GOTSYM";
     case DT_MIPS_HIPAGENO: return "MIPS_HIPAGENO";
     case DT_MIPS_RLD_MAP: return "MIPS_RLD_MAP";
+    case DT_MIPS_RLD_MAP_REL: return "MIPS_RLD_MAP_REL";
     case DT_MIPS_DELTA_CLASS: return "MIPS_DELTA_CLASS";
     case DT_MIPS_DELTA_CLASS_NO: return "MIPS_DELTA_CLASS_NO";
     case DT_MIPS_DELTA_INSTANCE: return "MIPS_DELTA_INSTANCE";
index 89b4bbebccd914c59684cdcb772813566ad8e5f3..d85a1b0e73cc6314c69e58b52008caecbf928186 100644 (file)
@@ -1,3 +1,7 @@
+2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.
+
 2015-06-22  Nick Clifton  <nickc@redhat.com>
 
        * dis-asm.h (struct disassemble_info): Add stop_vma field.
index 23c21e208f66dfa893096780f32d591c9c0c5db0..3926380e45c391a971bb405d0b43d3bbdd41a6c9 100644 (file)
@@ -748,6 +748,9 @@ extern void bfd_mips_elf32_swap_reginfo_out
 
 /* Points to the base of a writable PLT.  */
 #define DT_MIPS_RWPLT          0x70000034
+
+/* Relative offset of run time loader map, used for debugging.  */
+#define DT_MIPS_RLD_MAP_REL    0x70000035
 \f
 /* Flags which may appear in a DT_MIPS_FLAGS entry.  */
 
index 8a6121e0fe5bf37eb8e333275ad04bf41e3c11b6..63f1b7b8f92b6459edd03e62de04d04d1c57ded4 100644 (file)
@@ -1,3 +1,25 @@
+2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * ld-mips-elf/pic-and-nonpic-3b.ad: Adjust for extra dynamic tag.
+       * ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
+       * ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
+       * ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
+       * ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
+       * ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
+       * ld-mips-elf/tlsdyn-o32-1.d: Likewise.
+       * ld-mips-elf/tlsdyn-o32-1.got: Likewise.
+       * ld-mips-elf/tlsdyn-o32-2.d: Likewise.
+       * ld-mips-elf/tlsdyn-o32-2.got: Likewise.
+       * ld-mips-elf/tlsdyn-o32-3.d: Likewise.
+       * ld-mips-elf/tlsdyn-o32-3.got: Likewise.
+       * ld-mips-elf/tlsdyn-o32.d: Likewise.
+       * ld-mips-elf/tlsdyn-o32.got: Likewise.
+       * ld-mips-elf/pie-n32.d: New file.
+       * ld-mips-elf/pie-n64.d: Likewise.
+       * ld-mips-elf/pie-o32.d: Likewise.
+       * ld-mips-elf/pie.s: Likewise.
+       * ld-mips-elf/mips-elf.exp: Add new tests.
+
 2015-06-25  H.J. Lu  <hongjiu.lu@intel.com>
 
        * ld-elf/strtab.d: Only run on *-*-linux* and *-*-gnu* targets.
index 7057e2f74c1847456b110f22975a8ad7f29186e4..923d8dffc60a636286feb4a6188f9ff011e7bb91 100644 (file)
@@ -186,6 +186,15 @@ if { $linux_gnu } {
     }
 }
 
+# Test PIE debug dynamic tags
+if { $linux_gnu } {
+    run_dump_test "pie-o32"
+    if { $has_newabi } {
+       run_dump_test "pie-n32"
+       run_dump_test "pie-n64"
+    }
+}
+
 if $has_newabi {
     if { $embedded_elf } {
        run_dump_test "elf-rel-got-n32-embed" \
index 227d15d0cd994bf93ecbaf2445a27ae2e2277ab7..9f5ca905bd35890aedf08a6108e6fe0ccc7f2368 100644 (file)
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
  0x0000000a \(STRSZ\) .*
  0x0000000b \(SYMENT\) .*
  0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
  0x00000015 \(DEBUG\) * 0x0
  0x00000003 \(PLTGOT\) * 0xa0000
  0x70000001 \(MIPS_RLD_VERSION\) * 1
index e14a2d3879682230220e3303062806c1cef1c478..1bea0447026053c15e114a4cb9a1dd36887af595 100644 (file)
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
  0x0000000a \(STRSZ\) .*
  0x0000000b \(SYMENT\) .*
  0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
  0x00000015 \(DEBUG\) * 0x0
  0x00000003 \(PLTGOT\) * 0xa0000
  0x00000011 \(REL\) * 0x43000
index d7a672fcbe85b6e5c9e0c58923fef4192e6e98d0..972ace16f137b1657dd4d65d806f38bbbf2fa332 100644 (file)
@@ -9,6 +9,7 @@ Dynamic section at offset .* contains .*:
  0x0000000a \(STRSZ\) .*
  0x0000000b \(SYMENT\) .*
  0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
  0x00000015 \(DEBUG\) * 0x0
  0x00000016 \(TEXTREL\) * 0x0
  0x00000003 \(PLTGOT\) * 0xa0000
index 5df3c6ca16ebcd54fbfb725382aaf4fc75d7ad6e..28ee34ada1e52b1c06df06677f70cdc29ddc56af 100644 (file)
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
  0x0000000a \(STRSZ\) .*
  0x0000000b \(SYMENT\) .*
  0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
  0x00000015 \(DEBUG\) * 0x0
  0x00000003 \(PLTGOT\) * 0xa0000
  0x00000011 \(REL\) * 0x43000
index d8fc300e5cac3cbb5bc53b3c06288a775ef1b8ad..7b2ce4cfc1d4e58f4131831b2af84e94f0da4ac3 100644 (file)
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
  0x0+0000000a \(STRSZ\) .*
  0x0+0000000b \(SYMENT\) .*
  0x0+70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x0+70000035 \(MIPS_RLD_MAP_REL\) .*
  0x0+00000015 \(DEBUG\) * 0x0
  0x0+00000003 \(PLTGOT\) * 0xa0000
  0x0+00000011 \(REL\) * 0x43000
index 5df3c6ca16ebcd54fbfb725382aaf4fc75d7ad6e..28ee34ada1e52b1c06df06677f70cdc29ddc56af 100644 (file)
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
  0x0000000a \(STRSZ\) .*
  0x0000000b \(SYMENT\) .*
  0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
  0x00000015 \(DEBUG\) * 0x0
  0x00000003 \(PLTGOT\) * 0xa0000
  0x00000011 \(REL\) * 0x43000
diff --git a/ld/testsuite/ld-mips-elf/pie-n32.d b/ld/testsuite/ld-mips-elf/pie-n32.d
new file mode 100644 (file)
index 0000000..bcfbcd2
--- /dev/null
@@ -0,0 +1,23 @@
+#source: pie.s
+#as: -march=from-abi -mabi=n32 -EB
+#ld: -melf32btsmipn32 -pie
+#readelf: -d
+
+Dynamic section at offset 0x180 contains 16 entries:
+  Tag * Type * Name/Value
+ 0x00000004 \(HASH\) * 0x228
+ 0x00000005 \(STRTAB\) * 0x304
+ 0x00000006 \(SYMTAB\) * 0x264
+ 0x0000000a \(STRSZ\) * 72 \(bytes\)
+ 0x0000000b \(SYMENT\) * 16 \(bytes\)
+ 0x70000035 \(MIPS_RLD_MAP_REL\) * 0x101b8
+ 0x00000015 \(DEBUG\) * 0x0
+ 0x00000003 \(PLTGOT\) * 0x10370
+ 0x70000001 \(MIPS_RLD_VERSION\) * 1
+ 0x70000005 \(MIPS_FLAGS\) * NOTPOT
+ 0x70000006 \(MIPS_BASE_ADDRESS\) * 0x0
+ 0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
+ 0x70000011 \(MIPS_SYMTABNO\) * 10
+ 0x70000012 \(MIPS_UNREFEXTNO\) * 13
+ 0x70000013 \(MIPS_GOTSYM\) * 0xa
+ 0x00000000 \(NULL\) * 0x0
diff --git a/ld/testsuite/ld-mips-elf/pie-n64.d b/ld/testsuite/ld-mips-elf/pie-n64.d
new file mode 100644 (file)
index 0000000..bf2238c
--- /dev/null
@@ -0,0 +1,23 @@
+#source: pie.s
+#as: -march=from-abi -mabi=64 -EB
+#ld: -melf64btsmip -pie
+#readelf: -d
+
+Dynamic section at offset 0x208 contains 16 entries:
+  Tag * Type * Name/Value
+ 0x0+00000004 \(HASH\) * 0x358
+ 0x0+00000005 \(STRTAB\) * 0x488
+ 0x0+00000006 \(SYMTAB\) * 0x398
+ 0x0+0000000a \(STRSZ\) * 72 \(bytes\)
+ 0x0+0000000b \(SYMENT\) * 24 \(bytes\)
+ 0x0+70000035 \(MIPS_RLD_MAP_REL\) * 0x102a8
+ 0x0+00000015 \(DEBUG\) * 0x0
+ 0x0+00000003 \(PLTGOT\) * 0x10510
+ 0x0+70000001 \(MIPS_RLD_VERSION\) * 1
+ 0x0+70000005 \(MIPS_FLAGS\) * NOTPOT
+ 0x0+70000006 \(MIPS_BASE_ADDRESS\) * 0x0
+ 0x0+7000000a \(MIPS_LOCAL_GOTNO\) * 2
+ 0x0+70000011 \(MIPS_SYMTABNO\) * 10
+ 0x0+70000012 \(MIPS_UNREFEXTNO\) * 13
+ 0x0+70000013 \(MIPS_GOTSYM\) * 0xa
+ 0x0+00000000 \(NULL\) * 0x0
diff --git a/ld/testsuite/ld-mips-elf/pie-o32.d b/ld/testsuite/ld-mips-elf/pie-o32.d
new file mode 100644 (file)
index 0000000..5a9a308
--- /dev/null
@@ -0,0 +1,23 @@
+#source: pie.s
+#as: -mabi=32 -EB
+#ld: -melf32btsmip -pie
+#readelf: -d
+
+Dynamic section at offset 0x178 contains 16 entries:
+  Tag * Type * Name/Value
+ 0x00000004 \(HASH\) * 0x220
+ 0x00000005 \(STRTAB\) * 0x2fc
+ 0x00000006 \(SYMTAB\) * 0x25c
+ 0x0000000a \(STRSZ\) * 72 \(bytes\)
+ 0x0000000b \(SYMENT\) * 16 \(bytes\)
+ 0x70000035 \(MIPS_RLD_MAP_REL\) * 0x101c0
+ 0x00000015 \(DEBUG\) * 0x0
+ 0x00000003 \(PLTGOT\) * 0x10370
+ 0x70000001 \(MIPS_RLD_VERSION\) * 1
+ 0x70000005 \(MIPS_FLAGS\) * NOTPOT
+ 0x70000006 \(MIPS_BASE_ADDRESS\) * 0x0
+ 0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
+ 0x70000011 \(MIPS_SYMTABNO\) * 10
+ 0x70000012 \(MIPS_UNREFEXTNO\) * 13
+ 0x70000013 \(MIPS_GOTSYM\) * 0xa
+ 0x00000000 \(NULL\) * 0x0
diff --git a/ld/testsuite/ld-mips-elf/pie.s b/ld/testsuite/ld-mips-elf/pie.s
new file mode 100644 (file)
index 0000000..c7f2b20
--- /dev/null
@@ -0,0 +1,6 @@
+       .abicalls
+       .global __start
+       .ent    __start
+__start:
+       jr $31
+       .end    __start
index ca52d8b18c0f992f22ce82321684efba9b3c9793..6b8f96cbfc465e20bf9eb05b1b4405f7abe5b59e 100644 (file)
@@ -5,7 +5,7 @@ Disassembly of section .text:
 
 .* <__start>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7c40        addiu   gp,gp,31808
+  .*:  279c7c30        addiu   gp,gp,31792
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
 
 .* <other>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7b80        addiu   gp,gp,31616
+  .*:  279c7b70        addiu   gp,gp,31600
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
index 163aeb5273b33c45a2a518e05d0bdad812168b04..1dbcab40a0a0b5047becc8d3b31510d5a12e0c3f 100644 (file)
@@ -13,6 +13,6 @@ OFFSET   TYPE              VALUE
 
 
 Contents of section .got:
- 10000020 00000000 80000000 0040047c 00000000  ................
+ 10000020 00000000 80000000 0040048c 00000000  .........@......
  10000030 00000000 00000000 00000000 00000000  ................
  10000040 00000000 00000001 00000000           ............    
index ca52d8b18c0f992f22ce82321684efba9b3c9793..6b8f96cbfc465e20bf9eb05b1b4405f7abe5b59e 100644 (file)
@@ -5,7 +5,7 @@ Disassembly of section .text:
 
 .* <__start>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7c40        addiu   gp,gp,31808
+  .*:  279c7c30        addiu   gp,gp,31792
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
 
 .* <other>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7b80        addiu   gp,gp,31616
+  .*:  279c7b70        addiu   gp,gp,31600
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
index 80e914818b50ef380f1ae09dd25ba29d94e5bf0d..fb50635f0492fdc266fb08d907998e738a644b7c 100644 (file)
@@ -13,6 +13,6 @@ OFFSET   TYPE              VALUE
 
 
 Contents of section .got:
- 10000020 00000000 80000000 0040047c 00000000  .*
+ 10000020 00000000 80000000 0040048c 00000000  .*
  10000030 00000000 00000000 00000000 00000000  .*
  10000040 00000000 00000001 00000000           .*
index 78eb882552118d5c4d1a0fbbfb0e3d9cec24603c..758a4f22c9a197bdfed17ec1c09d540ceef83d2f 100644 (file)
@@ -5,7 +5,7 @@ Disassembly of section .text:
 
 .* <other>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7c40        addiu   gp,gp,31808
+  .*:  279c7c30        addiu   gp,gp,31792
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
@@ -51,7 +51,7 @@ Disassembly of section .text:
 
 .* <__start>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7b90        addiu   gp,gp,31632
+  .*:  279c7b80        addiu   gp,gp,31616
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
index a1191e7960b77a54b68e863167bfec99b6c93f10..4a97099885dab3bc2d6a7aa73ea77de84ca7b713 100644 (file)
@@ -13,6 +13,6 @@ OFFSET   TYPE              VALUE
 
 
 Contents of section .got:
- 10000020 00000000 80000000 0040052c 00000000  .*
+ 10000020 00000000 80000000 0040053c 00000000  .*
  10000030 00000000 00000000 00000000 00000000  .*
  10000040 00000000 00000001 00000000           .*
index 699035bb3c650949efde0cdd74ddb1e78c5b2271..ea50960ac6f055c42b55b44194e9bbad32c1af03 100644 (file)
@@ -5,7 +5,7 @@ Disassembly of section .text:
 
 .* <__start>:
   .*:  3c1c0fc0        lui     gp,0xfc0
-  .*:  279c7bf0        addiu   gp,gp,31728
+  .*:  279c7be0        addiu   gp,gp,31712
   .*:  0399e021        addu    gp,gp,t9
   .*:  27bdfff0        addiu   sp,sp,-16
   .*:  afbe0008        sw      s8,8\(sp\)
index a1587a69e9cf63437014e9babc0646cd105eabe3..7942188441e544ad1a83d77ee10676ed7d75648e 100644 (file)
@@ -13,6 +13,6 @@ OFFSET   TYPE              VALUE
 
 
 Contents of section .got:
- 10000020 00000000 80000000 004004cc 00000000  ................
+ 10000020 00000000 80000000 004004dc 00000000  .........@......
  10000030 00000000 00000000 00000001 00000000  ................
  10000040 00000000 00000000 00000000           ............