2e766f73c4
Fix the following build failure with uclibc: core/bootloader.c: In function 'register_bootloader': core/bootloader.c:28:15: warning: implicit declaration of function 'reallocarray' [-Wimplicit-function-declaration] 28 | entry *tmp = reallocarray(available, num_available + 1, sizeof(entry)); | ^~~~~~~~~~~~ core/bootloader.c:28:15: warning: initialization of 'entry *' from 'int' makes pointer from integer without a cast [-Wint-conversion] [...] .../arm-buildroot-linux-uclibcgnueabi/bin/ld: core/built-in.o: in function `register_bootloader': (.text.register_bootloader+0x2c): undefined reference to `reallocarray' Fixes: http://autobuild.buildroot.net/results/46dc484759549162ec246e0bff2647995c307ab5/ Signed-off-by: Ben Hutchings <ben.hutchings@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
36 lines
1.3 KiB
Diff
36 lines
1.3 KiB
Diff
From f30c4771e93cad7e77d7f2add94327865d226553 Mon Sep 17 00:00:00 2001
|
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Date: Sun, 15 May 2022 14:53:35 +0200
|
|
Subject: [PATCH] core/bootloader.c: fix build without reallocarray
|
|
|
|
Use realloc instead of reallocarray to avoid the following build failure
|
|
with uclibc raised since version 2022.05 and
|
|
https://github.com/sbabic/swupdate/commit/b8897ed695e1cd954859142b14ec8546d2e7994a:
|
|
|
|
microblaze-buildroot-linux-uclibc/bin/ld: core/built-in.o: in function `register_bootloader':
|
|
(.text.register_bootloader+0x30): undefined reference to `reallocarray'
|
|
|
|
Fixes:
|
|
- http://autobuild.buildroot.org/results/7208e8189b4a6f35aaa4ed7777ecdd37421a7c7f
|
|
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Backported from: f30c4771e93cad7e77d7f2add94327865d226553
|
|
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
|
|
---
|
|
core/bootloader.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/core/bootloader.c b/core/bootloader.c
|
|
index f34cb414..5694d43d 100644
|
|
--- a/core/bootloader.c
|
|
+++ b/core/bootloader.c
|
|
@@ -25,7 +25,7 @@ static unsigned int num_available = 0;
|
|
|
|
int register_bootloader(const char *name, bootloader *bl)
|
|
{
|
|
- entry *tmp = reallocarray(available, num_available + 1, sizeof(entry));
|
|
+ entry *tmp = realloc(available, (num_available + 1) * sizeof(entry));
|
|
if (!tmp) {
|
|
return -ENOMEM;
|
|
}
|