* ecoff.c (ecoff_build_lineno): Don't try to store the address
difference if the next address is before the current one.
This commit is contained in:
parent
011d16ac04
commit
c15ea23aaf
@ -1,5 +1,8 @@
|
|||||||
Wed Feb 7 14:12:03 1996 Ian Lance Taylor <ian@cygnus.com>
|
Wed Feb 7 14:12:03 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* ecoff.c (ecoff_build_lineno): Don't try to store the address
|
||||||
|
difference if the next address is before the current one.
|
||||||
|
|
||||||
* config/tc-m68k.c (struct m68k_cpu): Add alias field.
|
* config/tc-m68k.c (struct m68k_cpu): Add alias field.
|
||||||
(archs): Initialize new field.
|
(archs): Initialize new field.
|
||||||
(m68k_ip): Don't list alias names when listing CPUs which support
|
(m68k_ip): Don't list alias names when listing CPUs which support
|
||||||
|
28
gas/ecoff.c
28
gas/ecoff.c
@ -2134,6 +2134,7 @@ add_procedure (func)
|
|||||||
{
|
{
|
||||||
register varray_t *vp;
|
register varray_t *vp;
|
||||||
register proc_t *new_proc_ptr;
|
register proc_t *new_proc_ptr;
|
||||||
|
symbolS *sym;
|
||||||
|
|
||||||
#ifdef ECOFF_DEBUG
|
#ifdef ECOFF_DEBUG
|
||||||
if (debug)
|
if (debug)
|
||||||
@ -2160,10 +2161,13 @@ add_procedure (func)
|
|||||||
new_proc_ptr->pdr.lnLow = -1;
|
new_proc_ptr->pdr.lnLow = -1;
|
||||||
new_proc_ptr->pdr.lnHigh = -1;
|
new_proc_ptr->pdr.lnHigh = -1;
|
||||||
|
|
||||||
|
/* Set the BSF_FUNCTION flag for the symbol. */
|
||||||
|
sym = symbol_find_or_make (func);
|
||||||
|
sym->bsym->flags |= BSF_FUNCTION;
|
||||||
|
|
||||||
/* Push the start of the function. */
|
/* Push the start of the function. */
|
||||||
new_proc_ptr->sym = add_ecoff_symbol ((const char *) NULL, st_Proc, sc_Text,
|
new_proc_ptr->sym = add_ecoff_symbol ((const char *) NULL, st_Proc, sc_Text,
|
||||||
symbol_find_or_make (func),
|
sym, (bfd_vma) 0, (symint_t) 0,
|
||||||
(bfd_vma) 0, (symint_t) 0,
|
|
||||||
(symint_t) 0);
|
(symint_t) 0);
|
||||||
|
|
||||||
++proc_cnt;
|
++proc_cnt;
|
||||||
@ -3746,16 +3750,17 @@ ecoff_build_lineno (backend, buf, bufend, offset, linecntptr)
|
|||||||
before it is used. */
|
before it is used. */
|
||||||
count = 1;
|
count = 1;
|
||||||
}
|
}
|
||||||
else
|
else if (l->next->frag->fr_address + l->next->paddr
|
||||||
|
> l->frag->fr_address + l->paddr)
|
||||||
{
|
{
|
||||||
count = ((l->next->frag->fr_address + l->next->paddr
|
count = ((l->next->frag->fr_address + l->next->paddr
|
||||||
- (l->frag->fr_address + l->paddr))
|
- (l->frag->fr_address + l->paddr))
|
||||||
>> 2);
|
>> 2);
|
||||||
if (count <= 0)
|
}
|
||||||
{
|
else
|
||||||
/* Don't change last, so we still get the right delta. */
|
{
|
||||||
continue;
|
/* Don't change last, so we still get the right delta. */
|
||||||
}
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (l->file != file || l->proc != proc)
|
if (l->file != file || l->proc != proc)
|
||||||
@ -4058,6 +4063,9 @@ ecoff_build_symbols (backend, buf, bufend, offset)
|
|||||||
sym_ptr->ecoff_sym.asym.value =
|
sym_ptr->ecoff_sym.asym.value =
|
||||||
as_sym->ecoff_extern_size;
|
as_sym->ecoff_extern_size;
|
||||||
}
|
}
|
||||||
|
#ifdef S_SET_SIZE
|
||||||
|
S_SET_SIZE (as_sym, as_sym->ecoff_extern_size);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (S_IS_COMMON (as_sym))
|
else if (S_IS_COMMON (as_sym))
|
||||||
{
|
{
|
||||||
@ -4175,6 +4183,10 @@ ecoff_build_symbols (backend, buf, bufend, offset)
|
|||||||
sym_ptr->ecoff_sym.asym.value =
|
sym_ptr->ecoff_sym.asym.value =
|
||||||
(S_GET_VALUE (as_sym)
|
(S_GET_VALUE (as_sym)
|
||||||
- S_GET_VALUE (begin_ptr->as_sym));
|
- S_GET_VALUE (begin_ptr->as_sym));
|
||||||
|
#ifdef S_SET_SIZE
|
||||||
|
S_SET_SIZE (begin_ptr->as_sym,
|
||||||
|
sym_ptr->ecoff_sym.asym.value);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (begin_type == st_Block
|
else if (begin_type == st_Block
|
||||||
&& sym_ptr->ecoff_sym.asym.sc != (int) sc_Info)
|
&& sym_ptr->ecoff_sym.asym.sc != (int) sc_Info)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user