mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-03 07:21:58 +00:00
Fix mips16 testsuite failure by allowing finalize_syms to be set before
size_segs is called.
This commit is contained in:
parent
d81420d233
commit
8754881645
@ -1,3 +1,13 @@
|
|||||||
|
2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
|
||||||
|
|
||||||
|
* write.c (TC_FINALIZE_SYMS_BEFORE_SIZE_SEG): Default to 1.
|
||||||
|
(write_object_file): Set finalize_syms to
|
||||||
|
TC_FINALIZE_SYMS_BEFORE_SIZE_SEG just before size_segs is
|
||||||
|
called.
|
||||||
|
|
||||||
|
* doc/internals.texi; Document
|
||||||
|
TC_FINALIZE_SYMS_BEFORE_SIZE_SEG.
|
||||||
|
|
||||||
2001-07-02 Alan Modra <amodra@bigpond.net.au>
|
2001-07-02 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* config/tc-ppc.c: Formatting fixes.
|
* config/tc-ppc.c: Formatting fixes.
|
||||||
|
@ -1224,6 +1224,17 @@ The instruction is completed using the data from the relaxation pass.
|
|||||||
It may also create any necessary relocations.
|
It may also create any necessary relocations.
|
||||||
@xref{Relaxation}.
|
@xref{Relaxation}.
|
||||||
|
|
||||||
|
@item TC_FINALIZE_SYMS_BEFORE_SIZE_SEG
|
||||||
|
@cindex TC_FINALIZE_SYMS_BEFORE_SIZE_SEG
|
||||||
|
Specifies the value to be assigned to @code{finalize_syms} before the function
|
||||||
|
@code{size_segs} is called. Since @code{size_segs} calls @code{cvt_frag_to_fill}
|
||||||
|
which can call @code{md_convert_frag}, this constant governs whether the symbols
|
||||||
|
accessed in @code{md_convert_frag} will be fully resolved. In particular it
|
||||||
|
governs whether local symbols will have been resolved, and had their frag
|
||||||
|
information removed. Depending upon the processing performed by
|
||||||
|
@code{md_convert_frag} the frag information may or may not be necessary, as may
|
||||||
|
the resolved values of the symbols. The default value is 1.
|
||||||
|
|
||||||
@item md_apply_fix
|
@item md_apply_fix
|
||||||
@cindex md_apply_fix
|
@cindex md_apply_fix
|
||||||
GAS will call this for each fixup. It should store the correct value in the
|
GAS will call this for each fixup. It should store the correct value in the
|
||||||
|
16
gas/write.c
16
gas/write.c
@ -52,6 +52,10 @@
|
|||||||
#define TC_FIX_ADJUSTABLE(fix) 1
|
#define TC_FIX_ADJUSTABLE(fix) 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef TC_FINALIZE_SYMS_BEFORE_SIZE_SEG
|
||||||
|
#define TC_FINALIZE_SYMS_BEFORE_SIZE_SEG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef MD_PCREL_FROM_SECTION
|
#ifndef MD_PCREL_FROM_SECTION
|
||||||
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from(FIXP)
|
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from(FIXP)
|
||||||
#endif
|
#endif
|
||||||
@ -1575,9 +1579,15 @@ write_object_file ()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note - we do not set finalize_syms here because some targets
|
/* Note - Most ports will use the default value of
|
||||||
do not finish sizing all of their frags until after size_seg
|
TC_FINALIZE_SYMS_BEFORE_SIZE_SEG, which 1. This will force
|
||||||
has completed. */
|
local symbols to be resolved, removing their frag information.
|
||||||
|
Some ports however, will not have finished relaxing all of
|
||||||
|
their frags and will still need the local symbol frag
|
||||||
|
information. These ports can set
|
||||||
|
TC_FINALIZE_SYMS_BEFORE_SIZE_SEG to 0. */
|
||||||
|
finalize_syms = TC_FINALIZE_SYMS_BEFORE_SIZE_SEG;
|
||||||
|
|
||||||
bfd_map_over_sections (stdoutput, size_seg, (char *) 0);
|
bfd_map_over_sections (stdoutput, size_seg, (char *) 0);
|
||||||
#else
|
#else
|
||||||
relax_and_size_all_segments ();
|
relax_and_size_all_segments ();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user