projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add vmfunc
[deliverable/binutils-gdb.git]
/
binutils
/
ieee.c
diff --git
a/binutils/ieee.c
b/binutils/ieee.c
index 73f87c41c982aa06d394b3b481da0aaa8ea85e08..044da313ddfe5c750a48cfb13ed203de96afd1b2 100644
(file)
--- a/
binutils/ieee.c
+++ b/
binutils/ieee.c
@@
-1,12
+1,13
@@
/* ieee.c -- Read and write IEEE-695 debugging information.
/* ieee.c -- Read and write IEEE-695 debugging information.
- Copyright 1996, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007,
+ 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>.
This file is part of GNU Binutils.
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
Written by Ian Lance Taylor <ian@cygnus.com>.
This file is part of GNU Binutils.
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
2
of the License, or
+ 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,
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@
-16,17
+17,15
@@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 5
9 Temple Place - Suite 330
, Boston, MA
- 0211
1-1307
, USA. */
+ Foundation, Inc., 5
1 Franklin Street - Fifth Floor
, Boston, MA
+ 0211
0-1301
, USA. */
/* This file reads and writes IEEE-695 debugging information. */
/* This file reads and writes IEEE-695 debugging information. */
-#include
<stdio.h>
+#include
"sysdep.h"
#include <assert.h>
#include <assert.h>
-
#include "bfd.h"
#include "ieee.h"
#include "bfd.h"
#include "ieee.h"
-#include "bucomm.h"
#include "libiberty.h"
#include "debug.h"
#include "budbg.h"
#include "libiberty.h"
#include "debug.h"
#include "budbg.h"
@@
-60,6
+59,16
@@
struct ieee_blockstack
/* This structure holds information for a variable. */
/* This structure holds information for a variable. */
+enum ieee_var_kind
+ {
+ IEEE_UNKNOWN,
+ IEEE_EXTERNAL,
+ IEEE_GLOBAL,
+ IEEE_STATIC,
+ IEEE_LOCAL,
+ IEEE_FUNCTION
+ };
+
struct ieee_var
{
/* Start of name. */
struct ieee_var
{
/* Start of name. */
@@
-71,15
+80,7
@@
struct ieee_var
/* Slot if we make an indirect type. */
debug_type *pslot;
/* Kind of variable or function. */
/* Slot if we make an indirect type. */
debug_type *pslot;
/* Kind of variable or function. */
- enum
- {
- IEEE_UNKNOWN,
- IEEE_EXTERNAL,
- IEEE_GLOBAL,
- IEEE_STATIC,
- IEEE_LOCAL,
- IEEE_FUNCTION
- } kind;
+ enum ieee_var_kind kind;
};
/* This structure holds all the variables. */
};
/* This structure holds all the variables. */
@@
-1070,6
+1071,16
@@
parse_ieee_bb (struct ieee_info *info, const bfd_byte **pp)
break;
}
break;
}
+ if (! info->saw_filename)
+ {
+ namcopy = savestring (name, namlen);
+ if (namcopy == NULL)
+ return FALSE;
+ if (! debug_set_filename (info->dhandle, namcopy))
+ return FALSE;
+ info->saw_filename = TRUE;
+ }
+
namcopy = savestring (name, namlen);
if (namcopy == NULL)
return FALSE;
namcopy = savestring (name, namlen);
if (namcopy == NULL)
return FALSE;
@@
-1234,7
+1245,7
@@
parse_ieee_be (struct ieee_info *info, const bfd_byte **pp)
switch (info->blockstack.bsp->kind)
{
case 2:
switch (info->blockstack.bsp->kind)
{
case 2:
- /* When we end the global typedefs block, we copy out the
the
+ /* When we end the global typedefs block, we copy out the
contents of info->vars. This is because the variable indices
may be reused in the local blocks. However, we need to
preserve them so that we can locate a function returning a
contents of info->vars. This is because the variable indices
may be reused in the local blocks. However, we need to
preserve them so that we can locate a function returning a
@@
-1787,6
+1798,7
@@
parse_ieee_ty (struct ieee_info *info, const bfd_byte **pp)
break;
case 'V':
break;
case 'V':
+ case 'v':
/* Void. This is not documented, but the MRI compiler emits it. */
type = debug_make_void_type (dhandle);
break;
/* Void. This is not documented, but the MRI compiler emits it. */
type = debug_make_void_type (dhandle);
break;
@@
-2490,7
+2502,7
@@
ieee_read_cxx_misc (struct ieee_info *info, const bfd_byte **pp,
case 'z':
{
case 'z':
{
- const char *name, *mangled, *class;
+ const char *name, *mangled, *c
xx_c
lass;
unsigned long namlen, mangledlen, classlen;
bfd_vma control;
unsigned long namlen, mangledlen, classlen;
bfd_vma control;
@@
-2498,7
+2510,7
@@
ieee_read_cxx_misc (struct ieee_info *info, const bfd_byte **pp,
if (! ieee_require_atn65 (info, pp, &name, &namlen)
|| ! ieee_require_atn65 (info, pp, &mangled, &mangledlen)
if (! ieee_require_atn65 (info, pp, &name, &namlen)
|| ! ieee_require_atn65 (info, pp, &mangled, &mangledlen)
- || ! ieee_require_atn65 (info, pp, &class, &classlen)
+ || ! ieee_require_atn65 (info, pp, &c
xx_c
lass, &classlen)
|| ! ieee_require_asn (info, pp, &control))
return FALSE;
|| ! ieee_require_asn (info, pp, &control))
return FALSE;
@@
-2523,7
+2535,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
unsigned long count)
{
const bfd_byte *start;
unsigned long count)
{
const bfd_byte *start;
- bfd_vma class;
+ bfd_vma c
xx_c
lass;
const char *tag;
unsigned long taglen;
struct ieee_tag *it;
const char *tag;
unsigned long taglen;
struct ieee_tag *it;
@@
-2548,7
+2560,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
start = *pp;
start = *pp;
- if (! ieee_require_asn (info, pp, &class))
+ if (! ieee_require_asn (info, pp, &c
xx_c
lass))
return FALSE;
--count;
return FALSE;
--count;
@@
-2604,7
+2616,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
case 'b':
{
bfd_vma flags, cinline;
case 'b':
{
bfd_vma flags, cinline;
- const char *base
name
, *fieldname;
+ const char *base, *fieldname;
unsigned long baselen, fieldlen;
char *basecopy;
debug_type basetype;
unsigned long baselen, fieldlen;
char *basecopy;
debug_type basetype;
@@
-2616,7
+2628,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
/* This represents a base or friend class. */
if (! ieee_require_asn (info, pp, &flags)
/* This represents a base or friend class. */
if (! ieee_require_asn (info, pp, &flags)
- || ! ieee_require_atn65 (info, pp, &base
name
, &baselen)
+ || ! ieee_require_atn65 (info, pp, &base, &baselen)
|| ! ieee_require_asn (info, pp, &cinline)
|| ! ieee_require_atn65 (info, pp, &fieldname, &fieldlen))
return FALSE;
|| ! ieee_require_asn (info, pp, &cinline)
|| ! ieee_require_atn65 (info, pp, &fieldname, &fieldlen))
return FALSE;
@@
-2638,7
+2650,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
return FALSE;
}
return FALSE;
}
- basecopy = savestring (base
name
, baselen);
+ basecopy = savestring (base, baselen);
basetype = debug_find_tagged_type (dhandle, basecopy,
DEBUG_KIND_ILLEGAL);
free (basecopy);
basetype = debug_find_tagged_type (dhandle, basecopy,
DEBUG_KIND_ILLEGAL);
free (basecopy);
@@
-3101,7
+3113,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
case 'z':
{
case 'z':
{
- const char *vname, *base
name
;
+ const char *vname, *base;
unsigned long vnamelen, baselen;
bfd_vma vsize, control;
unsigned long vnamelen, baselen;
bfd_vma vsize, control;
@@
-3109,7
+3121,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
if (! ieee_require_atn65 (info, pp, &vname, &vnamelen)
|| ! ieee_require_asn (info, pp, &vsize)
if (! ieee_require_atn65 (info, pp, &vname, &vnamelen)
|| ! ieee_require_asn (info, pp, &vsize)
- || ! ieee_require_atn65 (info, pp, &base
name
, &baselen)
+ || ! ieee_require_atn65 (info, pp, &base, &baselen)
|| ! ieee_require_asn (info, pp, &control))
return FALSE;
count -= 4;
|| ! ieee_require_asn (info, pp, &control))
return FALSE;
count -= 4;
@@
-3126,7
+3138,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
{
char *basecopy;
{
char *basecopy;
- basecopy = savestring (base
name
, baselen);
+ basecopy = savestring (base, baselen);
vptrbase = debug_find_tagged_type (dhandle, basecopy,
DEBUG_KIND_ILLEGAL);
free (basecopy);
vptrbase = debug_find_tagged_type (dhandle, basecopy,
DEBUG_KIND_ILLEGAL);
free (basecopy);
@@
-3170,7
+3182,7
@@
ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp,
it->slot. We update it->slot to automatically update all
references to this struct. */
it->slot = debug_make_object_type (dhandle,
it->slot. We update it->slot to automatically update all
references to this struct. */
it->slot = debug_make_object_type (dhandle,
- class != 'u',
+ c
xx_c
lass != 'u',
debug_get_type_size (dhandle,
it->slot),
fields, baseclasses, dmethods,
debug_get_type_size (dhandle,
it->slot),
fields, baseclasses, dmethods,
@@
-3293,7
+3305,7
@@
ieee_read_reference (struct ieee_info *info, const bfd_byte **pp)
{
const bfd_byte *start;
bfd_vma flags;
{
const bfd_byte *start;
bfd_vma flags;
- const char *class, *name;
+ const char *c
xx_c
lass, *name;
unsigned long classlen, namlen;
debug_type *pslot;
debug_type target;
unsigned long classlen, namlen;
debug_type *pslot;
debug_type target;
@@
-3307,7
+3319,7
@@
ieee_read_reference (struct ieee_info *info, const bfd_byte **pp)
the spec. */
if (flags == 3)
{
the spec. */
if (flags == 3)
{
- if (! ieee_require_atn65 (info, pp, &class, &classlen))
+ if (! ieee_require_atn65 (info, pp, &c
xx_c
lass, &classlen))
return FALSE;
}
return FALSE;
}
@@
-3397,8
+3409,8
@@
ieee_read_reference (struct ieee_info *info, const bfd_byte **pp)
for (it = info->tags; it != NULL; it = it->next)
{
for (it = info->tags; it != NULL; it = it->next)
{
- if (it->name[0] == class[0]
- && strncmp (it->name, class, classlen) == 0
+ if (it->name[0] == c
xx_c
lass[0]
+ && strncmp (it->name, c
xx_c
lass, classlen) == 0
&& strlen (it->name) == classlen)
{
if (it->fslots != NULL)
&& strlen (it->name) == classlen)
{
if (it->fslots != NULL)
@@
-4593,8
+4605,10
@@
write_ieee_debugging_info (bfd *abfd, void *dhandle)
info.type_indx = 256;
info.name_indx = 32;
info.type_indx = 256;
info.name_indx = 32;
- if (! bfd_hash_table_init (&info.typedefs.root, ieee_name_type_newfunc)
- || ! bfd_hash_table_init (&info.tags.root, ieee_name_type_newfunc))
+ if (!bfd_hash_table_init (&info.typedefs.root, ieee_name_type_newfunc,
+ sizeof (struct ieee_name_type_hash_entry))
+ || !bfd_hash_table_init (&info.tags.root, ieee_name_type_newfunc,
+ sizeof (struct ieee_name_type_hash_entry)))
return FALSE;
if (! ieee_init_buffer (&info, &info.global_types)
return FALSE;
if (! ieee_init_buffer (&info, &info.global_types)
@@
-4675,14
+4689,10
@@
write_ieee_debugging_info (bfd *abfd, void *dhandle)
return TRUE;
}
err = NULL;
return TRUE;
}
err = NULL;
- s = bfd_make_section (abfd, ".debug");
+ s = bfd_make_section_with_flags (abfd, ".debug",
+ SEC_DEBUGGING | SEC_HAS_CONTENTS);
if (s == NULL)
err = "bfd_make_section";
if (s == NULL)
err = "bfd_make_section";
- if (err == NULL)
- {
- if (! bfd_set_section_flags (abfd, s, SEC_DEBUGGING | SEC_HAS_CONTENTS))
- err = "bfd_set_section_flags";
- }
if (err == NULL)
{
bfd_size_type size;
if (err == NULL)
{
bfd_size_type size;
@@
-4814,7
+4824,6
@@
ieee_start_compilation_unit (void *p, const char *filename)
const char *backslash;
#endif
char *c, *s;
const char *backslash;
#endif
char *c, *s;
- unsigned int nindx;
if (info->filename != NULL)
{
if (info->filename != NULL)
{
@@
-4862,7
+4871,6
@@
ieee_start_compilation_unit (void *p, const char *filename)
|| ! ieee_write_id (info, info->modname))
return FALSE;
|| ! ieee_write_id (info, info->modname))
return FALSE;
- nindx = info->name_indx;
++info->name_indx;
if (! ieee_change_buffer (info, &info->vars)
|| ! ieee_write_byte (info, (int) ieee_bb_record_enum)
++info->name_indx;
if (! ieee_change_buffer (info, &info->vars)
|| ! ieee_write_byte (info, (int) ieee_bb_record_enum)
@@
-4930,7
+4938,7
@@
ieee_finish_compilation_unit (struct ieee_handle *info)
if (! ieee_change_buffer (info, &info->linenos)
|| ! ieee_write_byte (info, (int) ieee_be_record_enum))
return FALSE;
if (! ieee_change_buffer (info, &info->linenos)
|| ! ieee_write_byte (info, (int) ieee_be_record_enum))
return FALSE;
- if (
str
cmp (info->filename, info->lineno_filename) != 0)
+ if (
filename_
cmp (info->filename, info->lineno_filename) != 0)
{
/* We were not in the main file. We just closed the
included line number block, and now we must close the
{
/* We were not in the main file. We just closed the
included line number block, and now we must close the
@@
-5117,7
+5125,10
@@
ieee_add_bb11 (struct ieee_handle *info, asection *sec, bfd_vma low,
|| ! ieee_write_id (info, "")
|| ! ieee_write_number (info, 0)
|| ! ieee_write_id (info, "GNU objcopy"))
|| ! ieee_write_id (info, "")
|| ! ieee_write_number (info, 0)
|| ! ieee_write_id (info, "GNU objcopy"))
- return FALSE;
+ {
+ free (c);
+ return FALSE;
+ }
free (c);
}
free (c);
}
@@
-5443,7
+5454,7
@@
ieee_pointer_type (void *p)
if (! localp)
{
if (! localp)
{
- m = ieee_get_modified_info (p, indx);
+ m = ieee_get_modified_info (
(struct ieee_handle *)
p, indx);
if (m == NULL)
return FALSE;
if (m == NULL)
return FALSE;
@@
-5501,7
+5512,7
@@
ieee_function_type (void *p, int argcount, bfd_boolean varargs)
m = NULL;
if (argcount < 0 && ! localp)
{
m = NULL;
if (argcount < 0 && ! localp)
{
- m = ieee_get_modified_info (p, retindx);
+ m = ieee_get_modified_info (
(struct ieee_handle *)
p, retindx);
if (m == NULL)
return FALSE;
if (m == NULL)
return FALSE;
@@
-5521,7
+5532,10
@@
ieee_function_type (void *p, int argcount, bfd_boolean varargs)
|| ! ieee_write_number (info, 0)
|| ! ieee_write_number (info, retindx)
|| ! ieee_write_number (info, (bfd_vma) argcount + (varargs ? 1 : 0)))
|| ! ieee_write_number (info, 0)
|| ! ieee_write_number (info, retindx)
|| ! ieee_write_number (info, (bfd_vma) argcount + (varargs ? 1 : 0)))
- return FALSE;
+ {
+ free (args);
+ return FALSE;
+ }
if (argcount > 0)
{
for (i = 0; i < argcount; i++)
if (argcount > 0)
{
for (i = 0; i < argcount; i++)
@@
-5678,12
+5692,6
@@
ieee_set_type (void *p, bfd_boolean bitstringp ATTRIBUTE_UNUSED)
static bfd_boolean
ieee_offset_type (void *p)
{
static bfd_boolean
ieee_offset_type (void *p)
{
- struct ieee_handle *info = (struct ieee_handle *) p;
- unsigned int targetindx, baseindx;
-
- targetindx = ieee_pop_type (info);
- baseindx = ieee_pop_type (info);
-
/* FIXME: The MRI C++ compiler does not appear to generate any
useful type information about an offset type. It just records a
pointer to member as an integer. The MRI/HP IEEE spec does
/* FIXME: The MRI C++ compiler does not appear to generate any
useful type information about an offset type. It just records a
pointer to member as an integer. The MRI/HP IEEE spec does
@@
-5970,8
+5978,6
@@
ieee_struct_field (void *p, const char *name, bfd_vma bitpos, bfd_vma bitsize,
if (referencep)
{
if (referencep)
{
- unsigned int nindx;
-
/* We need to output a record recording that this field is
really of reference type. We put this on the refs field
of classdef, so that it can be appended to the C++
/* We need to output a record recording that this field is
really of reference type. We put this on the refs field
of classdef, so that it can be appended to the C++
@@
-6191,7
+6197,7
@@
ieee_class_static_member (void *p, const char *name, const char *physname,
/* Add a base class to a class. */
static bfd_boolean
/* Add a base class to a class. */
static bfd_boolean
-ieee_class_baseclass (void *p, bfd_vma bitpos, bfd_boolean virtual,
+ieee_class_baseclass (void *p, bfd_vma bitpos, bfd_boolean
is_
virtual,
enum debug_visibility visibility)
{
struct ieee_handle *info = (struct ieee_handle *) p;
enum debug_visibility visibility)
{
struct ieee_handle *info = (struct ieee_handle *) p;
@@
-6217,7
+6223,7
@@
ieee_class_baseclass (void *p, bfd_vma bitpos, bfd_boolean virtual,
class. The stabs debugging reader will create a field named
_vb$CLASS for a virtual base class, so we just use that. FIXME:
we should not depend upon a detail of stabs debugging. */
class. The stabs debugging reader will create a field named
_vb$CLASS for a virtual base class, so we just use that. FIXME:
we should not depend upon a detail of stabs debugging. */
- if (virtual)
+ if (
is_
virtual)
{
fname = (char *) xmalloc (strlen (bname) + sizeof "_vb$");
sprintf (fname, "_vb$%s", bname);
{
fname = (char *) xmalloc (strlen (bname) + sizeof "_vb$");
sprintf (fname, "_vb$%s", bname);
@@
-6235,7
+6241,10
@@
ieee_class_baseclass (void *p, bfd_vma bitpos, bfd_boolean virtual,
|| ! ieee_write_id (info, fname)
|| ! ieee_write_number (info, bindx)
|| ! ieee_write_number (info, bitpos / 8))
|| ! ieee_write_id (info, fname)
|| ! ieee_write_number (info, bindx)
|| ! ieee_write_number (info, bitpos / 8))
- return FALSE;
+ {
+ free (fname);
+ return FALSE;
+ }
flags = 0;
}
flags = 0;
}
@@
-6250,7
+6259,10
@@
ieee_class_baseclass (void *p, bfd_vma bitpos, bfd_boolean virtual,
|| ! ieee_write_atn65 (info, nindx, bname)
|| ! ieee_write_asn (info, nindx, 0)
|| ! ieee_write_atn65 (info, nindx, fname))
|| ! ieee_write_atn65 (info, nindx, bname)
|| ! ieee_write_asn (info, nindx, 0)
|| ! ieee_write_atn65 (info, nindx, fname))
- return FALSE;
+ {
+ free (fname);
+ return FALSE;
+ }
info->type_stack->type.classdef->pmisccount += 5;
free (fname);
info->type_stack->type.classdef->pmisccount += 5;
free (fname);
@@
-6285,7
+6297,7
@@
ieee_class_method_var (struct ieee_handle *info, const char *physname,
{
unsigned int flags;
unsigned int nindx;
{
unsigned int flags;
unsigned int nindx;
- bfd_boolean virtual;
+ bfd_boolean
is_
virtual;
/* We don't need the type of the method. An IEEE consumer which
wants the type must track down the function by the physical name
/* We don't need the type of the method. An IEEE consumer which
wants the type must track down the function by the physical name
@@
-6315,18
+6327,18
@@
ieee_class_method_var (struct ieee_handle *info, const char *physname,
nindx = info->type_stack->type.classdef->indx;
nindx = info->type_stack->type.classdef->indx;
- virtual = context || voffset > 0;
+
is_
virtual = context || voffset > 0;
if (! ieee_change_buffer (info,
&info->type_stack->type.classdef->pmiscbuf)
if (! ieee_change_buffer (info,
&info->type_stack->type.classdef->pmiscbuf)
- || ! ieee_write_asn (info, nindx, virtual ? 'v' : 'm')
+ || ! ieee_write_asn (info, nindx,
is_
virtual ? 'v' : 'm')
|| ! ieee_write_asn (info, nindx, flags)
|| ! ieee_write_atn65 (info, nindx,
info->type_stack->type.classdef->method)
|| ! ieee_write_atn65 (info, nindx, physname))
return FALSE;
|| ! ieee_write_asn (info, nindx, flags)
|| ! ieee_write_atn65 (info, nindx,
info->type_stack->type.classdef->method)
|| ! ieee_write_atn65 (info, nindx, physname))
return FALSE;
- if (virtual)
+ if (
is_
virtual)
{
if (voffset > info->type_stack->type.classdef->voffset)
info->type_stack->type.classdef->voffset = voffset;
{
if (voffset > info->type_stack->type.classdef->voffset)
info->type_stack->type.classdef->voffset = voffset;
@@
-7339,15
+7351,17
@@
ieee_lineno (void *p, const char *filename, unsigned long lineno, bfd_vma addr)
info->lineno_filename = info->filename;
}
info->lineno_filename = info->filename;
}
- if (strcmp (info->pending_lineno_filename, info->lineno_filename) != 0)
+ if (filename_cmp (info->pending_lineno_filename,
+ info->lineno_filename) != 0)
{
{
- if (
str
cmp (info->filename, info->lineno_filename) != 0)
+ if (
filename_
cmp (info->filename, info->lineno_filename) != 0)
{
/* We were not in the main file. Close the block for the
included file. */
if (! ieee_write_byte (info, (int) ieee_be_record_enum))
return FALSE;
{
/* We were not in the main file. Close the block for the
included file. */
if (! ieee_write_byte (info, (int) ieee_be_record_enum))
return FALSE;
- if (strcmp (info->filename, info->pending_lineno_filename) == 0)
+ if (filename_cmp (info->filename,
+ info->pending_lineno_filename) == 0)
{
/* We need a new NN record, and we aren't about to
output one. */
{
/* We need a new NN record, and we aren't about to
output one. */
@@
-7359,7
+7373,8
@@
ieee_lineno (void *p, const char *filename, unsigned long lineno, bfd_vma addr)
return FALSE;
}
}
return FALSE;
}
}
- if (strcmp (info->filename, info->pending_lineno_filename) != 0)
+ if (filename_cmp (info->filename,
+ info->pending_lineno_filename) != 0)
{
/* We are not changing to the main file. Open a block for
the new included file. */
{
/* We are not changing to the main file. Open a block for
the new included file. */
This page took
0.029752 seconds
and
4
git commands to generate.