Message ID | ydda64r7xig.fsf@CeBiTec.Uni-Bielefeld.DE |
---|---|
State | Committed |
Commit | f4ad82b3bcc4ae2cecba00177561ddfad49ccef2 |
Headers |
Return-Path: <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F2E98395BC11 for <patchwork@sourceware.org>; Wed, 16 Nov 2022 15:03:09 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp.CeBiTec.Uni-Bielefeld.DE (smtp.CeBiTec.Uni-Bielefeld.DE [129.70.160.84]) by sourceware.org (Postfix) with ESMTPS id A99BB395B425 for <gdb-patches@sourceware.org>; Wed, 16 Nov 2022 15:02:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A99BB395B425 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=CeBiTec.Uni-Bielefeld.DE Authentication-Results: sourceware.org; spf=none smtp.mailfrom=cebitec.uni-bielefeld.de Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id A7FB6644FC; Wed, 16 Nov 2022 16:02:48 +0100 (CET) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id smS5SzS6PW_U; Wed, 16 Nov 2022 16:02:48 +0100 (CET) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50855a16.dip0.t-ipconnect.de [80.133.90.22]) (Authenticated sender: ro) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id F320664B1E; Wed, 16 Nov 2022 16:02:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1668610968; bh=vUC80Te+mmvyNjGTheZBxHVcAihFbVk6Bhy4GVQa4Lk=; h=From:To:Cc:Subject:Date:From; b=P1VaVpAZmz/uXVZSwTA7odMsrAw3mduj4kcGT6HqRyu1OIghmis/ZIuVcwLGEuMC4 HU3O4qPxFELB2teCor/y/KOtQzPHc/JCOJO3SjJxJjsVVNfZkEdGtE0QfHT+03D8WX CO9smnY6xkP3e11l91mDvnP0u03ouSrbEif4CvNxN0osojg974xlTdf8AlP/KeXw7F cK+Eu5HBrAP9GlhIg+N9buJ0GM7Hs//kkM4blCMYlptSF9S3YP4U4UoD2CyaqW3Kgk uerCxa6woUZ/qhm1d7sRrivKBmbES2I0GS4mrEM2iAV4UCT4tRl1bj327DlnPeYh/u som2J/FMtHm1w== From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> To: gdb-patches@sourceware.org Cc: Luis Machado <luis.machado@arm.com> Subject: [PATCH] Fix various procfs.c compilation errors Date: Wed, 16 Nov 2022 16:02:47 +0100 Message-ID: <ydda64r7xig.fsf@CeBiTec.Uni-Bielefeld.DE> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Status: No, score=-3794.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, KAM_ASCII_DIVIDERS, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> |
Series |
Fix various procfs.c compilation errors
|
|
Commit Message
Rainer Orth
Nov. 16, 2022, 3:02 p.m. UTC
procfs.c has accumulated several compilation errors lately (some of them new with GCC 12), which are fixed by this patch: * auxv_parse gets: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:144:7: error: ‘int procfs_target::auxv_parse(gdb_byte**, gdb_byte*, CORE_ADDR*, CORE_ADDR*)’ marked ‘override’, but does not override 144 | int auxv_parse (gdb_byte **readptr, | ^~~~~~~~~~ Obviouly, procfs.c was missed in the auxv_parse constification. * dead_procinfo has: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘void dead_procinfo(procinfo*, const char*, int)’: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:563:11: warning: the address of ‘procinfo::pathname’ will never be NULL [-Waddress] 563 | if (pi->pathname) | ~~~~^~~~~~~~ /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:238:8: note: ‘procinfo::pathname’ declared here 238 | char pathname[MAX_PROC_NAME_SIZE]; /* Pathname to /proc entry */ | ^~~~~~~~ The warning is correct, so the code can lose support for the NULL pathname case. * create_inferior has this ugly warning: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In member function ‘virtual void procfs_target::create_inferior(const char*, const std::string&, char**, int)’: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2815:19: warning: ‘char* std::strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] 2815 | strncpy (tryname, p, len); | ~~~~~~~~^~~~~~~~~~~~~~~~~ /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2814:26: note: length computed here 2814 | len = strlen (p); | ~~~~~~~^~~ It seems that this is another case of GCC PR middle-end/88059, which Martin Sebor refuses to fix. So I'm using the hack suggested in the PR to use memcpy instead of strncpy. * find_memory_regions_callback fails with /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘int find_memory_regions_callback(prmap*, find_memory_region_ftype, void*)’: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3167:18: error: too few arguments to function 3167 | return (*func) ((CORE_ADDR) map->pr_vaddr, | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 3168 | map->pr_size, | ~~~~~~~~~~~~~ 3169 | (map->pr_mflags & MA_READ) != 0, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3170 | (map->pr_mflags & MA_WRITE) != 0, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3171 | (map->pr_mflags & MA_EXEC) != 0, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3172 | 1, /* MODIFIED is unknown, pass it as true. */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3173 | data); | ~~~~~ Again, procfs.c was overlooked when adding the new memory_tagged arg. Unfortunately, it wasn't even documented in gdb/defs.h when it was added in commit 68cffbbd4406b4efe1aa6e18460b1d7ca02549f1 Author: Luis Machado <luis.machado@arm.com> Date: Thu Mar 31 11:42:35 2022 +0100 [AArch64] MTE corefile support With those changes, procfs.c compiles again. Together with the hack from the Solaris gdbsupport breakage reported in PR build/29791, I was able to build and test gdb on both amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11. Will commit the patch soon. Rainer
Comments
On 11/16/22 10:02, Rainer Orth wrote: > procfs.c has accumulated several compilation errors lately (some of them > new with GCC 12), which are fixed by this patch: > > * auxv_parse gets: > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:144:7: error: ‘int procfs_target::auxv_parse(gdb_byte**, gdb_byte*, CORE_ADDR*, CORE_ADDR*)’ marked ‘override’, but does not override > 144 | int auxv_parse (gdb_byte **readptr, > | ^~~~~~~~~~ > > Obviouly, procfs.c was missed in the auxv_parse constification. Sorry, my bad for this one. > > * dead_procinfo has: > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘void dead_procinfo(procinfo*, const char*, int)’: > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:563:11: warning: the address of ‘procinfo::pathname’ will never be NULL [-Waddress] > 563 | if (pi->pathname) > | ~~~~^~~~~~~~ > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:238:8: note: ‘procinfo::pathname’ declared here > 238 | char pathname[MAX_PROC_NAME_SIZE]; /* Pathname to /proc entry */ > | ^~~~~~~~ > > The warning is correct, so the code can lose support for the NULL > pathname case. > > * create_inferior has this ugly warning: > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In member function ‘virtual void procfs_target::create_inferior(const char*, const std::string&, char**, int)’: > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2815:19: warning: ‘char* std::strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] > 2815 | strncpy (tryname, p, len); > | ~~~~~~~~^~~~~~~~~~~~~~~~~ > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2814:26: note: length computed here > 2814 | len = strlen (p); > | ~~~~~~~^~~ > > It seems that this is another case of GCC PR middle-end/88059, which > Martin Sebor refuses to fix. So I'm using the hack suggested in the > PR to use memcpy instead of strncpy. You could also make the code use std::string to build tryname, it would be simpler and less error-prone. But I'm fine with what you have too. > > * find_memory_regions_callback fails with > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘int find_memory_regions_callback(prmap*, find_memory_region_ftype, void*)’: > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3167:18: error: too few arguments to function > 3167 | return (*func) ((CORE_ADDR) map->pr_vaddr, > | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3168 | map->pr_size, > | ~~~~~~~~~~~~~ > 3169 | (map->pr_mflags & MA_READ) != 0, > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3170 | (map->pr_mflags & MA_WRITE) != 0, > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3171 | (map->pr_mflags & MA_EXEC) != 0, > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3172 | 1, /* MODIFIED is unknown, pass it as true. */ > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3173 | data); > | ~~~~~ > > Again, procfs.c was overlooked when adding the new memory_tagged arg. > Unfortunately, it wasn't even documented in gdb/defs.h when it was > added in > > commit 68cffbbd4406b4efe1aa6e18460b1d7ca02549f1 > Author: Luis Machado <luis.machado@arm.com> > Date: Thu Mar 31 11:42:35 2022 +0100 > > [AArch64] MTE corefile support > > With those changes, procfs.c compiles again. Together with the hack > from the Solaris gdbsupport breakage reported in PR build/29791, I was > able to build and test gdb on both amd64-pc-solaris2.11 and > sparcv9-sun-solaris2.11. > > Will commit the patch soon. > > Rainer Thanks, you can add my: Approved-By: Simon Marchi <simon.marchi@efficios.com> Simon
>>>>> "Rainer" == Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
Rainer> procfs.c has accumulated several compilation errors lately (some of them
Rainer> new with GCC 12), which are fixed by this patch:
Thank you.
Rainer> It seems that this is another case of GCC PR middle-end/88059, which
Rainer> Martin Sebor refuses to fix. So I'm using the hack suggested in the
Rainer> PR to use memcpy instead of strncpy.
FWIW it's also fine to change this code to use std::string, which is
probably both simpler to understand and will avoid warnings. Up to you
though.
Tom
On 11/16/22 15:02, Rainer Orth wrote: > procfs.c has accumulated several compilation errors lately (some of them > new with GCC 12), which are fixed by this patch: > > * auxv_parse gets: > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:144:7: error: ‘int procfs_target::auxv_parse(gdb_byte**, gdb_byte*, CORE_ADDR*, CORE_ADDR*)’ marked ‘override’, but does not override > 144 | int auxv_parse (gdb_byte **readptr, > | ^~~~~~~~~~ > > Obviouly, procfs.c was missed in the auxv_parse constification. > > * dead_procinfo has: > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘void dead_procinfo(procinfo*, const char*, int)’: > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:563:11: warning: the address of ‘procinfo::pathname’ will never be NULL [-Waddress] > 563 | if (pi->pathname) > | ~~~~^~~~~~~~ > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:238:8: note: ‘procinfo::pathname’ declared here > 238 | char pathname[MAX_PROC_NAME_SIZE]; /* Pathname to /proc entry */ > | ^~~~~~~~ > > The warning is correct, so the code can lose support for the NULL > pathname case. > > * create_inferior has this ugly warning: > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In member function ‘virtual void procfs_target::create_inferior(const char*, const std::string&, char**, int)’: > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2815:19: warning: ‘char* std::strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] > 2815 | strncpy (tryname, p, len); > | ~~~~~~~~^~~~~~~~~~~~~~~~~ > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2814:26: note: length computed here > 2814 | len = strlen (p); > | ~~~~~~~^~~ > > It seems that this is another case of GCC PR middle-end/88059, which > Martin Sebor refuses to fix. So I'm using the hack suggested in the > PR to use memcpy instead of strncpy. > > * find_memory_regions_callback fails with > > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘int find_memory_regions_callback(prmap*, find_memory_region_ftype, void*)’: > /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3167:18: error: too few arguments to function > 3167 | return (*func) ((CORE_ADDR) map->pr_vaddr, > | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3168 | map->pr_size, > | ~~~~~~~~~~~~~ > 3169 | (map->pr_mflags & MA_READ) != 0, > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3170 | (map->pr_mflags & MA_WRITE) != 0, > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3171 | (map->pr_mflags & MA_EXEC) != 0, > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3172 | 1, /* MODIFIED is unknown, pass it as true. */ > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 3173 | data); > | ~~~~~ > > Again, procfs.c was overlooked when adding the new memory_tagged arg. > Unfortunately, it wasn't even documented in gdb/defs.h when it was > added in > Sorry, that was an oversight. I failed to updated all the hooks. I think there was a BSD one that got fixed after the following commit was pushed. > commit 68cffbbd4406b4efe1aa6e18460b1d7ca02549f1 > Author: Luis Machado <luis.machado@arm.com> > Date: Thu Mar 31 11:42:35 2022 +0100 > > [AArch64] MTE corefile support > > With those changes, procfs.c compiles again. Together with the hack > from the Solaris gdbsupport breakage reported in PR build/29791, I was > able to build and test gdb on both amd64-pc-solaris2.11 and > sparcv9-sun-solaris2.11. > > Will commit the patch soon. > > Rainer >
Hi Simon, > On 11/16/22 10:02, Rainer Orth wrote: >> procfs.c has accumulated several compilation errors lately (some of them >> new with GCC 12), which are fixed by this patch: >> >> * auxv_parse gets: >> >> /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:144:7: error: ‘int >> procfs_target::auxv_parse(gdb_byte**, gdb_byte*, CORE_ADDR*, CORE_ADDR*)’ >> marked ‘override’, but does not override >> 144 | int auxv_parse (gdb_byte **readptr, >> | ^~~~~~~~~~ >> >> Obviouly, procfs.c was missed in the auxv_parse constification. > > Sorry, my bad for this one. no worries while the fixes are as easy as this one. I thought about reviving the old Solaris buildbots with the new buildmaster to catch stuff like this early, but am uncertain: the old buildbods had been compile-only for various reasons, but ISTM that the new ones need to be compile-and-test, and zero-FAIL actually, which is completely unattainable for Solaris right now. Thanks. Rainer
Hi Tom, >>>>>> "Rainer" == Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes: > > Rainer> procfs.c has accumulated several compilation errors lately (some of them > Rainer> new with GCC 12), which are fixed by this patch: > > Thank you. > > Rainer> It seems that this is another case of GCC PR middle-end/88059, which > Rainer> Martin Sebor refuses to fix. So I'm using the hack suggested in the > Rainer> PR to use memcpy instead of strncpy. > > FWIW it's also fine to change this code to use std::string, which is > probably both simpler to understand and will avoid warnings. Up to you > though. I'll keep it as-is for now, to have a minimal patch ATM. Thanks. Rainer
Hi Luis, >> * find_memory_regions_callback fails with >> /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘int >> find_memory_regions_callback(prmap*, find_memory_region_ftype, void*)’: >> /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3167:18: error: too few arguments to function >> 3167 | return (*func) ((CORE_ADDR) map->pr_vaddr, >> | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 3168 | map->pr_size, >> | ~~~~~~~~~~~~~ >> 3169 | (map->pr_mflags & MA_READ) != 0, >> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 3170 | (map->pr_mflags & MA_WRITE) != 0, >> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 3171 | (map->pr_mflags & MA_EXEC) != 0, >> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 3172 | 1, /* MODIFIED is unknown, pass it as true. */ >> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 3173 | data); >> | ~~~~~ >> Again, procfs.c was overlooked when adding the new memory_tagged arg. >> Unfortunately, it wasn't even documented in gdb/defs.h when it was >> added in >> > > Sorry, that was an oversight. I failed to updated all the hooks. I think > there was a BSD one that got fixed after the following commit was pushed. no problem: the primary issue was finding/understanding what the new arg meant/needs to be here. Could you take care of updating the defs.h comment to avoid such confusion in the future? Thanks. Rainer
On 11/17/22 09:50, Rainer Orth wrote: > Hi Luis, > >>> * find_memory_regions_callback fails with >>> /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘int >>> find_memory_regions_callback(prmap*, find_memory_region_ftype, void*)’: >>> /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3167:18: error: too few arguments to function >>> 3167 | return (*func) ((CORE_ADDR) map->pr_vaddr, >>> | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> 3168 | map->pr_size, >>> | ~~~~~~~~~~~~~ >>> 3169 | (map->pr_mflags & MA_READ) != 0, >>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> 3170 | (map->pr_mflags & MA_WRITE) != 0, >>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> 3171 | (map->pr_mflags & MA_EXEC) != 0, >>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> 3172 | 1, /* MODIFIED is unknown, pass it as true. */ >>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> 3173 | data); >>> | ~~~~~ >>> Again, procfs.c was overlooked when adding the new memory_tagged arg. >>> Unfortunately, it wasn't even documented in gdb/defs.h when it was >>> added in >>> >> >> Sorry, that was an oversight. I failed to updated all the hooks. I think >> there was a BSD one that got fixed after the following commit was pushed. > > no problem: the primary issue was finding/understanding what the new arg > meant/needs to be here. > > Could you take care of updating the defs.h comment to avoid such > confusion in the future? Surely. > > Thanks. > Rainer >
diff --git a/gdb/procfs.c b/gdb/procfs.c --- a/gdb/procfs.c +++ b/gdb/procfs.c @@ -141,8 +141,8 @@ public: bool info_proc (const char *, enum info_proc_what) override; #if PR_MODEL_NATIVE == PR_MODEL_LP64 - int auxv_parse (gdb_byte **readptr, - gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) + int auxv_parse (const gdb_byte **readptr, + const gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) override; #endif @@ -169,11 +169,12 @@ static procfs_target the_procfs_target; is presented in 64-bit format. We need to provide a custom parser to handle that. */ int -procfs_target::auxv_parse (gdb_byte **readptr, - gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) +procfs_target::auxv_parse (const gdb_byte **readptr, + const gdb_byte *endptr, CORE_ADDR *typep, + CORE_ADDR *valp) { enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ()); - gdb_byte *ptr = *readptr; + const gdb_byte *ptr = *readptr; if (endptr == ptr) return 0; @@ -559,15 +560,7 @@ enum { NOKILL, KILL }; static void dead_procinfo (procinfo *pi, const char *msg, int kill_p) { - char procfile[80]; - - if (pi->pathname) - print_sys_errmsg (pi->pathname, errno); - else - { - xsnprintf (procfile, sizeof (procfile), "process %d", pi->pid); - print_sys_errmsg (procfile, errno); - } + print_sys_errmsg (pi->pathname, errno); if (kill_p == KILL) kill (pi->pid, SIGKILL); @@ -2813,7 +2806,7 @@ procfs_target::create_inferior (const ch len = p1 - p; else len = strlen (p); - strncpy (tryname, p, len); + memcpy (tryname, p, len); tryname[len] = '\0'; strcat (tryname, "/"); strcat (tryname, shell_file); @@ -3170,6 +3163,7 @@ find_memory_regions_callback (struct prm (map->pr_mflags & MA_WRITE) != 0, (map->pr_mflags & MA_EXEC) != 0, 1, /* MODIFIED is unknown, pass it as true. */ + false, data); }