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>
return SBI_ENOSPC;
}
+ bool overlap = false;
addr = reg->base;
for (j = 0; j < i; j++) {
if (addr == filtered_base[j]
&& filtered_order[j] < reg->order) {
+ overlap = true;
filtered_order[j] = reg->order;
- goto next_entry;
+ break;
}
}
- filtered_base[i] = reg->base;
- filtered_order[i] = reg->order;
- i++;
- next_entry:
+ if (!overlap) {
+ filtered_base[i] = reg->base;
+ filtered_order[i] = reg->order;
+ i++;
+ }
}
for (j = 0; j < i; j++) {