From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1306 invoked by alias); 15 Jan 2006 20:23:57 -0000 Received: (qmail 1295 invoked by uid 22791); 15 Jan 2006 20:23:55 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 15 Jan 2006 20:23:54 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.4/8.13.4) with ESMTP id k0FKNelI008614; Sun, 15 Jan 2006 21:23:40 +0100 (CET) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id k0FKNeQn026871; Sun, 15 Jan 2006 21:23:40 +0100 (CET) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id k0FKNeRn028527; Sun, 15 Jan 2006 21:23:40 +0100 (CET) Date: Sun, 15 Jan 2006 20:23:00 -0000 Message-Id: <200601152023.k0FKNeRn028527@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: eliz@gnu.org CC: gdb-patches@sourceware.org In-reply-to: (message from Eli Zaretskii on Wed, 11 Jan 2006 06:22:09 +0200) Subject: Re: [RFC] Fix compiler warnings in osabi.c References: <200601102222.k0AMMNSq000979@elgar.sibelius.xs4all.nl> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-01/txt/msg00181.txt.bz2 > Date: Wed, 11 Jan 2006 06:22:09 +0200 > From: Eli Zaretskii > > > Date: Tue, 10 Jan 2006 23:22:23 +0100 (CET) > > From: Mark Kettenis > > > > - if (strcmp (&elf_elfheader (abfd)->e_ident[8], "FreeBSD") == 0) > > + if (memcmp (&elf_elfheader (abfd)->e_ident[8], "FreeBSD", 8) == 0) > > I'm allergic to magic constants such as 8. Can we please make that > use sizeof("FreeBSD")? To avoid having two instances of "FreeBSD" in > the code, you could use a `const char []' variable with "FreeBSD" as > its value. It's a reasonable request, although I'd prefer to keep the literal as is. The compiler should optimize away sizeof("FreeBSD") anyway. So I committed the attached. Mark Index: ChangeLog from Mark Kettenis * osabi.c (generic_elf_osabi_sniffer): Use memcmp instead of strcmp to compare string to a byte buffer. Index: osabi.c =================================================================== RCS file: /cvs/src/src/gdb/osabi.c,v retrieving revision 1.34 diff -u -p -r1.34 osabi.c --- osabi.c 17 Dec 2005 22:34:01 -0000 1.34 +++ osabi.c 15 Jan 2006 20:19:28 -0000 @@ -546,7 +546,8 @@ generic_elf_osabi_sniffer (bfd *abfd) /* The FreeBSD folks have been naughty; they stored the string "FreeBSD" in the padding of the e_ident field of the ELF header to "brand" their ELF binaries in FreeBSD 3.x. */ - if (strcmp (&elf_elfheader (abfd)->e_ident[8], "FreeBSD") == 0) + if (memcmp (&elf_elfheader (abfd)->e_ident[8], + "FreeBSD", sizeof ("FreeBSD") == 0) osabi = GDB_OSABI_FREEBSD_ELF; }