From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id CF03F3858D37; Thu, 25 May 2023 11:48:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CF03F3858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1685015310; bh=5VyNtlWhCuH0vCAkPvxHIUjt7yiZcduDWFKsSUjdSZQ=; h=From:To:Subject:Date:From; b=l3LmghdFZrS1fb2+aYAkjgOzTRBnim7ogK4Hqmponu8ZtUjnhFKTagkN7GdRXqy4r 2sP2nCmL7xvhWUyBrao7EJH4UEt4HXYV4PTtuMVIBky8DQFtB1GhwTjKuDdOGg8gvd IwPMC6kAHcB7EEWODpYTORNuKjhW2o4WgUwJR4xQ= From: "vries at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug build/30488] New: [gdb/build] Code guarded with HANDLE_MULTIBYTE is dead Date: Thu, 25 May 2023 11:48:30 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: build X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vries at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D30488 Bug ID: 30488 Summary: [gdb/build] Code guarded with HANDLE_MULTIBYTE is dead Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: build Assignee: unassigned at sourceware dot org Reporter: vries at gcc dot gnu.org Target Milestone: --- I noticed a use of HANDLE_MULTIBYTE in gdb: ... ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ./gdb/completer.c:#if defined (HANDLE_MULTIBYTE) ... while the macro seems to be defined in readline: ... ./readline/readline/rlmbutil.h:# define HANDLE_MULTIBYTE 1 ... I first looked at system readline. It seems that the library is build with multi-byte support: ... $ nm -D /lib64/libreadline.so.7.0 | grep mbrtowc U mbrtowc ... But in the exported header files the macro is not set in any way: ... $ find /usr/include/readline/ -type f | xargs grep HANDLE_MULTIBYTE $ ... I then tried without system readline, and build gdb with this patch: ... diff --git a/gdb/completer.c b/gdb/completer.c index 91a29daee36..62bd87cc939 100644 --- a/gdb/completer.c +++ b/gdb/completer.c @@ -2435,6 +2435,7 @@ get_max_completions_reached_message (void) #undef VISIBLE_STATS #if defined (HANDLE_MULTIBYTE) +#error bla #define MB_INVALIDCH(x) ((x) =3D=3D (size_t)-1 || (x) =3D=3D (size_t)-2) #define MB_NULLWCH(x) ((x) =3D=3D 0) #endif ... which build fine. So, in both cases HANDLE_MULTIBYTE is undefined, and the code guarded by it= is currently dead. --=20 You are receiving this mail because: You are on the CC list for the bug.=