This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA 1/2] $pdir/../foo: Make vec.h usable in gdbserver


Hi.
In a 64-cross-32 debugging situation, $pdir in libthread-db-search-path
isn't usable, what you really want is $pdir/../lib64.
[setting aside lib vs lib32 vs lib64, blech]

This set of two patches provides support for this.

This first patch is just to let common/vec.h be usable in gdbserver.
The second patch contains the core functionality.

Ok to check in?

Regression tested on amd64-linux.

[The potentially only odd bit is adding a check for strstr in
gdbserver/configure.ac.  Since gdb_string.h contains a check for
HAVE_DECL_STRSTR I figured it was cleaner to check for it in configure.]

2012-07-18  Doug Evans  <dje@google.com>

	* gdb_string.h: Moved to ...
	* common/gdb_string.h: ... here.
	* common/vec.h: Remove #ifndef GDBSERVER conditional inclusion of
	gdb_string.h and gdb_assert.h.

	gdbserver/
	* configure.ac: Add check for strstr.
	* config.in: Regenerate.
	* configure: Regenerate.

Index: gdb_string.h
===================================================================
RCS file: gdb_string.h
diff -N gdb_string.h
--- gdb_string.h	4 Jan 2012 08:17:02 -0000	1.15
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,70 +0,0 @@
-/* Portable <string.h>
-
-   Copyright (C) 1995, 1998-2001, 2004, 2007-2012 Free Software
-   Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#if !defined(GDB_STRING_H)
-#define GDB_STRING_H
-
-#ifdef STDC_HEADERS
-#include <string.h>
-#ifdef HAVE_STRINGS_H
-#include <strings.h> /* strcasecmp etc..  */
-#endif
-#else
-#ifdef HAVE_STRING_H
-#include <string.h>
-#else
-#include <strings.h>
-#endif
-
-#ifndef strchr
-extern char *strchr (const char *, int);	/* X3.159-1989  4.11.5.2 */
-#endif
-
-#ifndef strrchr
-extern char *strrchr (const char *, int);	/* X3.159-1989  4.11.5.5 */
-#endif
-
-#ifndef strtok
-extern char *strtok (char *, const char *);	/* X3.159-1989  4.11.5.8 */
-#endif
-
-#ifdef HAVE_MEMORY_H
-#include <memory.h>
-#else
-extern void *memset ();
-extern void *memcpy ();
-extern void *memmove ();
-extern int memcmp ();
-#endif
-#endif /* STDC_HEADERS */
-
-#if !HAVE_DECL_STRERROR
-#ifndef strerror
-extern char *strerror (int);	/* X3.159-1989  4.11.6.2 */
-#endif
-#endif
-
-#if !HAVE_DECL_STRSTR
-#ifndef strstr
-extern char *strstr (const char *, const char *); /* X3.159-1989  4.11.5.7 */
-#endif
-#endif
-
-#endif /* !defined(GDB_STRING_H) */
Index: common/gdb_string.h
===================================================================
RCS file: common/gdb_string.h
diff -N common/gdb_string.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ common/gdb_string.h	19 Jul 2012 01:34:25 -0000
@@ -0,0 +1,70 @@
+/* Portable <string.h>
+
+   Copyright (C) 1995, 1998-2001, 2004, 2007-2012 Free Software
+   Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#if !defined(GDB_STRING_H)
+#define GDB_STRING_H
+
+#ifdef STDC_HEADERS
+#include <string.h>
+#ifdef HAVE_STRINGS_H
+#include <strings.h> /* strcasecmp etc..  */
+#endif
+#else
+#ifdef HAVE_STRING_H
+#include <string.h>
+#else
+#include <strings.h>
+#endif
+
+#ifndef strchr
+extern char *strchr (const char *, int);	/* X3.159-1989  4.11.5.2 */
+#endif
+
+#ifndef strrchr
+extern char *strrchr (const char *, int);	/* X3.159-1989  4.11.5.5 */
+#endif
+
+#ifndef strtok
+extern char *strtok (char *, const char *);	/* X3.159-1989  4.11.5.8 */
+#endif
+
+#ifdef HAVE_MEMORY_H
+#include <memory.h>
+#else
+extern void *memset ();
+extern void *memcpy ();
+extern void *memmove ();
+extern int memcmp ();
+#endif
+#endif /* STDC_HEADERS */
+
+#if !HAVE_DECL_STRERROR
+#ifndef strerror
+extern char *strerror (int);	/* X3.159-1989  4.11.6.2 */
+#endif
+#endif
+
+#if !HAVE_DECL_STRSTR
+#ifndef strstr
+extern char *strstr (const char *, const char *); /* X3.159-1989  4.11.5.7 */
+#endif
+#endif
+
+#endif /* !defined(GDB_STRING_H) */
Index: common/vec.h
===================================================================
RCS file: /cvs/src/src/gdb/common/vec.h,v
retrieving revision 1.1
diff -u -p -r1.1 vec.h
--- common/vec.h	19 Apr 2012 05:58:52 -0000	1.1
+++ common/vec.h	19 Jul 2012 01:34:25 -0000
@@ -22,10 +22,8 @@
 
 #include <stddef.h>
 
-#ifndef GDBSERVER
 #include "gdb_string.h"
 #include "gdb_assert.h"
-#endif
 
 /* The macros here implement a set of templated vector types and
    associated interfaces.  These templates are implemented with
Index: gdbserver/configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/configure.ac,v
retrieving revision 1.57
diff -u -p -r1.57 configure.ac
--- gdbserver/configure.ac	19 Apr 2012 19:34:51 -0000	1.57
+++ gdbserver/configure.ac	19 Jul 2012 01:34:25 -0000
@@ -174,7 +174,7 @@ AC_TRY_LINK([
   [AC_MSG_RESULT(no)])
 fi
 
-AC_CHECK_DECLS([strerror, perror, vasprintf, vsnprintf])
+AC_CHECK_DECLS([strerror, strstr, perror, vasprintf, vsnprintf])
 
 AC_CHECK_TYPES(socklen_t, [], [],
 [#include <sys/types.h>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]