projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git]
/
gas
/
ecoff.c
diff --git
a/gas/ecoff.c
b/gas/ecoff.c
index 27e48e5f0b6491c68e7472acda633311357a2464..08bfee1fc5c6412934ae1ecd40e1ebbf8078b509 100644
(file)
--- a/
gas/ecoff.c
+++ b/
gas/ecoff.c
@@
-1,7
+1,5
@@
/* ECOFF debugging support.
/* ECOFF debugging support.
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1993-2020 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file was put together by Ian Lance Taylor <ian@cygnus.com>. A
good deal of it comes directly from mips-tfile.c, by Michael
Contributed by Cygnus Support.
This file was put together by Ian Lance Taylor <ian@cygnus.com>. A
good deal of it comes directly from mips-tfile.c, by Michael
@@
-27,8
+25,7
@@
#include "as.h"
/* This file is compiled conditionally for those targets which use
#include "as.h"
/* This file is compiled conditionally for those targets which use
- ECOFF debugging information (e.g., MIPS ECOFF, MIPS ELF, Alpha
- ECOFF). */
+ ECOFF debugging information (e.g., MIPS ELF, Alpha ECOFF). */
#include "ecoff.h"
#include "ecoff.h"
@@
-37,7
+34,7
@@
#include "coff/internal.h"
#include "coff/symconst.h"
#include "aout/stab_gnu.h"
#include "coff/internal.h"
#include "coff/symconst.h"
#include "aout/stab_gnu.h"
-
+#include "filenames.h"
#include "safe-ctype.h"
/* Why isn't this in coff/sym.h? */
#include "safe-ctype.h"
/* Why isn't this in coff/sym.h? */
@@
-188,7
+185,7
@@
Each file table has offsets for where the line numbers, local
strings, local symbols, and procedure table starts from within the
Each file table has offsets for where the line numbers, local
strings, local symbols, and procedure table starts from within the
- global tables, and the ind
ex
s are reset to 0 for each of those
+ global tables, and the ind
ice
s are reset to 0 for each of those
tables for the file.
The procedure table contains the binary equivalents of the .ent
tables for the file.
The procedure table contains the binary equivalents of the .ent
@@
-621,7
+618,7
@@
#26 48 0x00000030 struct no name { ifd = -1, index = 1048575 }
*/
\f
#26 48 0x00000030 struct no name { ifd = -1, index = 1048575 }
*/
\f
-/* Redefinition of
of
storage classes as an enumeration for better
+/* Redefinition of storage classes as an enumeration for better
debugging. */
typedef enum sc {
debugging. */
typedef enum sc {
@@
-1425,7
+1422,7
@@
static symint_t add_aux_sym_tir (type_info_t *t,
thash_t **hash_tbl);
static tag_t *get_tag (const char *tag, localsym_t *sym, bt_t basic_type);
static void add_unknown_tag (tag_t *ptag);
thash_t **hash_tbl);
static tag_t *get_tag (const char *tag, localsym_t *sym, bt_t basic_type);
static void add_unknown_tag (tag_t *ptag);
-static void add_procedure (char *func);
+static void add_procedure (char *func
, int aent
);
static void add_file (const char *file_name, int indx, int fake);
#ifdef ECOFF_DEBUG
static char *sc_to_string (sc_t storage_class);
static void add_file (const char *file_name, int indx, int fake);
#ifdef ECOFF_DEBUG
static char *sc_to_string (sc_t storage_class);
@@
-1555,8
+1552,8
@@
add_string (varray_t *vp, /* string obstack */
const char *str, /* string */
shash_t **ret_hash /* return hash pointer */)
{
const char *str, /* string */
shash_t **ret_hash /* return hash pointer */)
{
-
register
unsigned long len = strlen (str);
-
register
shash_t *hash_ptr;
+ unsigned long len = strlen (str);
+ shash_t *hash_ptr;
if (len >= PAGE_USIZE)
as_fatal (_("string too big (%lu bytes)"), len);
if (len >= PAGE_USIZE)
as_fatal (_("string too big (%lu bytes)"), len);
@@
-1564,7
+1561,7
@@
add_string (varray_t *vp, /* string obstack */
hash_ptr = (shash_t *) hash_find (hash_tbl, str);
if (hash_ptr == (shash_t *) NULL)
{
hash_ptr = (shash_t *) hash_find (hash_tbl, str);
if (hash_ptr == (shash_t *) NULL)
{
-
register
const char *err;
+ const char *err;
if (vp->objects_last_page + len >= PAGE_USIZE)
{
if (vp->objects_last_page + len >= PAGE_USIZE)
{
@@
-1607,12
+1604,12
@@
add_ecoff_symbol (const char *str, /* symbol name */
symint_t indx /* index to local/aux. syms */)
{
localsym_t *psym;
symint_t indx /* index to local/aux. syms */)
{
localsym_t *psym;
-
register
scope_t *pscope;
-
register
thead_t *ptag_head;
-
register
tag_t *ptag;
-
register
tag_t *ptag_next;
-
register
varray_t *vp;
-
register
int scope_delta = 0;
+ scope_t *pscope;
+ thead_t *ptag_head;
+ tag_t *ptag;
+ tag_t *ptag_next;
+ varray_t *vp;
+ int scope_delta = 0;
shash_t *hash_ptr = (shash_t *) NULL;
if (cur_file_ptr == (efdr_t *) NULL)
shash_t *hash_ptr = (shash_t *) NULL;
if (cur_file_ptr == (efdr_t *) NULL)
@@
-1805,8
+1802,8
@@
add_ecoff_symbol (const char *str, /* symbol name */
static symint_t
add_aux_sym_symint (symint_t aux_word /* auxiliary information word */)
{
static symint_t
add_aux_sym_symint (symint_t aux_word /* auxiliary information word */)
{
-
register
varray_t *vp;
-
register
aux_t *aux_ptr;
+ varray_t *vp;
+ aux_t *aux_ptr;
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
@@
-1828,8
+1825,8
@@
add_aux_sym_symint (symint_t aux_word /* auxiliary information word */)
static symint_t
add_aux_sym_rndx (int file_index, symint_t sym_index)
{
static symint_t
add_aux_sym_rndx (int file_index, symint_t sym_index)
{
-
register
varray_t *vp;
-
register
aux_t *aux_ptr;
+ varray_t *vp;
+ aux_t *aux_ptr;
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
@@
-1855,8
+1852,8
@@
add_aux_sym_tir (type_info_t *t, /* current type information */
hash_state_t state, /* whether to hash type or not */
thash_t **hash_tbl /* pointer to hash table to use */)
{
hash_state_t state, /* whether to hash type or not */
thash_t **hash_tbl /* pointer to hash table to use */)
{
-
register
varray_t *vp;
-
register
aux_t *aux_ptr;
+ varray_t *vp;
+ aux_t *aux_ptr;
static AUXU init_aux;
symint_t ret;
int i;
static AUXU init_aux;
symint_t ret;
int i;
@@
-1903,8
+1900,8
@@
add_aux_sym_tir (type_info_t *t, /* current type information */
if (state != hash_no)
{
if (state != hash_no)
{
-
register
thash_t *hash_ptr;
-
register
symint_t hi;
+ thash_t *hash_ptr;
+ symint_t hi;
hi = aux.isym & ((1 << HASHBITS) - 1);
hi %= THASH_SIZE;
hi = aux.isym & ((1 << HASHBITS) - 1);
hi %= THASH_SIZE;
@@
-1960,9
+1957,9
@@
add_aux_sym_tir (type_info_t *t, /* current type information */
|| t->basic_type == bt_Union
|| t->basic_type == bt_Enum)
{
|| t->basic_type == bt_Union
|| t->basic_type == bt_Enum)
{
-
register
symint_t file_index = t->tag_ptr->ifd;
-
register
localsym_t *sym = t->tag_ptr->sym;
-
register
forward_t *forward_ref = allocate_forward ();
+ symint_t file_index = t->tag_ptr->ifd;
+ localsym_t *sym = t->tag_ptr->sym;
+ forward_t *forward_ref = allocate_forward ();
if (sym != (localsym_t *) NULL)
{
if (sym != (localsym_t *) NULL)
{
@@
-2112,13
+2109,14
@@
add_unknown_tag (tag_t *ptag /* pointer to tag information */)
}
\f
/* Add a procedure to the current file's list of procedures, and record
}
\f
/* Add a procedure to the current file's list of procedures, and record
- this is the current procedure. */
+ this is the current procedure. If AENT, then only set the requested
+ symbol's function type. */
static void
static void
-add_procedure (char *func /* func name */)
+add_procedure (char *func /* func name */
, int aent
)
{
{
-
register
varray_t *vp;
-
register
proc_t *new_proc_ptr;
+ varray_t *vp;
+ proc_t *new_proc_ptr;
symbolS *sym;
#ifdef ECOFF_DEBUG
symbolS *sym;
#ifdef ECOFF_DEBUG
@@
-2126,6
+2124,13
@@
add_procedure (char *func /* func name */)
fputc ('\n', stderr);
#endif
fputc ('\n', stderr);
#endif
+ /* Set the BSF_FUNCTION flag for the symbol. */
+ sym = symbol_find_or_make (func);
+ symbol_get_bfdsym (sym)->flags |= BSF_FUNCTION;
+
+ if (aent)
+ return;
+
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
@@
-2146,10
+2151,6
@@
add_procedure (char *func /* func name */)
new_proc_ptr->pdr.lnLow = -1;
new_proc_ptr->pdr.lnHigh = -1;
new_proc_ptr->pdr.lnLow = -1;
new_proc_ptr->pdr.lnHigh = -1;
- /* Set the BSF_FUNCTION flag for the symbol. */
- sym = symbol_find_or_make (func);
- symbol_get_bfdsym (sym)->flags |= BSF_FUNCTION;
-
/* Push the start of the function. */
new_proc_ptr->sym = add_ecoff_symbol ((const char *) NULL, st_Proc, sc_Text,
sym, (bfd_vma) 0, (symint_t) 0,
/* Push the start of the function. */
new_proc_ptr->sym = add_ecoff_symbol ((const char *) NULL, st_Proc, sc_Text,
sym, (bfd_vma) 0, (symint_t) 0,
@@
-2187,8
+2188,8
@@
ecoff_get_cur_proc_sym (void)
static void
add_file (const char *file_name, int indx ATTRIBUTE_UNUSED, int fake)
{
static void
add_file (const char *file_name, int indx ATTRIBUTE_UNUSED, int fake)
{
-
register
int first_ch;
-
register
efdr_t *fil_ptr;
+ int first_ch;
+ efdr_t *fil_ptr;
#ifdef ECOFF_DEBUG
if (debug)
#ifdef ECOFF_DEBUG
if (debug)
@@
-2199,12
+2200,9
@@
add_file (const char *file_name, int indx ATTRIBUTE_UNUSED, int fake)
want to use the actual file name. */
if (file_name == (const char *) NULL)
{
want to use the actual file name. */
if (file_name == (const char *) NULL)
{
- char *file;
-
if (first_file != (efdr_t *) NULL)
as_fatal (_("fake .file after real one"));
if (first_file != (efdr_t *) NULL)
as_fatal (_("fake .file after real one"));
- as_where (&file, (unsigned int *) NULL);
- file_name = (const char *) file;
+ file_name = as_where ((unsigned int *) NULL);
/* Automatically generate ECOFF debugging information, since I
think that's what other ECOFF assemblers do. We don't do
/* Automatically generate ECOFF debugging information, since I
think that's what other ECOFF assemblers do. We don't do
@@
-2229,7
+2227,7
@@
add_file (const char *file_name, int indx ATTRIBUTE_UNUSED, int fake)
if (stabs_seen)
{
(void) add_ecoff_symbol (file_name, st_Nil, sc_Nil,
if (stabs_seen)
{
(void) add_ecoff_symbol (file_name, st_Nil, sc_Nil,
- symbol_new (
"L0\001"
, now_seg,
+ symbol_new (
FAKE_LABEL_NAME
, now_seg,
(valueT) frag_now_fix (),
frag_now),
(bfd_vma) 0, 0, ECOFF_MARK_STAB (N_SOL));
(valueT) frag_now_fix (),
frag_now),
(bfd_vma) 0, 0, ECOFF_MARK_STAB (N_SOL));
@@
-2437,14
+2435,13
@@
ecoff_directive_begin (int ignore ATTRIBUTE_UNUSED)
return;
}
return;
}
- name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&name);
(void) add_ecoff_symbol ((const char *) NULL, st_Block, sc_Text,
symbol_find_or_make (name),
(bfd_vma) 0, (symint_t) 0, (symint_t) 0);
(void) add_ecoff_symbol ((const char *) NULL, st_Block, sc_Text,
symbol_find_or_make (name),
(bfd_vma) 0, (symint_t) 0, (symint_t) 0);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
/* The line number follows, but we don't use it. */
(void) get_absolute_expression ();
/* The line number follows, but we don't use it. */
(void) get_absolute_expression ();
@@
-2475,8
+2472,7
@@
ecoff_directive_bend (int ignore ATTRIBUTE_UNUSED)
return;
}
return;
}
- name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&name);
/* The value is the distance between the .bend directive and the
corresponding symbol. We fill in the offset when we write out
/* The value is the distance between the .bend directive and the
corresponding symbol. We fill in the offset when we write out
@@
-2488,7
+2484,7
@@
ecoff_directive_bend (int ignore ATTRIBUTE_UNUSED)
(void) add_ecoff_symbol ((const char *) NULL, st_End, sc_Text, endsym,
(bfd_vma) 0, (symint_t) 0, (symint_t) 0);
(void) add_ecoff_symbol ((const char *) NULL, st_End, sc_Text, endsym,
(bfd_vma) 0, (symint_t) 0, (symint_t) 0);
-
*input_line_pointer = name_end
;
+
restore_line_pointer (name_end)
;
/* The line number follows, but we don't use it. */
(void) get_absolute_expression ();
/* The line number follows, but we don't use it. */
(void) get_absolute_expression ();
@@
-2522,8
+2518,7
@@
ecoff_directive_def (int ignore ATTRIBUTE_UNUSED)
SKIP_WHITESPACE ();
SKIP_WHITESPACE ();
- name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&name);
if (coff_sym_name != (char *) NULL)
as_warn (_(".def pseudo-op used inside of .def/.endef; ignored"));
if (coff_sym_name != (char *) NULL)
as_warn (_(".def pseudo-op used inside of .def/.endef; ignored"));
@@
-2531,11
+2526,9
@@
ecoff_directive_def (int ignore ATTRIBUTE_UNUSED)
as_warn (_("empty symbol name in .def; ignored"));
else
{
as_warn (_("empty symbol name in .def; ignored"));
else
{
- if (coff_sym_name != (char *) NULL)
- free (coff_sym_name);
- if (coff_tag != (char *) NULL)
- free (coff_tag);
-
+ free (coff_sym_name);
+ free (coff_tag);
+
coff_sym_name = xstrdup (name);
coff_type = type_info_init;
coff_storage_class = sc_Nil;
coff_sym_name = xstrdup (name);
coff_type = type_info_init;
coff_storage_class = sc_Nil;
@@
-2547,7
+2540,7
@@
ecoff_directive_def (int ignore ATTRIBUTE_UNUSED)
coff_sym_addend = 0;
}
coff_sym_addend = 0;
}
-
*input_line_pointer = name_end
;
+
restore_line_pointer (name_end)
;
demand_empty_rest_of_line ();
}
demand_empty_rest_of_line ();
}
@@
-2760,12
+2753,11
@@
ecoff_directive_tag (int ignore ATTRIBUTE_UNUSED)
return;
}
return;
}
- name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&name);
coff_tag = xstrdup (name);
coff_tag = xstrdup (name);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
demand_empty_rest_of_line ();
}
demand_empty_rest_of_line ();
}
@@
-3007,13
+2999,12
@@
ecoff_directive_end (int ignore ATTRIBUTE_UNUSED)
return;
}
return;
}
- name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&name);
if (name == input_line_pointer)
{
as_warn (_(".end directive has no name"));
if (name == input_line_pointer)
{
as_warn (_(".end directive has no name"));
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
demand_empty_rest_of_line ();
return;
}
demand_empty_rest_of_line ();
return;
}
@@
-3027,21
+3018,25
@@
ecoff_directive_end (int ignore ATTRIBUTE_UNUSED)
as_warn (_(".end directive names unknown symbol"));
else
(void) add_ecoff_symbol ((const char *) NULL, st_End, sc_Text,
as_warn (_(".end directive names unknown symbol"));
else
(void) add_ecoff_symbol ((const char *) NULL, st_End, sc_Text,
- symbol_new (
"L0\001"
, now_seg,
+ symbol_new (
FAKE_LABEL_NAME
, now_seg,
(valueT) frag_now_fix (),
frag_now),
(bfd_vma) 0, (symint_t) 0, (symint_t) 0);
(valueT) frag_now_fix (),
frag_now),
(bfd_vma) 0, (symint_t) 0, (symint_t) 0);
+#ifdef md_flush_pending_output
+ md_flush_pending_output ();
+#endif
+
cur_proc_ptr = (proc_t *) NULL;
cur_proc_ptr = (proc_t *) NULL;
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
demand_empty_rest_of_line ();
}
\f
/* Parse .ent directives. */
void
demand_empty_rest_of_line ();
}
\f
/* Parse .ent directives. */
void
-ecoff_directive_ent (int
ignore ATTRIBUTE_UNUSED
)
+ecoff_directive_ent (int
aent
)
{
char *name;
char name_end;
{
char *name;
char name_end;
@@
-3049,27
+3044,26
@@
ecoff_directive_ent (int ignore ATTRIBUTE_UNUSED)
if (cur_file_ptr == (efdr_t *) NULL)
add_file ((const char *) NULL, 0, 1);
if (cur_file_ptr == (efdr_t *) NULL)
add_file ((const char *) NULL, 0, 1);
- if (cur_proc_ptr != (proc_t *) NULL)
+ if (
!aent &&
cur_proc_ptr != (proc_t *) NULL)
{
as_warn (_("second .ent directive found before .end directive"));
demand_empty_rest_of_line ();
return;
}
{
as_warn (_("second .ent directive found before .end directive"));
demand_empty_rest_of_line ();
return;
}
- name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&name);
if (name == input_line_pointer)
{
if (name == input_line_pointer)
{
- as_warn (_("
.ent directive has no name")
);
-
*input_line_pointer = name_end
;
+ as_warn (_("
%s directive has no name"), aent ? ".aent" : ".ent"
);
+
(void) restore_line_pointer (name_end)
;
demand_empty_rest_of_line ();
return;
}
demand_empty_rest_of_line ();
return;
}
- add_procedure (name);
+ add_procedure (name
, aent
);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
/* The .ent directive is sometimes followed by a number. I'm not
really sure what the number means. I don't see any way to store
/* The .ent directive is sometimes followed by a number. I'm not
really sure what the number means. I don't see any way to store
@@
-3098,10
+3092,9
@@
ecoff_directive_extern (int ignore ATTRIBUTE_UNUSED)
symbolS *symbolp;
valueT size;
symbolS *symbolp;
valueT size;
- name = input_line_pointer;
- c = get_symbol_end ();
+ c = get_symbol_name (&name);
symbolp = symbol_find_or_make (name);
symbolp = symbol_find_or_make (name);
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
S_SET_EXTERNAL (symbolp);
S_SET_EXTERNAL (symbolp);
@@
-3269,7
+3262,7
@@
ecoff_directive_loc (int ignore ATTRIBUTE_UNUSED)
if (stabs_seen)
{
(void) add_ecoff_symbol ((char *) NULL, st_Label, sc_Text,
if (stabs_seen)
{
(void) add_ecoff_symbol ((char *) NULL, st_Label, sc_Text,
- symbol_new (
"L0\001"
, now_seg,
+ symbol_new (
FAKE_LABEL_NAME
, now_seg,
(valueT) frag_now_fix (),
frag_now),
(bfd_vma) 0, 0, lineno);
(valueT) frag_now_fix (),
frag_now),
(bfd_vma) 0, 0, lineno);
@@
-3331,7
+3324,7
@@
mark_stabs (int ignore ATTRIBUTE_UNUSED)
{
if (! stabs_seen)
{
{
if (! stabs_seen)
{
- /* Add a dummy @stabs
d
ymbol. */
+ /* Add a dummy @stabs
s
ymbol. */
stabs_seen = 1;
(void) add_ecoff_symbol (stabs_symbol, st_Nil, sc_Info,
(symbolS *) NULL,
stabs_seen = 1;
(void) add_ecoff_symbol (stabs_symbol, st_Nil, sc_Info,
(symbolS *) NULL,
@@
-3351,10
+3344,9
@@
ecoff_directive_weakext (int ignore ATTRIBUTE_UNUSED)
symbolS *symbolP;
expressionS exp;
symbolS *symbolP;
expressionS exp;
- name = input_line_pointer;
- c = get_symbol_end ();
+ c = get_symbol_name (&name);
symbolP = symbol_find_or_make (name);
symbolP = symbol_find_or_make (name);
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
SKIP_WHITESPACE ();
SKIP_WHITESPACE ();
@@
-3492,11
+3484,9
@@
ecoff_stab (segT sec ATTRIBUTE_UNUSED,
return;
}
return;
}
- name = input_line_pointer;
- name_end = get_symbol_end ();
-
+ name_end = get_symbol_name (&name);
sym = symbol_find_or_make (name);
sym = symbol_find_or_make (name);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
value = 0;
addend = 0;
value = 0;
addend = 0;
@@
-3589,12
+3579,12
@@
ecoff_frob_symbol (symbolS *sym)
but with the name .scommon. */
if (scom_section.name == NULL)
{
but with the name .scommon. */
if (scom_section.name == NULL)
{
- scom_section =
bfd_com_section
;
+ scom_section =
*bfd_com_section_ptr
;
scom_section.name = ".scommon";
scom_section.output_section = &scom_section;
scom_section.symbol = &scom_symbol;
scom_section.symbol_ptr_ptr = &scom_section.symbol;
scom_section.name = ".scommon";
scom_section.output_section = &scom_section;
scom_section.symbol = &scom_symbol;
scom_section.symbol_ptr_ptr = &scom_section.symbol;
- scom_symbol = *bfd_com_section
.
symbol;
+ scom_symbol = *bfd_com_section
_ptr->
symbol;
scom_symbol.name = ".scommon";
scom_symbol.section = &scom_section;
}
scom_symbol.name = ".scommon";
scom_symbol.section = &scom_section;
}
@@
-3626,7
+3616,7
@@
ecoff_add_bytes (char **buf,
if (need < PAGE_SIZE)
need = PAGE_SIZE;
want = (*bufend - *buf) + need;
if (need < PAGE_SIZE)
need = PAGE_SIZE;
want = (*bufend - *buf) + need;
- *buf =
(char *) xrealloc (
*buf, want);
+ *buf =
XRESIZEVEC (char,
*buf, want);
*bufend = *buf + want;
return *buf + at;
}
*bufend = *buf + want;
return *buf + at;
}
@@
-3670,7
+3660,7
@@
ecoff_build_lineno (const struct ecoff_debug_swap *backend,
long *linecntptr)
{
char *bufptr;
long *linecntptr)
{
char *bufptr;
-
register
lineno_list_t *l;
+ lineno_list_t *l;
lineno_list_t *last;
efdr_t *file;
proc_t *proc;
lineno_list_t *last;
efdr_t *file;
proc_t *proc;
@@
-3708,8
+3698,7
@@
ecoff_build_lineno (const struct ecoff_debug_swap *backend,
&& first_proc_ptr != (proc_t *) NULL
&& local_first_lineno != (lineno_list_t *) NULL
&& ((S_GET_VALUE (first_proc_ptr->sym->as_sym)
&& first_proc_ptr != (proc_t *) NULL
&& local_first_lineno != (lineno_list_t *) NULL
&& ((S_GET_VALUE (first_proc_ptr->sym->as_sym)
- + bfd_get_section_vma (stdoutput,
- S_GET_SEGMENT (first_proc_ptr->sym->as_sym)))
+ + bfd_section_vma (S_GET_SEGMENT (first_proc_ptr->sym->as_sym)))
!= 0))
{
first.file = local_first_lineno->file;
!= 0))
{
first.file = local_first_lineno->file;
@@
-3989,8
+3978,7
@@
ecoff_build_symbols (const struct ecoff_debug_swap *backend,
else
sym_ptr->ecoff_sym.asym.value =
(S_GET_VALUE (as_sym)
else
sym_ptr->ecoff_sym.asym.value =
(S_GET_VALUE (as_sym)
- + bfd_get_section_vma (stdoutput,
- S_GET_SEGMENT (as_sym))
+ + bfd_section_vma (S_GET_SEGMENT (as_sym))
+ sym_ptr->addend);
sym_ptr->ecoff_sym.weakext = S_IS_WEAK (as_sym);
+ sym_ptr->addend);
sym_ptr->ecoff_sym.weakext = S_IS_WEAK (as_sym);
@@
-4076,7
+4064,7
@@
ecoff_build_symbols (const struct ecoff_debug_swap *backend,
sc = sc_Bss;
else if (strcmp (segname, ".sbss") == 0)
sc = sc_SBss;
sc = sc_Bss;
else if (strcmp (segname, ".sbss") == 0)
sc = sc_SBss;
- else if (seg ==
&bfd_abs_section
)
+ else if (seg ==
bfd_abs_section_ptr
)
sc = sc_Abs;
else
{
sc = sc_Abs;
else
{
@@
-4112,10
+4100,10
@@
ecoff_build_symbols (const struct ecoff_debug_swap *backend,
/* If an st_end symbol has an associated gas
symbol, then it is a local label created for
a .bend or .end directive. Stabs line
/* If an st_end symbol has an associated gas
symbol, then it is a local label created for
a .bend or .end directive. Stabs line
- numbers will have
\001
in the names. */
+ numbers will have
FAKE_LABEL_CHAR
in the names. */
if (local
&& sym_ptr->ecoff_sym.asym.st != st_End
if (local
&& sym_ptr->ecoff_sym.asym.st != st_End
- && strchr (sym_ptr->name,
'\001'
) == 0)
+ && strchr (sym_ptr->name,
FAKE_LABEL_CHAR
) == 0)
sym_ptr->ecoff_sym.asym.iss =
add_string (&fil_ptr->strings,
fil_ptr->str_hash,
sym_ptr->ecoff_sym.asym.iss =
add_string (&fil_ptr->strings,
fil_ptr->str_hash,
@@
-4318,8
+4306,7
@@
ecoff_build_procs (const struct ecoff_debug_swap *backend,
adr_sym = proc_ptr->sym->as_sym;
adr = (S_GET_VALUE (adr_sym)
adr_sym = proc_ptr->sym->as_sym;
adr = (S_GET_VALUE (adr_sym)
- + bfd_get_section_vma (stdoutput,
- S_GET_SEGMENT (adr_sym)));
+ + bfd_section_vma (S_GET_SEGMENT (adr_sym)));
if (first)
{
/* This code used to force the adr of the very
if (first)
{
/* This code used to force the adr of the very
@@
-4595,7
+4582,7
@@
ecoff_build_fdr (const struct ecoff_debug_swap *backend,
static void
ecoff_setup_ext (void)
{
static void
ecoff_setup_ext (void)
{
-
register
symbolS *sym;
+ symbolS *sym;
for (sym = symbol_rootP; sym != (symbolS *) NULL; sym = symbol_next (sym))
{
for (sym = symbol_rootP; sym != (symbolS *) NULL; sym = symbol_next (sym))
{
@@
-4707,7
+4694,7
@@
ecoff_build_debug (HDRR *hdr,
/* Build the symbolic information. */
offset = 0;
/* Build the symbolic information. */
offset = 0;
- buf =
(char *) xmalloc (
PAGE_SIZE);
+ buf =
XNEWVEC (char,
PAGE_SIZE);
bufend = buf + PAGE_SIZE;
/* Build the line number information. */
bufend = buf + PAGE_SIZE;
/* Build the line number information. */
@@
-4791,7
+4778,7
@@
ecoff_build_debug (HDRR *hdr,
static page_type *
allocate_cluster (unsigned long npages)
{
static page_type *
allocate_cluster (unsigned long npages)
{
-
register
page_type *value = (page_type *) xmalloc (npages * PAGE_USIZE);
+ page_type *value = (page_type *) xmalloc (npages * PAGE_USIZE);
#ifdef ECOFF_DEBUG
if (debug > 3)
#ifdef ECOFF_DEBUG
if (debug > 3)
@@
-4840,7
+4827,7
@@
allocate_page (void)
static scope_t *
allocate_scope (void)
{
static scope_t *
allocate_scope (void)
{
-
register
scope_t *ptr;
+ scope_t *ptr;
static scope_t initial_scope;
#ifndef MALLOC_CHECK
static scope_t initial_scope;
#ifndef MALLOC_CHECK
@@
-4850,8
+4837,8
@@
allocate_scope (void)
alloc_counts[(int) alloc_type_scope].free_list.f_scope = ptr->free;
else
{
alloc_counts[(int) alloc_type_scope].free_list.f_scope = ptr->free;
else
{
-
register int unallocated
= alloc_counts[(int) alloc_type_scope].unallocated;
-
register page_type *cur_page
= alloc_counts[(int) alloc_type_scope].cur_page;
+
int unallocated
= alloc_counts[(int) alloc_type_scope].unallocated;
+
page_type *cur_page
= alloc_counts[(int) alloc_type_scope].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-4866,7
+4853,7
@@
allocate_scope (void)
#else
#else
- ptr =
(scope_t *) xmalloc (sizeof (scope_t)
);
+ ptr =
XNEW (scope_t
);
#endif
#endif
@@
-4895,13
+4882,13
@@
free_scope (scope_t *ptr)
static vlinks_t *
allocate_vlinks (void)
{
static vlinks_t *
allocate_vlinks (void)
{
-
register
vlinks_t *ptr;
+ vlinks_t *ptr;
static vlinks_t initial_vlinks;
#ifndef MALLOC_CHECK
static vlinks_t initial_vlinks;
#ifndef MALLOC_CHECK
-
register
int unallocated = alloc_counts[(int) alloc_type_vlinks].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_vlinks].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_vlinks].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_vlinks].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-4915,7
+4902,7
@@
allocate_vlinks (void)
#else
#else
- ptr =
(vlinks_t *) xmalloc (sizeof (vlinks_t)
);
+ ptr =
XNEW (vlinks_t
);
#endif
#endif
@@
-4929,13
+4916,13
@@
allocate_vlinks (void)
static shash_t *
allocate_shash (void)
{
static shash_t *
allocate_shash (void)
{
-
register
shash_t *ptr;
+ shash_t *ptr;
static shash_t initial_shash;
#ifndef MALLOC_CHECK
static shash_t initial_shash;
#ifndef MALLOC_CHECK
-
register
int unallocated = alloc_counts[(int) alloc_type_shash].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_shash].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_shash].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_shash].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-4949,7
+4936,7
@@
allocate_shash (void)
#else
#else
- ptr =
(shash_t *) xmalloc (sizeof (shash_t)
);
+ ptr =
XNEW (shash_t
);
#endif
#endif
@@
-4963,13
+4950,13
@@
allocate_shash (void)
static thash_t *
allocate_thash (void)
{
static thash_t *
allocate_thash (void)
{
-
register
thash_t *ptr;
+ thash_t *ptr;
static thash_t initial_thash;
#ifndef MALLOC_CHECK
static thash_t initial_thash;
#ifndef MALLOC_CHECK
-
register
int unallocated = alloc_counts[(int) alloc_type_thash].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_thash].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_thash].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_thash].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-4983,7
+4970,7
@@
allocate_thash (void)
#else
#else
- ptr =
(thash_t *) xmalloc (sizeof (thash_t)
);
+ ptr =
XNEW (thash_t
);
#endif
#endif
@@
-4997,7
+4984,7
@@
allocate_thash (void)
static tag_t *
allocate_tag (void)
{
static tag_t *
allocate_tag (void)
{
-
register
tag_t *ptr;
+ tag_t *ptr;
static tag_t initial_tag;
#ifndef MALLOC_CHECK
static tag_t initial_tag;
#ifndef MALLOC_CHECK
@@
-5007,8
+4994,8
@@
allocate_tag (void)
alloc_counts[(int) alloc_type_tag].free_list.f_tag = ptr->free;
else
{
alloc_counts[(int) alloc_type_tag].free_list.f_tag = ptr->free;
else
{
-
register
int unallocated = alloc_counts[(int) alloc_type_tag].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_tag].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_tag].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_tag].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-5023,7
+5010,7
@@
allocate_tag (void)
#else
#else
- ptr =
(tag_t *) xmalloc (sizeof (tag_t)
);
+ ptr =
XNEW (tag_t
);
#endif
#endif
@@
-5052,13
+5039,13
@@
free_tag (tag_t *ptr)
static forward_t *
allocate_forward (void)
{
static forward_t *
allocate_forward (void)
{
-
register
forward_t *ptr;
+ forward_t *ptr;
static forward_t initial_forward;
#ifndef MALLOC_CHECK
static forward_t initial_forward;
#ifndef MALLOC_CHECK
-
register
int unallocated = alloc_counts[(int) alloc_type_forward].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_forward].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_forward].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_forward].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-5072,7
+5059,7
@@
allocate_forward (void)
#else
#else
- ptr =
(forward_t *) xmalloc (sizeof (forward_t)
);
+ ptr =
XNEW (forward_t
);
#endif
#endif
@@
-5086,7
+5073,7
@@
allocate_forward (void)
static thead_t *
allocate_thead (void)
{
static thead_t *
allocate_thead (void)
{
-
register
thead_t *ptr;
+ thead_t *ptr;
static thead_t initial_thead;
#ifndef MALLOC_CHECK
static thead_t initial_thead;
#ifndef MALLOC_CHECK
@@
-5096,8
+5083,8
@@
allocate_thead (void)
alloc_counts[(int) alloc_type_thead].free_list.f_thead = ptr->free;
else
{
alloc_counts[(int) alloc_type_thead].free_list.f_thead = ptr->free;
else
{
-
register
int unallocated = alloc_counts[(int) alloc_type_thead].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_thead].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_thead].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_thead].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-5112,7
+5099,7
@@
allocate_thead (void)
#else
#else
- ptr =
(thead_t *) xmalloc (sizeof (thead_t)
);
+ ptr =
XNEW (thead_t
);
#endif
#endif
@@
-5139,13
+5126,13
@@
free_thead (thead_t *ptr)
static lineno_list_t *
allocate_lineno_list (void)
{
static lineno_list_t *
allocate_lineno_list (void)
{
-
register
lineno_list_t *ptr;
+ lineno_list_t *ptr;
static lineno_list_t initial_lineno_list;
#ifndef MALLOC_CHECK
static lineno_list_t initial_lineno_list;
#ifndef MALLOC_CHECK
-
register
int unallocated = alloc_counts[(int) alloc_type_lineno].unallocated;
-
register
page_type *cur_page = alloc_counts[(int) alloc_type_lineno].cur_page;
+ int unallocated = alloc_counts[(int) alloc_type_lineno].unallocated;
+ page_type *cur_page = alloc_counts[(int) alloc_type_lineno].cur_page;
if (unallocated == 0)
{
if (unallocated == 0)
{
@@
-5159,7
+5146,7
@@
allocate_lineno_list (void)
#else
#else
- ptr =
(lineno_list_t *) xmalloc (sizeof (lineno_list_t)
);
+ ptr =
XNEW (lineno_list_t
);
#endif
#endif
@@
-5194,10
+5181,10
@@
void
ecoff_generate_asm_lineno (void)
{
unsigned int lineno;
ecoff_generate_asm_lineno (void)
{
unsigned int lineno;
- char *filename;
+ c
onst c
har *filename;
lineno_list_t *list;
lineno_list_t *list;
-
as_where (&filename,
&lineno);
+
filename = as_where (
&lineno);
if (current_stabs_filename == (char *) NULL
|| filename_cmp (current_stabs_filename, filename))
if (current_stabs_filename == (char *) NULL
|| filename_cmp (current_stabs_filename, filename))
This page took
0.035698 seconds
and
4
git commands to generate.