[RFC] Fix compiler warnings in osabi.c

Mark Kettenis
2006-01-10T22:22:28Z

Another GCC 4 warning; e_ident[] is an array of unsigned chars. I
think the most elegant way to solve this is to use memcmp instead of
strcmp, since we're comparing a string to what may be random garbage,
and not two strings.

This one isn't quite so obvious, but if nobody objects, I'll commit
this after a week.

Mark

Index: ChangeLog
from Mark Kettenis <kettenis@gnu.org>

* osabi.c (generic_elf_osabi_sniffer): Use memcmp instead of
strcmp to compare string to an arbitrary 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 10 Jan 2006 22:18:43 -0000
@@ -546,7 +546,7 @@ 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", 8) == 0)
osabi = GDB_OSABI_FREEBSD_ELF;
}