sort sections by LMA then VMA.
[deliverable/binutils-gdb.git] / bfd / elf.c
index 46701cfb3d00cc11f2fdbec4c9ddc7c1d79828e6..1cb603223366b7f5a2fb02a6b85117ab517c70bb 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -2344,16 +2344,18 @@ elf_sort_sections (arg1, arg2)
   const asection *sec1 = *(const asection **) arg1;
   const asection *sec2 = *(const asection **) arg2;
 
-  if (sec1->vma < sec2->vma)
+  /* Sort by LMA first, since this is the address used to
+     place the section into a segment.  */
+  if (sec1->lma < sec2->lma)
     return -1;
-  else if (sec1->vma > sec2->vma)
+  else if (sec1->lma > sec2->lma)
     return 1;
 
-  /* Sort by LMA.  Normally the LMA and the VMA will be the same, and
+  /* Sort by VMA.  Normally the LMA and the VMA will be the same, and
      this will do nothing.  */
-  if (sec1->lma < sec2->lma)
+  if (sec1->vma < sec2->vma)
     return -1;
-  else if (sec1->lma > sec2->lma)
+  else if (sec1->vma > sec2->vma)
     return 1;
 
   /* Put !SEC_LOAD sections after SEC_LOAD ones.  */
This page took 0.025982 seconds and 4 git commands to generate.