mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-13 05:20:44 +00:00
* partial-stab.h: New complaint: function_outside_compilation_unit.
(case N_FUN: case 'f':, case N_FUN: case 'F':): If pst is zero, complain, and don't try to set pst's start address.
This commit is contained in:
parent
80643fbcda
commit
531017dfa4
@ -1,3 +1,9 @@
|
||||
2001-06-01 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* partial-stab.h: New complaint: function_outside_compilation_unit.
|
||||
(case N_FUN: case 'f':, case N_FUN: case 'F':): If pst is zero,
|
||||
complain, and don't try to set pst's start address.
|
||||
|
||||
2001-05-31 Kevin Buettner <kevinb@redhat.com>
|
||||
|
||||
* ia64-linux-tdep.c (IA64_LINUX_SIGCONTEXT_OFFSET): Revise to
|
||||
|
@ -40,6 +40,9 @@
|
||||
|
||||
switch (CUR_SYMBOL_TYPE)
|
||||
{
|
||||
static struct complaint function_outside_compilation_unit = {
|
||||
"function `%s' appears to be defined outside of all compilation units", 0, 0
|
||||
};
|
||||
char *p;
|
||||
/*
|
||||
* Standard, external, non-debugger, symbols
|
||||
@ -576,6 +579,14 @@ switch (CUR_SYMBOL_TYPE)
|
||||
continue;
|
||||
|
||||
case 'f':
|
||||
if (! pst)
|
||||
{
|
||||
int name_len = p - namestring;
|
||||
char *name = xmalloc (name_len + 1);
|
||||
memcpy (name, namestring, name_len);
|
||||
name[name_len] = '\0';
|
||||
complain (&function_outside_compilation_unit, name);
|
||||
}
|
||||
CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
||||
#ifdef DBXREAD_ONLY
|
||||
/* Kludges for ELF/STABS with Sun ACC */
|
||||
@ -600,10 +611,12 @@ switch (CUR_SYMBOL_TYPE)
|
||||
the bounds created by N_SO symbols. If that's the case
|
||||
use the address of this function as the low bound for
|
||||
the partial symbol table. */
|
||||
if (textlow_not_set
|
||||
|| (pst && CUR_SYMBOL_VALUE < pst->textlow
|
||||
&& CUR_SYMBOL_VALUE
|
||||
!= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile))))
|
||||
if (pst
|
||||
&& (textlow_not_set
|
||||
|| (CUR_SYMBOL_VALUE < pst->textlow
|
||||
&& (CUR_SYMBOL_VALUE
|
||||
!= ANOFFSET (objfile->section_offsets,
|
||||
SECT_OFF_TEXT (objfile))))))
|
||||
{
|
||||
pst->textlow = CUR_SYMBOL_VALUE;
|
||||
textlow_not_set = 0;
|
||||
@ -620,6 +633,14 @@ switch (CUR_SYMBOL_TYPE)
|
||||
are put into the global psymtab like one would expect.
|
||||
They're also in the minimal symbol table. */
|
||||
case 'F':
|
||||
if (! pst)
|
||||
{
|
||||
int name_len = p - namestring;
|
||||
char *name = xmalloc (name_len + 1);
|
||||
memcpy (name, namestring, name_len);
|
||||
name[name_len] = '\0';
|
||||
complain (&function_outside_compilation_unit, name);
|
||||
}
|
||||
CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
||||
#ifdef DBXREAD_ONLY
|
||||
/* Kludges for ELF/STABS with Sun ACC */
|
||||
@ -647,10 +668,12 @@ switch (CUR_SYMBOL_TYPE)
|
||||
the bounds created by N_SO symbols. If that's the case
|
||||
use the address of this function as the low bound for
|
||||
the partial symbol table. */
|
||||
if (textlow_not_set
|
||||
|| (pst && CUR_SYMBOL_VALUE < pst->textlow
|
||||
&& CUR_SYMBOL_VALUE
|
||||
!= ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile))))
|
||||
if (pst
|
||||
&& (textlow_not_set
|
||||
|| (CUR_SYMBOL_VALUE < pst->textlow
|
||||
&& (CUR_SYMBOL_VALUE
|
||||
!= ANOFFSET (objfile->section_offsets,
|
||||
SECT_OFF_TEXT (objfile))))))
|
||||
{
|
||||
pst->textlow = CUR_SYMBOL_VALUE;
|
||||
textlow_not_set = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user