Re: [RFC] Fix compiler warnings in osabi.c

Eli Zaretskii
2006-01-15T21:38:20Z

> Date: Sun, 15 Jan 2006 21:23:40 +0100 (CET)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: gdb-patches@sourceware.org
>
> 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.

The compiler will probably optimize, allright, but we now have the
same string in two places in the sources, which creates a window,
albeit a small one, for discrepancies.

> Index: ChangeLog
> from Mark Kettenis <kettenis@gnu.org>
>
> * 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;
> }
>
>