From: Nick Clifton Date: Sat, 6 Jun 1998 00:28:46 +0000 (+0000) Subject: sort sections by LMA then VMA. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=40afcc4cd448f3ba08d505b9392cc00800b4cc00;p=binutils-gdb.git sort sections by LMA then VMA. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3cc05fecb34..01e502f323d 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 46701cfb3d0..1cb60322336 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. */