1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

libxcrypt: Fix build wrt C23 support

latest glibc has better C23 support and exposes this problem

Fixes following errors seen in nativesdk-libxcrypt

| ../sources/libxcrypt-4.5.2/lib/crypt-sm3-yescrypt.c:139:9: error: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
|   139 |   char *hptr = strchr ((const char *) intbuf->retval + 3, '$');
|       |         ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 6 errors generated.

Compared to wrynose remove lib/crypt-sm3-yescrypt.c change, because
the file doesn't exist in the version used in scarthgap, it was failing
only in lib/crypt-gost-yescrypt.c

(From OE-Core rev: caab28b10a1f45981ab605d36a8707b63212e1f6)

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a666b8e71ecda97db58c90d5af137671f9823f38)
[YC: fixed patch format]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
Khem Raj
2026-04-10 12:05:47 +02:00
committed by Paul Barker
parent 8d87b43a4f
commit 1efc8f9fa5
2 changed files with 32 additions and 1 deletions
@@ -0,0 +1,29 @@
From 174c24d6e87aeae631bc0a7bb1ba983cf8def4de Mon Sep 17 00:00:00 2001
From: Stanislav Zidek <szidek@redhat.com>
Date: Wed, 10 Dec 2025 14:03:54 +0100
Subject: [PATCH] fix -Werror=discarded-qualifiers
On Fedora rawhide (to be Fedora 44), gcc became more strict
wrt. const-ness.
Upstream-Status: Backport [https://github.com/besser82/libxcrypt/pull/220 without lib/crypt-sm3-yescrypt.c]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/crypt-gost-yescrypt.c | 2 +-
lib/crypt-sm3-yescrypt.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/crypt-gost-yescrypt.c b/lib/crypt-gost-yescrypt.c
index 190ae94b..e9dc7e80 100644
--- a/lib/crypt-gost-yescrypt.c
+++ b/lib/crypt-gost-yescrypt.c
@@ -131,7 +131,7 @@ crypt_gost_yescrypt_rn (const char *phrase, size_t phr_size,
intbuf->outbuf[1] = 'g';
/* extract yescrypt output from "$y$param$salt$output" */
- char *hptr = strchr ((const char *) intbuf->retval + 3, '$');
+ char *hptr = strchr ((char *) intbuf->retval + 3, '$');
if (!hptr)
{
errno = EINVAL;
+3 -1
View File
@@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSING;md5=c0a30e2b1502c55a7f37e412cd6c6a4b \
inherit autotools pkgconfig
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https"
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https \
file://174c24d6e87aeae631bc0a7bb1ba983cf8def4de.patch \
"
SRCREV = "f531a36aa916a22ef2ce7d270ba381e264250cbf"
SRCBRANCH ?= "master"