GDB: Fix detection of ELF support when configuring with -Werror=implicit-function-declaration

I am getting

    I'm sorry, Dave, I can't do that.  Symbol format `elf64-littleriscv' unknown.

errors after updating from GDB 8.3 to 10.  Bisecting showed that since
commit 1ff6de0312 ("bfd, ld: add CTF section linking"), bfd.h depends
on strncmp() being present, so configuring with
-Werror=implicit-function-declaration results in the check for ELF
support in BFD failing:

    .../gdb/gdb/../bfd/elf-bfd.h: In function 'bfd_section_is_ctf':
    .../gdb/gdb/../bfd/elf-bfd.h:3086:10: error: implicit declaration of function 'strncmp' [-Werror=implicit-function-declaration]
       return strncmp (name, ".ctf", 4) == 0 && (name[4] == 0 || name[4] == '.');

gdb/ChangeLog:

	* acincludde.m4 (GDB_AC_CHECK_BFD): Include string.h in the test
	program.

Change-Id: Iec5e21d454c2a544c44d65e23cfde552c424c18e
This commit is contained in:
Alex Richardson 2020-11-28 11:45:06 -05:00 committed by Simon Marchi
parent 8d748d1dc5
commit b413232211
3 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2020-11-28 Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* acincludde.m4 (GDB_AC_CHECK_BFD): Include string.h in the test
program.
2020-11-27 Andrew Burgess <andrew.burgess@embecosm.com>
* printcmd.c (skip_over_slash_fmt): Reorder code to ensure in_fmt

View File

@ -266,6 +266,7 @@ AC_DEFUN([GDB_AC_CHECK_BFD], [
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <stdlib.h>
#include <string.h>
#include "bfd.h"
#include "$4"],
[return $3;]

2
gdb/configure vendored
View File

@ -17236,6 +17236,7 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <string.h>
#include "bfd.h"
#include "elf-bfd.h"
int
@ -17349,6 +17350,7 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <string.h>
#include "bfd.h"
#include "mach-o.h"
int