*** empty log message ***
This commit is contained in:
parent
4e41b5aa40
commit
4fed881829
1 changed files with 270 additions and 262 deletions
|
@ -158,8 +158,8 @@ const pseudo_typeS obj_pseudo_table[] = {
|
|||
{ "section", obj_coff_section, 0 },
|
||||
{ "text", obj_coff_text, 0 },
|
||||
{ "data", obj_coff_data, 0 },
|
||||
|
||||
{ "ident", s_ignore, 0 }, /* we don't yet handle this. */
|
||||
/* we don't yet handle this. */
|
||||
{ "ident", s_ignore, 0 },
|
||||
{ "ABORT", s_abort, 0 },
|
||||
{ "lcomm", obj_coff_lcomm, 0},
|
||||
{ NULL} /* end sentinel */
|
||||
|
@ -422,13 +422,14 @@ static void DEFUN(fill_section,(abfd, filehdr, file_cursor),
|
|||
unsigned int i;
|
||||
unsigned int paddr = 0;
|
||||
|
||||
for (i = SEG_E0; i < SEG_UNKNOWN; i++) {
|
||||
for (i = SEG_E0; i < SEG_UNKNOWN; i++)
|
||||
{
|
||||
unsigned int offset = 0;
|
||||
|
||||
|
||||
struct internal_scnhdr *s = &( segment_info[i].scnhdr);
|
||||
|
||||
if (s->s_name[0]) {
|
||||
if (s->s_name[0])
|
||||
{
|
||||
fragS *frag = segment_info[i].frchainP->frch_root;
|
||||
char *buffer = malloc(s->s_size);
|
||||
s->s_scnptr = *file_cursor;
|
||||
|
@ -703,8 +704,9 @@ static void obj_coff_ln() {
|
|||
*input_line_pointer == '\t') \
|
||||
input_line_pointer++;
|
||||
|
||||
static void obj_coff_def(what)
|
||||
int what;
|
||||
static void
|
||||
DEFUN(obj_coff_def,(what),
|
||||
int what)
|
||||
{
|
||||
char name_end; /* Char after the end of name */
|
||||
char *symbol_name; /* Name of the debug symbol */
|
||||
|
@ -755,7 +757,9 @@ int what;
|
|||
} /* obj_coff_def() */
|
||||
|
||||
unsigned int dim_index;
|
||||
static void obj_coff_endef() {
|
||||
static void
|
||||
DEFUN_VOID(obj_coff_endef)
|
||||
{
|
||||
symbolS *symbolP = 0;
|
||||
/* DIM BUG FIX sac@cygnus.com */
|
||||
dim_index =0;
|
||||
|
@ -909,11 +913,13 @@ static void obj_coff_endef() {
|
|||
return;
|
||||
} /* obj_coff_endef() */
|
||||
|
||||
static void obj_coff_dim()
|
||||
static void
|
||||
DEFUN_VOID(obj_coff_dim)
|
||||
{
|
||||
register int dim_index;
|
||||
|
||||
if (def_symbol_in_progress == NULL) {
|
||||
if (def_symbol_in_progress == NULL)
|
||||
{
|
||||
as_warn(".dim pseudo-op used outside of .def/.endef: ignored.");
|
||||
demand_empty_rest_of_line();
|
||||
return;
|
||||
|
@ -921,11 +927,13 @@ static void obj_coff_dim()
|
|||
|
||||
S_SET_NUMBER_AUXILIARY(def_symbol_in_progress, 1);
|
||||
|
||||
for (dim_index = 0; dim_index < DIMNUM; dim_index++) {
|
||||
for (dim_index = 0; dim_index < DIMNUM; dim_index++)
|
||||
{
|
||||
SKIP_WHITESPACES();
|
||||
SA_SET_SYM_DIMEN(def_symbol_in_progress, dim_index, get_absolute_expression());
|
||||
|
||||
switch (*input_line_pointer) {
|
||||
switch (*input_line_pointer)
|
||||
{
|
||||
|
||||
case ',':
|
||||
input_line_pointer++;
|
||||
|
@ -1269,10 +1277,12 @@ static unsigned int DEFUN_VOID(yank_symbols)
|
|||
/* next pointer remains valid */
|
||||
symbol_remove(symbolP, &symbol_rootP, &symbol_lastP);
|
||||
|
||||
} else if (!S_IS_DEFINED(symbolP)
|
||||
}
|
||||
else if (!S_IS_DEFINED(symbolP)
|
||||
&& !S_IS_DEBUG(symbolP)
|
||||
&& !SF_GET_STATICS(symbolP)) {
|
||||
/* S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP)) { */
|
||||
&& !SF_GET_STATICS(symbolP) &&
|
||||
S_GET_STORAGE_CLASS(symbolP) == C_EXT)
|
||||
{ /* C_EXT && !SF_GET_FUNCTION(symbolP)) */
|
||||
/* if external, Remove from the list */
|
||||
symbolS *hold = symbol_previous(symbolP);
|
||||
|
||||
|
@ -1348,7 +1358,8 @@ static unsigned int DEFUN_VOID(tie_tags)
|
|||
|
||||
}
|
||||
|
||||
static void DEFUN(crawl_symbols,(headers, abfd),
|
||||
static void
|
||||
DEFUN(crawl_symbols,(headers, abfd),
|
||||
struct internal_filehdr *headers AND
|
||||
bfd *abfd)
|
||||
{
|
||||
|
@ -1363,7 +1374,10 @@ static void DEFUN(crawl_symbols,(headers, abfd),
|
|||
|
||||
block_stack = stack_init(512, sizeof(symbolS*));
|
||||
/* JF deal with forward references first... */
|
||||
for (symbolP = symbol_rootP; symbolP; symbolP = symbol_next(symbolP)) {
|
||||
for (symbolP = symbol_rootP;
|
||||
symbolP;
|
||||
symbolP = symbol_next(symbolP))
|
||||
{
|
||||
|
||||
if (symbolP->sy_forward) {
|
||||
S_SET_VALUE(symbolP, (S_GET_VALUE(symbolP)
|
||||
|
@ -1505,14 +1519,7 @@ DEFUN(do_linenos_for,(abfd, file_cursor),
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* comment-column: 0
|
||||
* fill-column: 131
|
||||
* End:
|
||||
*/
|
||||
|
||||
/* end of obj-coff.c */
|
||||
/* Now we run through the list of frag chains in a segment and
|
||||
make all the subsegment frags appear at the end of the
|
||||
list, as if the seg 0 was extra long */
|
||||
|
@ -2104,3 +2111,4 @@ segT this_segment_type)
|
|||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue