* aoutx.h (aout_link_write_symbols): Rename skip_indirect to
skip_next. If we find an N_WARNING symbol which has already been written out, set skip_next. PR 5634.
This commit is contained in:
parent
f69ecb9c9a
commit
ab0434c26d
|
@ -18,6 +18,10 @@ Wed Sep 14 15:37:19 1994 Jeff Law (law@snake.cs.utah.edu)
|
||||||
|
|
||||||
Wed Sep 14 15:06:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
Wed Sep 14 15:06:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||||||
|
|
||||||
|
* aoutx.h (aout_link_write_symbols): Rename skip_indirect to
|
||||||
|
skip_next. If we find an N_WARNING symbol which has already been
|
||||||
|
written out, set skip_next.
|
||||||
|
|
||||||
* libecoff.h (struct ecoff_tdata): Add field find_buffer.
|
* libecoff.h (struct ecoff_tdata): Add field find_buffer.
|
||||||
* ecoff.c: Include aout/stab_gnu.h.
|
* ecoff.c: Include aout/stab_gnu.h.
|
||||||
(ecoff_find_nearest_line): Handle stabs debugging information.
|
(ecoff_find_nearest_line): Handle stabs debugging information.
|
||||||
|
|
15
bfd/aoutx.h
15
bfd/aoutx.h
|
@ -3609,7 +3609,7 @@ aout_link_write_symbols (finfo, input_bfd)
|
||||||
struct aout_link_hash_entry **sym_hash;
|
struct aout_link_hash_entry **sym_hash;
|
||||||
int *symbol_map;
|
int *symbol_map;
|
||||||
boolean pass;
|
boolean pass;
|
||||||
boolean skip_indirect;
|
boolean skip_next;
|
||||||
|
|
||||||
output_bfd = finfo->output_bfd;
|
output_bfd = finfo->output_bfd;
|
||||||
sym_count = obj_aout_external_sym_count (input_bfd);
|
sym_count = obj_aout_external_sym_count (input_bfd);
|
||||||
|
@ -3644,7 +3644,7 @@ aout_link_write_symbols (finfo, input_bfd)
|
||||||
}
|
}
|
||||||
|
|
||||||
pass = false;
|
pass = false;
|
||||||
skip_indirect = false;
|
skip_next = false;
|
||||||
sym = obj_aout_external_syms (input_bfd);
|
sym = obj_aout_external_syms (input_bfd);
|
||||||
sym_end = sym + sym_count;
|
sym_end = sym + sym_count;
|
||||||
sym_hash = obj_aout_sym_hashes (input_bfd);
|
sym_hash = obj_aout_sym_hashes (input_bfd);
|
||||||
|
@ -3673,12 +3673,12 @@ aout_link_write_symbols (finfo, input_bfd)
|
||||||
val = GET_WORD (input_bfd, sym->e_value);
|
val = GET_WORD (input_bfd, sym->e_value);
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
else if (skip_indirect)
|
else if (skip_next)
|
||||||
{
|
{
|
||||||
/* Skip this symbol, which is the target of an indirect
|
/* Skip this symbol, which is the target of an indirect
|
||||||
symbol that we have changed to no longer be an indirect
|
symbol that we have changed to no longer be an indirect
|
||||||
symbol. */
|
symbol. */
|
||||||
skip_indirect = false;
|
skip_next = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3713,8 +3713,9 @@ aout_link_write_symbols (finfo, input_bfd)
|
||||||
&& h->root.type != bfd_link_hash_warning
|
&& h->root.type != bfd_link_hash_warning
|
||||||
&& h->written)
|
&& h->written)
|
||||||
{
|
{
|
||||||
if ((type & N_TYPE) == N_INDR)
|
if ((type & N_TYPE) == N_INDR
|
||||||
skip_indirect = true;
|
|| type == N_WARNING)
|
||||||
|
skip_next = true;
|
||||||
*symbol_map = h->indx;
|
*symbol_map = h->indx;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -3785,7 +3786,7 @@ aout_link_write_symbols (finfo, input_bfd)
|
||||||
a case we do not want to output the next symbol,
|
a case we do not want to output the next symbol,
|
||||||
which is the target of the indirection. */
|
which is the target of the indirection. */
|
||||||
if ((type & N_TYPE) == N_INDR)
|
if ((type & N_TYPE) == N_INDR)
|
||||||
skip_indirect = true;
|
skip_next = true;
|
||||||
|
|
||||||
symsec = NULL;
|
symsec = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue