From 40afcc4cd448f3ba08d505b9392cc00800b4cc00 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Sat, 6 Jun 1998 00:28:46 +0000 Subject: [PATCH] sort sections by LMA then VMA. --- bfd/ChangeLog | 3 +++ bfd/elf.c | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3cc05fecb3..01e502f323 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ Fri Jun 5 17:21:51 1998 Nick Clifton + * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the + LMA is used to order sections in a segment. + * elf32-v850.c: Add prototypes for static functions. Change type of addend parameter to bfd_vma in various functions. diff --git a/bfd/elf.c b/bfd/elf.c index 46701cfb3d..1cb6032233 100644 --- 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. */ -- 2.34.1