* config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If

sub_symbolP is in the current segment, convert to a PC-relative
	fixup and discard the symbol.
(Copied from write.c.)
This commit is contained in:
Ken Raeburn 1993-10-13 20:54:03 +00:00
parent 98b5caadf3
commit 56f61233b2

View file

@ -2497,6 +2497,19 @@ DEFUN (fixup_segment, (segP, this_segment_type),
{
add_number -= S_GET_VALUE (sub_symbolP);
}
#ifdef DIFF_EXPR_OK
else if (!pcrel
&& S_GET_SEGMENT (sub_symbolP) == this_segment_type)
{
/* Make it pc-relative. */
add_number += (md_pcrel_from (fixP)
- S_GET_VALUE (sub_symbolP));
pcrel = 1;
fixP->fx_pcrel = 1;
sub_symbolP = 0;
fixP->fx_subsy = 0;
}
#endif
else
{
as_bad ("Can't emit reloc {- %s-seg symbol \"%s\"} @ file address %ld.",