From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by sourceware.org (Postfix) with ESMTPS id 01B4339450EB for ; Sat, 14 Mar 2020 18:23:52 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1584210231; bh=Dr749doLHUbg3gBfhw0rZYOa20rGwIqldSUNmoQb8co=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=Yc+6Xy9vVQuoUu77a7QMQkRhtRKaWVQzdc2xRmXuDFzNE3YiSAyqzQMmSkllY2CkO SSvXx/MNRLuSigzYegKXIo+PmpY5rvDYe2yZ/Dv7WAtm3RcW1r9kxHabKVD+TMSKkW mUHsuWPP47UELhUzdZAKxTmJAk6Ry7hkJPgy6Jxs= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1N95iR-1jPkjx3dlH-0165mU; Sat, 14 Mar 2020 19:23:51 +0100 From: Kamil Rytarowski To: gdb-patches@sourceware.org Subject: [PATCH] Correct decoding AUXV on NetBSD Date: Sat, 14 Mar 2020 19:22:58 +0100 Message-Id: <20200314182258.4277-1-n54@gmx.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:7H4HKxzQe5R4zjCTzXimSBd0LNEP/y6InMry49GaeQ6wlbkoDhq 8jK0R1eCA1BMifi2EMjI/VEsBRTByTbH/TkWnF9P9Q5kjgEybS+84epXPju3/fVXWk78/kt NZWIOU9JXvywp23ZK9gRy9hxRg1gtlOEwZgE8wjaOhCVimJs5B0Mt7Vr6yrjxt4cQjgIff1 88lgs3uM6psP1E58QmzKQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:wSY0l3rVFgY=:11Qf5I+k1vtA7xuEeTEuzH 6yvH3j5TMxCpS1mAKP6+j0WiVbu/a7DPSd/Nt5y6Z5qAd6mqPp2ytOyKAGn4QiJFdMidtMvvT SenWAY8BwhRr17FRv5r1jdSmrqVvZR+JC9wWcyee+4bBQDi1x0wPoeHBoyxC8SowIwmn3LnU8 1iZl+byBPyhTClnfDXG1wfpE+2MaE64h5k+dedxn8walGG4izsOSw8ZvsVoN/3e/gs+VQ0LVU W+O+4l6lis3/PJMtp5+UfKs5aYHVQa+q2ls5wAjmZcP4sxNIhAuIYgigLgnz7nq9vzLzSZwz8 P4ogUfyFEUldFMUWTxP9nYgu19C1Slgcop5Jc5+8VqVmMB7yKSIgrlcZAi0wVMjHEzRnsJtVA g1IRF7Bxir8C4zjPJZm8Erb8ZrLdL8qpRc0hSXVwlwMAVSoboqcy4bhBqm+LU6zwvxhM3EK9B ShkQDTLNfhwOqNxxfQjbgTFO+mA2WEPnD2NpTskmg7JXnxT7it0Z67akRJ7lRAa6IhvIAQH71 psKkTvxnmVc1+/J+UsDLzn+4c40yC06VQeWHuKiuqlw1i7ttJf4Ms1J+4mE97acDGgkFK5DMt MpnrI9TjsMCs0gWVBCmmDfSv+h6GVh3UpG+/Jj21pa+6pbMRNQP431sNQ5DHqrNuPAUd9Jvoi wwd1ADRmcYIHGfSJ40qRTMV5vdQhAjt0IDuHzw1uqKGdK5hfmQu5ClFQ7A+id7+znrI9284I9 R0DzTpZhfDMWmdVo/s5xax4rZVM1FrFYesmVZSxF4Ur1tLoks8+hT3MqOeWCj3kocDBiz5ppl 0AHguHCLZsWvE6qzgH2VhSaUXD+ASojjNVlQxVNZtWCBky97ee4jpwOkxWOLOkfMfqhGz7OlI hn4PKECIuDkRKBOL12gPEoikyo+DnDLhh2kX7Ts7/GLdsVLKWVxp66DFk1NSIqbaZ1Xy1GXS7 lzcYhe6GE17wBL4yZwjmLDrQZbqWtrsdCHQo18Om2no59Hrl/VWFCPVbg0nhaVZDPBv1pk9Uf +P9kz1GycJsfYgt2b3iI+aGgmtbJy6gKYHtcerGVnVgjFNB3OxGMOplR07MNcdDjQGYk2zEqd 580+O/vhA4WKZnjpzxNQw9ccmELbmwmY3XlrUWWo27yG1RefRQajr53kwlIuFLa3Tzu5JJ3uN QDu11nyo82ayq9ucdm13kC0nONk7VI+it8EfIRQ27MQZIGYWj91YmEXD24kBwAKFKUptw= X-Spam-Status: No, score=-25.4 required=5.0 tests=DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS 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: Sat, 14 Mar 2020 18:23:54 -0000 The type field is always 32bit. The value field reflects the size of the register/pointer. gdb/ChangeLog: * auxv.c (default_auxv_parse): Add new variable sizeof_auxv_type and use it in extract_unsigned_integer(). =2D-- gdb/ChangeLog | 5 +++++ gdb/auxv.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 04db5e76734..5a2eb8e3416 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-03-14 Kamil Rytarowski + + * auxv.c (default_auxv_parse): Add new variable sizeof_auxv_type + and use it in extract_unsigned_integer(). + 2020-03-14 Kamil Rytarowski * m68k-bsd-nat.c (fetch_registers): New variable lwp and pass diff --git a/gdb/auxv.c b/gdb/auxv.c index c13d7a22eb9..a035034a920 100644 =2D-- a/gdb/auxv.c +++ b/gdb/auxv.c @@ -258,6 +258,11 @@ default_auxv_parse (struct target_ops *ops, gdb_byte = **readptr, { const int sizeof_auxv_field =3D gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT; +#ifdef __NetBSD__ + const int sizeof_auxv_type =3D sizeof(int32_t); +#else + const int sizeof_auxv_type =3D sizeof_auxv_field; +#endif const enum bfd_endian byte_order =3D gdbarch_byte_order (target_gdbarch= ()); gdb_byte *ptr =3D *readptr; @@ -267,7 +272,7 @@ default_auxv_parse (struct target_ops *ops, gdb_byte *= *readptr, if (endptr - ptr < sizeof_auxv_field * 2) return -1; - *typep =3D extract_unsigned_integer (ptr, sizeof_auxv_field, byte_order= ); + *typep =3D extract_unsigned_integer (ptr, sizeof_auxv_type, byte_order)= ; ptr +=3D sizeof_auxv_field; *valp =3D extract_unsigned_integer (ptr, sizeof_auxv_field, byte_order)= ; ptr +=3D sizeof_auxv_field; =2D- 2.25.0