* gdb_obstack.h (obconcat): Move declaration here, from...
* symfile.h (obconcat): ... here. * gdb_obstack.c: New file. (obconcat): Move from... * symfile.c (obconcat): ... here. * Makefile.in (SFILES): Add gdb_obstack.c. (COMMON_OBS): Add gdb_obstack.o.
This commit is contained in:
parent
10f0c4bbfa
commit
d2afef13c2
@ -1,3 +1,13 @@
|
||||
2013-01-21 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* gdb_obstack.h (obconcat): Move declaration here, from...
|
||||
* symfile.h (obconcat): ... here.
|
||||
* gdb_obstack.c: New file.
|
||||
(obconcat): Move from...
|
||||
* symfile.c (obconcat): ... here.
|
||||
* Makefile.in (SFILES): Add gdb_obstack.c.
|
||||
(COMMON_OBS): Add gdb_obstack.o.
|
||||
|
||||
2013-01-21 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* symfile.h (obsavestring): Don't declare.
|
||||
|
@ -713,7 +713,8 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
|
||||
exceptions.c expprint.c \
|
||||
f-exp.y f-lang.c f-typeprint.c f-valprint.c filesystem.c \
|
||||
findcmd.c findvar.c frame.c frame-base.c frame-unwind.c \
|
||||
gdbarch.c arch-utils.c gdb_bfd.c gdbtypes.c gnu-v2-abi.c gnu-v3-abi.c \
|
||||
gdbarch.c arch-utils.c gdb_bfd.c gdb_obstack.c \
|
||||
gdbtypes.c gnu-v2-abi.c gnu-v3-abi.c \
|
||||
go-exp.y go-lang.c go-typeprint.c go-valprint.c \
|
||||
inf-loop.c \
|
||||
infcall.c \
|
||||
@ -883,7 +884,8 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
|
||||
macrotab.o macrocmd.o macroexp.o macroscope.o \
|
||||
mi-common.o \
|
||||
event-loop.o event-top.o inf-loop.o completer.o \
|
||||
gdbarch.o arch-utils.o gdbtypes.o gdb_bfd.o osabi.o copying.o \
|
||||
gdbarch.o arch-utils.o gdbtypes.o gdb_bfd.o gdb_obstack.o \
|
||||
osabi.o copying.o \
|
||||
memattr.o mem-break.o target.o parse.o language.o buildsym.o \
|
||||
findcmd.o \
|
||||
std-regs.o \
|
||||
|
47
gdb/gdb_obstack.c
Normal file
47
gdb/gdb_obstack.c
Normal file
@ -0,0 +1,47 @@
|
||||
/* Obstack wrapper for GDB.
|
||||
|
||||
Copyright (C) 2013 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/>. */
|
||||
|
||||
#include "defs.h"
|
||||
#include "gdb_obstack.h"
|
||||
|
||||
/* Concatenate NULL terminated variable argument list of `const char *'
|
||||
strings; return the new string. Space is found in the OBSTACKP.
|
||||
Argument list must be terminated by a sentinel expression `(char *)
|
||||
NULL'. */
|
||||
|
||||
char *
|
||||
obconcat (struct obstack *obstackp, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
va_start (ap, obstackp);
|
||||
for (;;)
|
||||
{
|
||||
const char *s = va_arg (ap, const char *);
|
||||
|
||||
if (s == NULL)
|
||||
break;
|
||||
|
||||
obstack_grow_str (obstackp, s);
|
||||
}
|
||||
va_end (ap);
|
||||
obstack_1grow (obstackp, 0);
|
||||
|
||||
return obstack_finish (obstackp);
|
||||
}
|
@ -51,4 +51,11 @@
|
||||
#define obstack_grow_wstr(OBSTACK, WSTRING) \
|
||||
obstack_grow (OBSTACK, WSTRING, sizeof (gdb_wchar_t) * gdb_wcslen (WSTRING))
|
||||
|
||||
/* Concatenate NULL terminated variable argument list of `const char
|
||||
*' strings; return the new string. Space is found in the OBSTACKP.
|
||||
Argument list must be terminated by a sentinel expression `(char *)
|
||||
NULL'. */
|
||||
|
||||
extern char *obconcat (struct obstack *obstackp, ...) ATTRIBUTE_SENTINEL;
|
||||
|
||||
#endif
|
||||
|
@ -151,32 +151,6 @@ static VEC (sym_fns_ptr) *symtab_fns = NULL;
|
||||
int auto_solib_add = 1;
|
||||
|
||||
|
||||
/* Concatenate NULL terminated variable argument list of `const char *'
|
||||
strings; return the new string. Space is found in the OBSTACKP.
|
||||
Argument list must be terminated by a sentinel expression `(char *)
|
||||
NULL'. */
|
||||
|
||||
char *
|
||||
obconcat (struct obstack *obstackp, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
va_start (ap, obstackp);
|
||||
for (;;)
|
||||
{
|
||||
const char *s = va_arg (ap, const char *);
|
||||
|
||||
if (s == NULL)
|
||||
break;
|
||||
|
||||
obstack_grow_str (obstackp, s);
|
||||
}
|
||||
va_end (ap);
|
||||
obstack_1grow (obstackp, 0);
|
||||
|
||||
return obstack_finish (obstackp);
|
||||
}
|
||||
|
||||
/* True if we are reading a symbol table. */
|
||||
|
||||
int currently_reading_symtab = 0;
|
||||
|
@ -506,13 +506,6 @@ extern struct section_addr_info
|
||||
extern void free_section_addr_info (struct section_addr_info *);
|
||||
|
||||
|
||||
/* Concatenate NULL terminated variable argument list of `const char
|
||||
*' strings; return the new string. Space is found in the OBSTACKP.
|
||||
Argument list must be terminated by a sentinel expression `(char *)
|
||||
NULL'. */
|
||||
|
||||
extern char *obconcat (struct obstack *obstackp, ...) ATTRIBUTE_SENTINEL;
|
||||
|
||||
/* Variables */
|
||||
|
||||
/* If non-zero, shared library symbols will be added automatically
|
||||
|
Loading…
x
Reference in New Issue
Block a user