From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127858 invoked by alias); 22 Sep 2017 15:47:22 -0000 Mailing-List: contact gdb-testers-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-testers-owner@sourceware.org Received: (qmail 127839 invoked by uid 89); 22 Sep 2017 15:47:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: kwanyin.sergiodj.net Received: from kwanyin.sergiodj.net (HELO kwanyin.sergiodj.net) (158.69.185.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 22 Sep 2017 15:47:20 +0000 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [binutils-gdb] gdbserver x86 on win32: call init_target_desc From: sergiodj+buildbot@sergiodj.net To: gdb-testers@sourceware.org Message-Id: Date: Fri, 22 Sep 2017 15:58:00 -0000 X-SW-Source: 2017-q3/txt/msg04712.txt.bz2 *** TEST RESULTS FOR COMMIT cc4d742f4ce05bf933397a513b953c0feeae0663 *** Author: Simon Marchi Branch: master Commit: cc4d742f4ce05bf933397a513b953c0feeae0663 gdbserver x86 on win32: call init_target_desc When trying to run gdbserver compiled for x86 win32 under wine, I get: $ wine ./gdbserver/gdbserver.exe --once :1234 ./test /home/emaisin/src/binutils-gdb/gdb/gdbserver/regcache.c:177: A problem internal to GDBserver has been detected. regcache* new_register_cache(const target_desc*): Assertion `tdesc->registers_size != 0' failed. It seems like on that platform, init_target_desc is never called, so registers_size is never computed. My first thought was to call init_target_desc somewhere in win32-low.c, but it turns out that when using win32 on arm, the target description is already initialized by the generated code. My second thought was to call it in {i386,amd64}_create_target_description, but those functions are shared with GDB, and init_target_desc is gdbserver-specific. So I ended up with the simplest fix, calling it in i386_arch_setup. Now I hit some other problem: $ wine ./gdbserver/gdbserver.exe --once :1234 ./test Killing process(es): 39 No program to debug Exiting but still, I think fixing the tdesc issue this is a step forward. gdb/gdbserver/ChangeLog: * win32-i386-low.c (i386_arch_setup): Call init_target_desc.