Projects
openEuler:Mainline
crash
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 11
View file
_service:tar_scm:crash.spec
Changed
@@ -1,6 +1,6 @@ Name: crash Version: 8.0.2 -Release: 3 +Release: 4 Summary: Linux kernel crash utility. License: GPLv3 URL: https://crash-utility.github.io @@ -19,6 +19,7 @@ %ifarch loongarch64 Patch6: 0005-crash-add-loongarch-support.patch %endif +Patch7: 0006-Fix-compilation-error-due-to-new-strlcpy-function-th.patch BuildRequires: ncurses-devel zlib-devel lzo-devel snappy-devel texinfo libzstd-devel BuildRequires: gcc gcc-c++ bison m4 @@ -84,6 +85,9 @@ %{_mandir}/man8/crash.8* %changelog +* Tue Aug 1 2023 chenhaixiang<chenhaixiang3@huawei.com> - 8.0.2-4 +- Fix compilation error due to new strlcpy function that glibc added + * Mon Jul 10 2023 wangming <wangming01@loongson.cn> - 8.0.2-3 - add LoongArch64 support.
View file
_service:tar_scm:0006-Fix-compilation-error-due-to-new-strlcpy-function-th.patch
Added
@@ -0,0 +1,70 @@ +From 4ee56105881d7bb1da1e668ac5bb47a4e0846676 Mon Sep 17 00:00:00 2001 +From: Lianbo Jiang <lijiang@redhat.com> +Date: Wed, 5 Jul 2023 10:02:59 +0800 +Subject: PATCH Fix compilation error due to new strlcpy function that glibc + added +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The crash-utility has its own strlcpy(), but recently the latest glibc +has also implemented the strlcpy function, which is derived from +OpenBSD. Eventually this caused the following compilation error: + + # make -j8 lzo + ... + In file included from global_data.c:18: + defs.h:5556:8: error: conflicting types for ‘strlcpy’; have ‘size_t(char *, char *, size_t)’ {aka ‘long unsigned int(char *, char *, long unsigned int)’} + 5556 | size_t strlcpy(char *, char *, size_t); + | ^~~~~~~ + In file included from memory.c:19: + defs.h:5556:8: error: conflicting types for ‘strlcpy’; have ‘size_t(char *, char *, size_t)’ {aka ‘long unsigned int(char *, char *, long unsigned int)’} + 5556 | size_t strlcpy(char *, char *, size_t); + | ^~~~~~~ + ... + +To fix the issue, let's declare the strlcpy() as a weak function and +keep the same parameter types as the glibc function has. + +Related glibc commits: +454a20c8756c ("Implement strlcpy and strlcat BZ #178") +d2fda60e7c40 ("manual: Manual update for strlcat, strlcpy, wcslcat, wclscpy") +388ae538ddcb ("hurd: Add strlcpy, strlcat, wcslcpy, wcslcat to libc.abilist") + +Signed-off-by: Lianbo Jiang <lijiang@redhat.com> + +Reference:https://github.com/crash-utility/crash/commit/4ee56105881d7bb1da1e668ac5bb47a4e0846676 +--- + defs.h | 2 +- + tools.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/defs.h b/defs.h +index 8f7d1fa..26afe23 100644 +--- a/defs.h ++++ b/defs.h +@@ -5553,7 +5553,7 @@ uint32_t swap32(uint32_t, int); + uint64_t swap64(uint64_t, int); + ulong *get_cpumask_buf(void); + int make_cpumask(char *, ulong *, int, int *); +-size_t strlcpy(char *, char *, size_t); ++size_t strlcpy(char *, const char *, size_t) __attribute__ ((__weak__)); + struct rb_node *rb_first(struct rb_root *); + struct rb_node *rb_parent(struct rb_node *, struct rb_node *); + struct rb_node *rb_right(struct rb_node *, struct rb_node *); +diff --git a/tools.c b/tools.c +index 392a797..0f2db10 100644 +--- a/tools.c ++++ b/tools.c +@@ -6795,7 +6795,7 @@ make_cpumask_error: + * always be NULL-terminated. + */ + size_t +-strlcpy(char *dest, char *src, size_t size) ++strlcpy(char *dest, const char *src, size_t size) + { + size_t ret = strlen(src); + +-- +2.27.0 +
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2