From 8397b3d8ecbd4271a3a68f7c118eac3383132d6a Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 2 May 2021 17:56:43 -0400 Subject: [PATCH] .sym file sorts symbols from zero-length sections first This will, for instance, ensure that a zero-length `SECTION "NULL", ROM0[0] / NULL::` comes first. --- src/link/output.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/link/output.c b/src/link/output.c index af389a8a..5e5695f2 100644 --- a/src/link/output.c +++ b/src/link/output.c @@ -302,11 +302,11 @@ static void writeSymBank(struct SortedSections const *bankSections, uint32_t nbSymbols = 0; - for (struct SortedSection const *ptr = bankSections->sections; ptr; ptr = ptr->next) { + for (struct SortedSection const *ptr = bankSections->zeroLenSections; ptr; ptr = ptr->next) { for (struct Section const *sect = ptr->section; sect; sect = sect->nextu) nbSymbols += sect->nbSymbols; } - for (struct SortedSection const *ptr = bankSections->zeroLenSections; ptr; ptr = ptr->next) { + for (struct SortedSection const *ptr = bankSections->sections; ptr; ptr = ptr->next) { for (struct Section const *sect = ptr->section; sect; sect = sect->nextu) nbSymbols += sect->nbSymbols; } @@ -321,7 +321,7 @@ static void writeSymBank(struct SortedSections const *bankSections, uint32_t idx = 0; - for (struct SortedSection const *ptr = bankSections->sections; ptr; ptr = ptr->next) { + for (struct SortedSection const *ptr = bankSections->zeroLenSections; ptr; ptr = ptr->next) { for (struct Section const *sect = ptr->section; sect; sect = sect->nextu) { for (uint32_t i = 0; i < sect->nbSymbols; i++) { symList[idx].idx = idx; @@ -331,7 +331,7 @@ static void writeSymBank(struct SortedSections const *bankSections, } } } - for (struct SortedSection const *ptr = bankSections->zeroLenSections; ptr; ptr = ptr->next) { + for (struct SortedSection const *ptr = bankSections->sections; ptr; ptr = ptr->next) { for (struct Section const *sect = ptr->section; sect; sect = sect->nextu) { for (uint32_t i = 0; i < sect->nbSymbols; i++) { symList[idx].idx = idx;