From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19193 invoked by alias); 11 Jul 2003 15:04:04 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 19186 invoked from network); 11 Jul 2003 15:04:04 -0000 Received: from unknown (HELO hub.ott.qnx.com) (209.226.137.76) by sources.redhat.com with SMTP; 11 Jul 2003 15:04:04 -0000 Received: from smtp.ott.qnx.com (smtp.ott.qnx.com [10.0.2.158]) by hub.ott.qnx.com (8.9.3p2/8.9.3) with ESMTP id KAA05138; Fri, 11 Jul 2003 10:55:07 -0400 Received: from catdog ([10.4.2.2]) by smtp.ott.qnx.com (8.8.8/8.6.12) with SMTP id LAA17322; Fri, 11 Jul 2003 11:04:02 -0400 Message-ID: <113c01c347bd$ba454a00$0202040a@catdog> From: "Kris Warkentin" To: "Daniel Jacobowitz" Cc: , "Gdb-Patches@Sources.Redhat.Com" References: <08c201c334e6$ccb8c750$0202040a@catdog> <20030617155147.GA25280@nevyn.them.org> <08d801c334ea$23fd99c0$0202040a@catdog> <20030619190853.GA25755@nevyn.them.org> Subject: [ping] Re: [Patch] arch recognition fix for osabi.c Date: Fri, 11 Jul 2003 15:04:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-SW-Source: 2003-07/txt/msg00238.txt.bz2 Mark, Daniel had suggested that you were the end of the line as far as approving this change. Thread starts here: http://sources.redhat.com/ml/gdb-patches/2003-06/msg00562.html cheers, Kris > On Tue, Jun 17, 2003 at 12:04:32PM -0400, Kris Warkentin wrote: > > > This half I'm not convinced by. From our previous exchange I don't > > > think you've fully justified it. Not approved without more discussion. > > > > Okay. Let's use mips as an example. The 'compatible' check returns true if > > they have the same arch (ie. bfd_arch_mips). There will be many different > > values for the arch_info pointer, all with bfd_arch_mips and various other > > pieces of info such as which machine type (10k, 4300, etc.) of mips it is. > > The handler was registered for bfd_arch_mips with no other information. In > > the absence of the ABILITY to do anything smarter, we have to assume that if > > the handler is for bfd_arch_mips, it should be run. > > > > As it stands, if the bfd reads a file and says 'this is a tx3900' or some > > such, the pointers won't be the same and my backend init_abi won't be run > > even though I want it to run for all mips targets. > > All calls to gdbarch_register_osabi in GDB except for two use mach == > 0. The two are mips-linux-tdep.c, which appears to be solving the same > problem - what a coincidence: > for (arch_info = bfd_lookup_arch (bfd_arch_mips, 0); > arch_info != NULL; > arch_info = arch_info->next) > { > gdbarch_register_osabi (bfd_arch_mips, arch_info->mach, GDB_OSABI_LINUX, > mips_linux_init_abi); > } > and x86-64. For x86-64 your change is correct since BFD will catch the > different bits-per-word and return NULL. For mips-linux-tdep it would > let you remove that loop, which I have a vague memory of being annoyed > at when it became necessary. > > The check came from > > 2002-12-14 Mark Kettenis > > * osabi.c: Include "gdb_assert.h" and "gdb_string.h". > (struct gdb_osabi_handler): Remove member `arch'. Add member > `arch_info'. > (gdbarch_register_osabi): Add new argument `machine'. Use ot to > construct a `struct bfd_arch_info' and store it in the `struct > gdb_osabi_handler' that is created. > (gdbarch_init_osabi): Check for compatibility based on machine > type and architecture. > * osabi.h (gdbarch_register_osabi): Adjust prototype and update > comment. > > So I'm not going to approve it until Mark comments. Mark, Kris is > suggesting that the "arch_info ==" in the ->compatible check should > simply be a "NULL !=". > > > > > (generic_elf_osabi_sniff_abi_tag_sections): Add check for QNX > > Neutrino > > > > binaries. > > > > > > This bit looks fine, except for two things: you've missed the coding > > > standards by four space characters (before left parens), and your > > > "safety first" check overruns the buffer (missing +1 in the alloca). > > > > Doh! Not very safe was it? Sorry about that. Fixed. > > > > cheers, > > > > Kris > > > > > > > > -- > Daniel Jacobowitz > MontaVista Software Debian GNU/Linux Developer >