From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by sourceware.org (Postfix) with ESMTPS id E1271385E006 for ; Thu, 26 Mar 2020 23:27:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E1271385E006 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=n54@gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1585265253; bh=ylQmnvkQ306bh6+G3yxVH5byCpRbmNZ8u/nS+aJIfpU=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=PsVJBQEWrRKSlTQ9acUFrz5O+FnfVK+ciQNDJaG3rZpV/PyINeOHcErqW6Ex8y8ru LkBZ/CZ4nL3VBA7XCN5J0Qv8yr+8rPUUSlIOqeGHjemveSVd47XQl0IQfkowo75p45 03Os52OoVaU8o/bc8FJ8/WayLxFi2VBhOPcraN4M= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.0.241] ([89.79.191.25]) by mail.gmx.com (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MNKlu-1iu0Du47tC-00Oqdv; Fri, 27 Mar 2020 00:27:33 +0100 Subject: Re: [PATCH v3] Add support for "info auxv" on NetBSD To: gdb-patches@sourceware.org Cc: tom@tromey.com References: <20200316181710.7542-1-n54@gmx.com> <20200320172739.26705-1-n54@gmx.com> From: Kamil Rytarowski Autocrypt: addr=n54@gmx.com; prefer-encrypt=mutual; keydata= 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 4XSbcg== Message-ID: <0e8e2d3c-aaa7-7a1f-6685-cf15753e8bca@gmx.com> Date: Fri, 27 Mar 2020 00:26:25 +0100 User-Agent: Mozilla/5.0 (X11; NetBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200320172739.26705-1-n54@gmx.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:4Y4HGNDK6cZh9GoCKCLzrMl7z0F7YZgq26Z2dpec3N7QAELyaLT CKN40sdgqKvsFvnboq2vl54neVGUegScMS1iea/+eqN5cYifZBKLENd3ILlKZQ+t0HURUWI IwW/uGcyJWLckUSTat5Z6PKgWU+nOYWkV1FPXkqewXbmLHBOBc0qJgzRmqV1XBleo2koSsD b/fhQnHrQzAW0FnTitz6g== X-UI-Out-Filterresults: notjunk:1;V03:K0:TrKJ/8zjPc4=:fl+/Vtbt/Pww2s5nlxaRjJ lepWkDqMjCFCxv5C57o5pjwl4sxjhI5xAPL6MuNsH/Ha3cGRiBBaekbC5wUoFxkMztuuB6Lcs Akc+hd+ZeKvs9yIWti/YMQvtlhGSa21k2e+wnQBS7xrm8Zga715YqWl0QZf6ijL6ST17e9/ro UautcPxEDv6pfItCEq4+E9Qiv84zasFLJaAMPDp2rRIIElXUMPlRzm6U/JCWvvu3b3damHSm6 F2QY6LWWd4PmneMr7cg5igenUknuxRnyign60ZOnvhFPhITBa0x4kQ5c81Tu9PDutjMe7BsFF G3WkJRFi4YaYbZj5DGJFPQzmcUX95+RDJHyon+1mX6lNNSATSGioIfA8aLZrRjiYT01aFN+B9 qzChLIcjK/pD5OY2uEgba3uEMVwLrKpFULsQRHSWFu3HQHvbZTUnS8xUpFZi7XZqWwrHgzzvw ciBxFCmcC3Bc1/VJKrr7/pPIFpvyukW8zC84ufeqo1ZrUJmHD4QjZGnQF1oTMtcz5N7LBpnto lL6nY5omB2jX01paCgIx8NvN5bQRc/XA6mtGCso9P3bOQ8D7b/OftvNhabW+GA1RDrjdhsIZj IQkHnCVl7fNEYgQELvKFA7G5UrS4ztz2oPAo+UCsBwVC/cDURuMs6P6uOZxdLS51Fsw4OTPp6 dS1BAA89w+CmNwp0Fo2mPYDIcXlWvv5Od4XikaTeum3d9rKFCU1lhVNikyImL6woEZ5Oc1Eal 8mmV08dEnaF1VSR4tFZ11Lg4UBMOZFwSwqufMgQghBSUyz/tuyT7ab4voYK4mNmtU7PvU75hd C6ng+RMQ7bduaerH5Q+p9iv8fZ26F+8ZIcwRWIL9y1vBwBt1JjodC+cyZrGCLLBhOHTA/5Rcq Zi1h0PnVnoF5mb2ouLhq2+kzGjoWSYYDbmI04VfxMTcrtG0y1CFkHcPmWOmTjMLsrMhu2ENdE DxKKQ75mQEdZJk5H1KPdGe4KRIUCRZNlj2nHVOMVlPHSanMxJKeH9fKbqhNk1FbiTq6C44x2n Xpw5S85Vm78u/PGQaLpO7RTQsfX5zOuOYReujdi6IKvIVYcfS+RrV8U+/Fbl1Oe8ee4PlekSK acMeglqZH6r4RxxsFNcpwscU6+c5255JfqwMb9UKOEUVhcizA9ZEdBPftizXShhTK9PqdKb4O d8TDb4NB3lfOhXB/Ftj3vszwRLbS11JWYMW+4qbNgqHedZAKoI9IzE2mgWpp+7W8z+YVA= X-Spam-Status: No, score=-30.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Mar 2020 23:27:50 -0000 Ping? On 20.03.2020 18:27, Kamil Rytarowski wrote: > Register nbsd_auxv_parse() that overloads the default (Linux-style) > AUXV parsing. On NetBSD the type parameter is defined as int32_t > for all architectures. > > Register nbsd_init_abi() that sets set_gdbarch_auxv_parse(). > > Call nbsd_init_abi() from all CPU-specific NetBSD tdep files. > > gdb/ChangeLog: > > * nbsd-tdep.c: Include "gdbarch.h". > * nbsd-tdep.c (nbsd_auxv_parse, nbsd_init_abi): New. > * alpha-nbsd-tdep.c (alphanbsd_init_abi): Call nbsd_init_abi(). > * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise. > * arm-nbsd-tdep.c (arm_netbsd_elf_init_abi): Likewise. > * hppa-nbsd-tdep.c (hppanbsd_init_abi): Likewise. > * i386-nbsd-tdep.c (i386nbsd_init_abi): Likewise. > * mips-nbsd-tdep.c (nbsd_init_abi): Likewise. > * ppc-nbsd-tdep.c (ppcnbsd_init_abi): Likewise. > * sh-nbsd-tdep.c (shnbsd_init_abi): Likewise. > * sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Likewise. > * sparc64-nbsd-tdep.c (sparc64nbsd_init_abi): Likewise. > * vax-nbsd-tdep.c (vaxnbsd_elf_init_abi): Likewise. > --- > gdb/ChangeLog | 16 ++++++++++++++++ > gdb/alpha-nbsd-tdep.c | 2 ++ > gdb/amd64-nbsd-tdep.c | 1 + > gdb/arm-nbsd-tdep.c | 3 +++ > gdb/hppa-nbsd-tdep.c | 2 ++ > gdb/i386-nbsd-tdep.c | 2 ++ > gdb/mips-nbsd-tdep.c | 2 ++ > gdb/nbsd-tdep.c | 38 ++++++++++++++++++++++++++++++++++++++ > gdb/nbsd-tdep.h | 4 ++++ > gdb/ppc-nbsd-tdep.c | 2 ++ > gdb/sh-nbsd-tdep.c | 1 + > gdb/sparc-nbsd-tdep.c | 2 ++ > gdb/sparc64-nbsd-tdep.c | 2 ++ > gdb/vax-nbsd-tdep.c | 2 ++ > 14 files changed, 79 insertions(+) > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index 650b74bae4a..572403001ce 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,3 +1,19 @@ > +2020-03-20 Kamil Rytarowski > + > + * nbsd-tdep.c: Include "gdbarch.h". > + * nbsd-tdep.c (nbsd_auxv_parse, nbsd_init_abi): New. > + * alpha-nbsd-tdep.c (alphanbsd_init_abi): Call nbsd_init_abi(). > + * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise. > + * arm-nbsd-tdep.c (arm_netbsd_elf_init_abi): Likewise. > + * hppa-nbsd-tdep.c (hppanbsd_init_abi): Likewise. > + * i386-nbsd-tdep.c (i386nbsd_init_abi): Likewise. > + * mips-nbsd-tdep.c (nbsd_init_abi): Likewise. > + * ppc-nbsd-tdep.c (ppcnbsd_init_abi): Likewise. > + * sh-nbsd-tdep.c (shnbsd_init_abi): Likewise. > + * sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Likewise. > + * sparc64-nbsd-tdep.c (sparc64nbsd_init_abi): Likewise. > + * vax-nbsd-tdep.c (vaxnbsd_elf_init_abi): Likewise. > + > 2020-03-20 Kamil Rytarowski > > * amd64-bsd-nat.c (gdb_ptrace): Change return type from `int' to > diff --git a/gdb/alpha-nbsd-tdep.c b/gdb/alpha-nbsd-tdep.c > index ab9240e35da..58294edb3f6 100644 > --- a/gdb/alpha-nbsd-tdep.c > +++ b/gdb/alpha-nbsd-tdep.c > @@ -258,6 +258,8 @@ alphanbsd_init_abi (struct gdbarch_info info, > /* Hook into the MDEBUG frame unwinder. */ > alpha_mdebug_init_abi (info, gdbarch); > > + nbsd_init_abi (info, gdbarch); > + > /* NetBSD/alpha does not provide single step support via ptrace(2); w= e > must use software single-stepping. */ > set_gdbarch_software_single_step (gdbarch, alpha_software_single_step= ); > diff --git a/gdb/amd64-nbsd-tdep.c b/gdb/amd64-nbsd-tdep.c > index 89d07236b85..59071488ed7 100644 > --- a/gdb/amd64-nbsd-tdep.c > +++ b/gdb/amd64-nbsd-tdep.c > @@ -106,6 +106,7 @@ amd64nbsd_init_abi (struct gdbarch_info info, struct= gdbarch *gdbarch) > > amd64_init_abi (info, gdbarch, > amd64_target_description (X86_XSTATE_SSE_MASK, true)); > + nbsd_init_abi (info, gdbarch); > > tdep->jb_pc_offset =3D 7 * 8; > > diff --git a/gdb/arm-nbsd-tdep.c b/gdb/arm-nbsd-tdep.c > index e01df50bc25..a6104f760b3 100644 > --- a/gdb/arm-nbsd-tdep.c > +++ b/gdb/arm-nbsd-tdep.c > @@ -150,6 +150,9 @@ arm_netbsd_elf_init_abi (struct gdbarch_info info, > struct gdbarch_tdep *tdep =3D gdbarch_tdep (gdbarch); > > arm_netbsd_init_abi_common (info, gdbarch); > + > + nbsd_init_abi (info, gdbarch); > + > if (tdep->fp_model =3D=3D ARM_FLOAT_AUTO) > tdep->fp_model =3D ARM_FLOAT_SOFT_VFP; > > diff --git a/gdb/hppa-nbsd-tdep.c b/gdb/hppa-nbsd-tdep.c > index b532ab1d5cc..d601aa96f3f 100644 > --- a/gdb/hppa-nbsd-tdep.c > +++ b/gdb/hppa-nbsd-tdep.c > @@ -201,6 +201,8 @@ hppanbsd_init_abi (struct gdbarch_info info, struct = gdbarch *gdbarch) > /* Obviously NetBSD is BSD-based. */ > hppabsd_init_abi (info, gdbarch); > > + nbsd_init_abi (info, gdbarch); > + > /* Core file support. */ > set_gdbarch_iterate_over_regset_sections > (gdbarch, hppanbsd_iterate_over_regset_sections); > diff --git a/gdb/i386-nbsd-tdep.c b/gdb/i386-nbsd-tdep.c > index 3157451e08f..f350412d9bd 100644 > --- a/gdb/i386-nbsd-tdep.c > +++ b/gdb/i386-nbsd-tdep.c > @@ -377,6 +377,8 @@ i386nbsd_init_abi (struct gdbarch_info info, struct = gdbarch *gdbarch) > /* Obviously NetBSD is BSD-based. */ > i386bsd_init_abi (info, gdbarch); > > + nbsd_init_abi (info, gdbarch); > + > /* NetBSD has a different `struct reg'. */ > tdep->gregset_reg_offset =3D i386nbsd_r_reg_offset; > tdep->gregset_num_regs =3D ARRAY_SIZE (i386nbsd_r_reg_offset); > diff --git a/gdb/mips-nbsd-tdep.c b/gdb/mips-nbsd-tdep.c > index 38bc7ce636b..6f4d22b24fb 100644 > --- a/gdb/mips-nbsd-tdep.c > +++ b/gdb/mips-nbsd-tdep.c > @@ -354,6 +354,8 @@ static void > mipsnbsd_init_abi (struct gdbarch_info info, > struct gdbarch *gdbarch) > { > + nbsd_init_abi (info, gdbarch) > + > set_gdbarch_iterate_over_regset_sections > (gdbarch, mipsnbsd_iterate_over_regset_sections); > > diff --git a/gdb/nbsd-tdep.c b/gdb/nbsd-tdep.c > index 49bb2b706bd..5d5ea26622e 100644 > --- a/gdb/nbsd-tdep.c > +++ b/gdb/nbsd-tdep.c > @@ -22,6 +22,7 @@ > #include "defs.h" > #include "solib-svr4.h" > #include "nbsd-tdep.h" > +#include "gdbarch.h" > > /* FIXME: kettenis/20060115: We should really eliminate the next two > functions completely. */ > @@ -47,3 +48,40 @@ nbsd_pc_in_sigtramp (CORE_ADDR pc, const char *func_n= ame) > return (func_name !=3D NULL > && startswith (func_name, "__sigtramp")); > } > + > +/* NetBSD-specific parser for AUXV data with. NetBSD follows the ELF > + specification, contrary to some other ELF Operating Systems. */ > + > +static int > +nbsd_auxv_parse (struct gdbarch *gdbarch, gdb_byte **readptr, > + gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) > +{ > + struct type *int_type =3D builtin_type (gdbarch)->builtin_int; > + struct type *ptr_type =3D builtin_type (gdbarch)->builtin_data_ptr; > + const int sizeof_auxv_type =3D TYPE_LENGTH (int_type); > + const int sizeof_auxv_val =3D TYPE_LENGTH (ptr_type); > + enum bfd_endian byte_order =3D gdbarch_byte_order (gdbarch); > + gdb_byte *ptr =3D *readptr; > + > + if (endptr =3D=3D ptr) > + return 0; > + > + if (endptr - ptr < 2 * sizeof_auxv_val) > + return -1; > + > + *typep =3D extract_unsigned_integer (ptr, sizeof_auxv_type, byte_orde= r); > + ptr +=3D sizeof_auxv_val; /* Alignment. */ > + *valp =3D extract_unsigned_integer (ptr, sizeof_auxv_val, byte_order)= ; > + ptr +=3D sizeof_auxv_val; > + > + *readptr =3D ptr; > + return 1; > +} > + > +/* See nbsd-tdep.h. */ > + > +void > +nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) > +{ > + set_gdbarch_auxv_parse (gdbarch, nbsd_auxv_parse); > +} > diff --git a/gdb/nbsd-tdep.h b/gdb/nbsd-tdep.h > index c99a8b537b6..4b06c13f87b 100644 > --- a/gdb/nbsd-tdep.h > +++ b/gdb/nbsd-tdep.h > @@ -25,4 +25,8 @@ struct link_map_offsets *nbsd_lp64_solib_svr4_fetch_li= nk_map_offsets (void); > > int nbsd_pc_in_sigtramp (CORE_ADDR, const char *); > > +/* NetBSD specific set of ABI-related routines. */ > + > +void nbsd_init_abi (struct gdbarch_info, struct gdbarch *); > + > #endif /* NBSD_TDEP_H */ > diff --git a/gdb/ppc-nbsd-tdep.c b/gdb/ppc-nbsd-tdep.c > index d75930c9f8d..81492deaccd 100644 > --- a/gdb/ppc-nbsd-tdep.c > +++ b/gdb/ppc-nbsd-tdep.c > @@ -173,6 +173,8 @@ static void > ppcnbsd_init_abi (struct gdbarch_info info, > struct gdbarch *gdbarch) > { > + nbsd_init_abi (info, gdbarch); > + > /* For NetBSD, this is an on again, off again thing. Some systems > do use the broken struct convention, and some don't. */ > set_gdbarch_return_value (gdbarch, ppcnbsd_return_value); > diff --git a/gdb/sh-nbsd-tdep.c b/gdb/sh-nbsd-tdep.c > index aa319261684..2b2a7e3fd4a 100644 > --- a/gdb/sh-nbsd-tdep.c > +++ b/gdb/sh-nbsd-tdep.c > @@ -63,6 +63,7 @@ shnbsd_init_abi (struct gdbarch_info info, > struct gdbarch *gdbarch) > { > struct gdbarch_tdep *tdep =3D gdbarch_tdep (gdbarch); > + nbsd_init_abi (info, gdbarch); > > tdep->core_gregmap =3D (struct sh_corefile_regmap *)regmap; > tdep->sizeof_gregset =3D 84; > diff --git a/gdb/sparc-nbsd-tdep.c b/gdb/sparc-nbsd-tdep.c > index 7aba6020d27..ab1b557c57c 100644 > --- a/gdb/sparc-nbsd-tdep.c > +++ b/gdb/sparc-nbsd-tdep.c > @@ -296,6 +296,8 @@ sparc32nbsd_init_abi (struct gdbarch_info info, stru= ct gdbarch *gdbarch) > { > struct gdbarch_tdep *tdep =3D gdbarch_tdep (gdbarch); > > + nbsd_init_abi (info, gdbarch); > + > /* NetBSD doesn't support the 128-bit `long double' from the psABI. = */ > set_gdbarch_long_double_bit (gdbarch, 64); > set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double); > diff --git a/gdb/sparc64-nbsd-tdep.c b/gdb/sparc64-nbsd-tdep.c > index cd5bfe89410..dac7fa78b9b 100644 > --- a/gdb/sparc64-nbsd-tdep.c > +++ b/gdb/sparc64-nbsd-tdep.c > @@ -249,6 +249,8 @@ sparc64nbsd_init_abi (struct gdbarch_info info, stru= ct gdbarch *gdbarch) > { > struct gdbarch_tdep *tdep =3D gdbarch_tdep (gdbarch); > > + nbsd_init_abi (info, gdbarch); > + > tdep->gregset =3D &sparc64nbsd_gregset; > tdep->sizeof_gregset =3D 160; > > diff --git a/gdb/vax-nbsd-tdep.c b/gdb/vax-nbsd-tdep.c > index c2c08cc1603..7630ac5ab94 100644 > --- a/gdb/vax-nbsd-tdep.c > +++ b/gdb/vax-nbsd-tdep.c > @@ -29,6 +29,8 @@ > static void > vaxnbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch= ) > { > + nbsd_init_abi (info, gdbarch); > + > /* NetBSD ELF uses SVR4-style shared libraries. */ > set_solib_svr4_fetch_link_map_offsets > (gdbarch, svr4_ilp32_fetch_link_map_offsets); > -- > 2.25.0 >