* gdb.go/package.exp: Partially revert earlier patch; use
[deliverable/binutils-gdb.git] / ld / ldexp.c
index 3bddc813e0d50b8bca8e86a52d0930cbf243ca4e..be296bccf53adcfd53ed7bb11338095e98444905 100644 (file)
@@ -213,10 +213,14 @@ new_rel (bfd_vma value, asection *section)
 static void
 new_rel_from_abs (bfd_vma value)
 {
+  asection *s = expld.section;
+
+  if (s == bfd_abs_section_ptr && expld.phase == lang_final_phase_enum)
+    s = section_for_dot ();
   expld.result.valid_p = TRUE;
-  expld.result.value = value - expld.section->vma;
+  expld.result.value = value - s->vma;
   expld.result.str = NULL;
-  expld.result.section = expld.section;
+  expld.result.section = s;
 }
 
 static void
@@ -681,7 +685,7 @@ fold_name (etree_type *tree)
                       tree, tree->name.name);
              new_number (0);
            }
-         else if (os->processed_vma)
+         else if (os->bfd_section != NULL)
            {
              bfd_vma val;
 
@@ -693,6 +697,8 @@ fold_name (etree_type *tree)
              
              new_number (val);
            }
+         else
+           new_number (0);
        }
       break;
 
This page took 0.027033 seconds and 4 git commands to generate.