diff options
author | Wenlin Kang <wenlin.kang@windriver.com> | 2025-03-28 16:43:00 +0800 |
---|---|---|
committer | Joshua Watt <JPEWhacker@gmail.com> | 2025-06-30 10:36:30 -0600 |
commit | 1196087e8ddf19a7dc88969afd0ab9bd464e9a70 (patch) | |
tree | 0c8357d892f968ce86c739b09028542953177d95 /recipes-core | |
parent | 0eaaf203d355374c8c8704fa57110ec33607f378 (diff) | |
download | meta-mingw-master-next.tar.gz |
libxcrypt: fix build error for nativesdkmaster-next
Steps to reproduce
1) add line in local.conf
SDKMACHINE = "x86_64-mingw32"
2) bitbake nativesdk-libxcrypt
Fix:
1. pedantic error
| ../git/lib/crypt.c:316:24: error: ISO C does not allow extra ';' outside of a function [-Werror=pedantic]
| 316 | SYMVER_crypt_gensalt_rn;
| |
2. conversion error
| ../git/lib/util-get-random-bytes.c: In function '_crypt_get_random_bytes':
| ../git/lib/util-get-random-bytes.c:140:42: error: conversion from 'size_t' {aka 'long long unsigned int'} to 'unsigned int' may change value [-Werror=conversion]
| 140 | ssize_t nread = read (fd, buf, buflen);
Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Diffstat (limited to 'recipes-core')
-rw-r--r-- | recipes-core/libxcrypt/libxcrypt/0001-lib-util-get-random-bytes.c-fixed-conversion-error-w.patch | 47 | ||||
-rw-r--r-- | recipes-core/libxcrypt/libxcrypt_%.bbappend | 7 |
2 files changed, 54 insertions, 0 deletions
diff --git a/recipes-core/libxcrypt/libxcrypt/0001-lib-util-get-random-bytes.c-fixed-conversion-error-w.patch b/recipes-core/libxcrypt/libxcrypt/0001-lib-util-get-random-bytes.c-fixed-conversion-error-w.patch new file mode 100644 index 0000000..6320494 --- /dev/null +++ b/recipes-core/libxcrypt/libxcrypt/0001-lib-util-get-random-bytes.c-fixed-conversion-error-w.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 7c45edc1e55295fc5f45cf8ff9e782febfa7fd84 Mon Sep 17 00:00:00 2001 | ||
2 | From: Wenlin Kang <wenlin.kang@windriver.com> | ||
3 | Date: Mon, 6 Nov 2023 14:43:28 +0800 | ||
4 | Subject: [PATCH] lib/util-get-random-bytes.c: fixed conversion error with | ||
5 | mingw | ||
6 | |||
7 | With x86_64-w64-mingw32-gcc. get below error: | ||
8 | | ../git/lib/util-get-random-bytes.c: In function '_crypt_get_random_bytes': | ||
9 | | ../git/lib/util-get-random-bytes.c:140:42: error: conversion from 'size_t' {aka 'long long unsigned int'} to 'unsigned int' may change value [-Werror=conversion] | ||
10 | | 140 | ssize_t nread = read (fd, buf, buflen); | ||
11 | | | ^~~~~~ | ||
12 | |||
13 | In util-get-random-bytes.c, has get_random_bytes(void *buf, size_t buflen), | ||
14 | but in mingw-w64-mingw-w64/mingw-w64-headers/crt/io.h, read() has "unsigned int" | ||
15 | read(int _FileHandle,void *_DstBuf,unsigned int _MaxCharCount), and has: | ||
16 | #ifdef _WIN64 | ||
17 | __MINGW_EXTENSION typedef unsigned __int64 size_t; | ||
18 | #else | ||
19 | typedef unsigned int size_t; | ||
20 | #endif /* _WIN64 */ | ||
21 | |||
22 | Upstream-Status: Pending | ||
23 | |||
24 | Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> | ||
25 | --- | ||
26 | lib/util-get-random-bytes.c | 4 ++++ | ||
27 | 1 file changed, 4 insertions(+) | ||
28 | |||
29 | diff --git a/lib/util-get-random-bytes.c b/lib/util-get-random-bytes.c | ||
30 | index 79816db..68cd378 100644 | ||
31 | --- a/lib/util-get-random-bytes.c | ||
32 | +++ b/lib/util-get-random-bytes.c | ||
33 | @@ -137,7 +137,11 @@ get_random_bytes(void *buf, size_t buflen) | ||
34 | dev_urandom_doesnt_work = true; | ||
35 | else | ||
36 | { | ||
37 | +#ifdef _WIN64 | ||
38 | + ssize_t nread = read (fd, buf, (unsigned int)buflen); | ||
39 | +#else | ||
40 | ssize_t nread = read (fd, buf, buflen); | ||
41 | +#endif | ||
42 | if (nread < 0 || (size_t)nread < buflen) | ||
43 | dev_urandom_doesnt_work = true; | ||
44 | |||
45 | -- | ||
46 | 2.34.1 | ||
47 | |||
diff --git a/recipes-core/libxcrypt/libxcrypt_%.bbappend b/recipes-core/libxcrypt/libxcrypt_%.bbappend new file mode 100644 index 0000000..97bf008 --- /dev/null +++ b/recipes-core/libxcrypt/libxcrypt_%.bbappend | |||
@@ -0,0 +1,7 @@ | |||
1 | FILESEXTRAPATHS:prepend:mingw32 := "${THISDIR}/${BPN}:" | ||
2 | |||
3 | SRC_URI:append:mingw32 = " \ | ||
4 | file://0001-lib-util-get-random-bytes.c-fixed-conversion-error-w.patch \ | ||
5 | " | ||
6 | |||
7 | CFLAGS:append:class-nativesdk:mingw32 = " -Wno-pedantic" | ||