mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 05:47:26 +08:00
(tc_gen_reloc): Handle the case where the reloc is the difference of two
symbols defined in the same section.
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
2005-03-03 Nick Clifton <nickc@redhat.com>
|
2005-03-03 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* config/tc-mn10200.c (tc_gen_reloc): Handle the case where the
|
||||||
|
reloc is the difference of two symbols defined in the same
|
||||||
|
section.
|
||||||
|
|
||||||
* config/tc-iq2000.c (line_comment_chars): Include the # character
|
* config/tc-iq2000.c (line_comment_chars): Include the # character
|
||||||
as otherwise this breaks #APP/#NO_APP processing.
|
as otherwise this breaks #APP/#NO_APP processing.
|
||||||
|
|
||||||
|
@ -1235,7 +1235,14 @@ tc_gen_reloc (seg, fixp)
|
|||||||
|
|
||||||
if (fixp->fx_subsy != NULL)
|
if (fixp->fx_subsy != NULL)
|
||||||
{
|
{
|
||||||
/* FIXME: We should resolve difference expressions if possible
|
if (S_GET_SEGMENT (fixp->fx_addsy) == S_GET_SEGMENT (fixp->fx_subsy)
|
||||||
|
&& S_IS_DEFINED (fixp->fx_subsy))
|
||||||
|
{
|
||||||
|
fixp->fx_offset -= S_GET_VALUE (fixp->fx_subsy);
|
||||||
|
fixp->fx_subsy = NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* FIXME: We should try more ways to resolve difference expressions
|
||||||
here. At least this is better than silently ignoring the
|
here. At least this is better than silently ignoring the
|
||||||
subtrahend. */
|
subtrahend. */
|
||||||
as_bad_where (fixp->fx_file, fixp->fx_line,
|
as_bad_where (fixp->fx_file, fixp->fx_line,
|
||||||
|
Reference in New Issue
Block a user