lib: utils: fdt_fixup: Fix compile error

When building with GCC-10 or older versions, it throws the following
error:

 CC-DEP    platform/generic/lib/utils/fdt/fdt_fixup.dep
 CC        platform/generic/lib/utils/fdt/fdt_fixup.o
lib/utils/fdt/fdt_fixup.c: In function 'fdt_reserved_memory_fixup':
lib/utils/fdt/fdt_fixup.c:376:2: error: label at end of compound statement
  376 |  next_entry:
      |  ^~~~~~~~~~

Remove the goto statement.

Resolves: https://github.com/riscv-software-src/opensbi/issues/288

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Xiang W <wxjstz@126.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
This commit is contained in:
Xiang W
2023-02-21 13:07:07 +08:00
committed by Anup Patel
parent 99d09b601e
commit 6861ee996c

View File

@@ -361,19 +361,22 @@ int fdt_reserved_memory_fixup(void *fdt)
return SBI_ENOSPC; return SBI_ENOSPC;
} }
bool overlap = false;
addr = reg->base; addr = reg->base;
for (j = 0; j < i; j++) { for (j = 0; j < i; j++) {
if (addr == filtered_base[j] if (addr == filtered_base[j]
&& filtered_order[j] < reg->order) { && filtered_order[j] < reg->order) {
overlap = true;
filtered_order[j] = reg->order; filtered_order[j] = reg->order;
goto next_entry; break;
} }
} }
filtered_base[i] = reg->base; if (!overlap) {
filtered_order[i] = reg->order; filtered_base[i] = reg->base;
i++; filtered_order[i] = reg->order;
next_entry: i++;
}
} }
for (j = 0; j < i; j++) { for (j = 0; j < i; j++) {