* write.c (write_object_file): Recognize warning-symbol construct
and skip object- and target- handling for the second symbol.
This commit is contained in:
parent
769946806e
commit
aaac53f5a1
|
@ -1,3 +1,8 @@
|
||||||
|
2005-02-07 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
|
* write.c (write_object_file): Recognize warning-symbol construct
|
||||||
|
and skip object- and target- handling for the second symbol.
|
||||||
|
|
||||||
2005-02-02 Jan Beulich <jbeulich@novell.com>
|
2005-02-02 Jan Beulich <jbeulich@novell.com>
|
||||||
|
|
||||||
* config/tc-ia64.c (dot_pred_rel): Update comment. Handle @-prefixed
|
* config/tc-ia64.c (dot_pred_rel): Update comment. Handle @-prefixed
|
||||||
|
|
16
gas/write.c
16
gas/write.c
|
@ -1882,12 +1882,22 @@ write_object_file (void)
|
||||||
if (symbol_rootP)
|
if (symbol_rootP)
|
||||||
{
|
{
|
||||||
symbolS *symp;
|
symbolS *symp;
|
||||||
|
bfd_boolean skip_next_symbol = FALSE;
|
||||||
|
|
||||||
for (symp = symbol_rootP; symp; symp = symbol_next (symp))
|
for (symp = symbol_rootP; symp; symp = symbol_next (symp))
|
||||||
{
|
{
|
||||||
int punt = 0;
|
int punt = 0;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
||||||
|
if (skip_next_symbol)
|
||||||
|
{
|
||||||
|
/* Don't do anything besides moving the value of the
|
||||||
|
symbol from the GAS value-field to the BFD value-field. */
|
||||||
|
symbol_get_bfdsym (symp)->value = S_GET_VALUE (symp);
|
||||||
|
skip_next_symbol = FALSE;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (symbol_mri_common_p (symp))
|
if (symbol_mri_common_p (symp))
|
||||||
{
|
{
|
||||||
if (S_IS_EXTERNAL (symp))
|
if (S_IS_EXTERNAL (symp))
|
||||||
|
@ -1972,6 +1982,12 @@ write_object_file (void)
|
||||||
/* Set the value into the BFD symbol. Up til now the value
|
/* Set the value into the BFD symbol. Up til now the value
|
||||||
has only been kept in the gas symbolS struct. */
|
has only been kept in the gas symbolS struct. */
|
||||||
symbol_get_bfdsym (symp)->value = S_GET_VALUE (symp);
|
symbol_get_bfdsym (symp)->value = S_GET_VALUE (symp);
|
||||||
|
|
||||||
|
/* A warning construct is a warning symbol followed by the
|
||||||
|
symbol warned about. Don't let anything object-format or
|
||||||
|
target-specific muck with it; it's ready for output. */
|
||||||
|
if (symbol_get_bfdsym (symp)->flags & BSF_WARNING)
|
||||||
|
skip_next_symbol = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue