Several fixes related to ARC PIE support.
[deliverable/binutils-gdb.git] / bfd / arc-got.h
index 7c3cfd952d2430e583bcb551776ffb25bf2e0f47..9ac02957df61cb00d858c944f86633207b4026e8 100644 (file)
@@ -334,13 +334,15 @@ relocate_fix_got_relocs_for_got_info (struct got_entry **          list_p,
                               ? 4 : 0));
 
                ARC_DEBUG ("arc_info: FIXED -> %s value = %#lx "
-                          "@ %p, for symbol %s\n",
+                          "@ %lx, for symbol %s\n",
                           (entry->type == GOT_TLS_GD ? "GOT_TLS_GD" :
                            "GOT_TLS_IE"),
                           (long) (sym_value - sec_vma),
-                          htab->sgot->contents + entry->offset
-                          + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
-                             ? 4 : 0),
+                          (long) (htab->sgot->output_section->vma
+                             + htab->sgot->output_offset->vma
+                             + entry->offset
+                             + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
+                                ? 4 : 0)),
                           symbol_name);
              }
              break;
@@ -351,14 +353,22 @@ relocate_fix_got_relocs_for_got_info (struct got_entry **          list_p,
                bfd_vma ATTRIBUTE_UNUSED sec_vma
                  = tls_sec->output_section->vma;
 
+               bfd_put_32 (output_bfd,
+                           sym_value - sec_vma,
+                           htab->sgot->contents + entry->offset
+                           + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
+                              ? 4 : 0));
+
                ARC_DEBUG ("arc_info: FIXED -> %s value = %#lx "
                           "@ %p, for symbol %s\n",
                           (entry->type == GOT_TLS_GD ? "GOT_TLS_GD" :
                            "GOT_TLS_IE"),
                           (long) (sym_value - sec_vma),
-                          htab->sgot->contents + entry->offset
-                          + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
-                             ? 4 : 0),
+                          (long) (htab->sgot->output_section->vma
+                             + htab->sgot->output_offset->vma
+                             + entry->offset
+                             + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
+                                ? 4 : 0)),
                           symbol_name);
              }
              break;
This page took 0.029701 seconds and 4 git commands to generate.