diff options
author | Alan Modra <amodra@gmail.com> | 2001-03-30 02:19:36 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-03-30 02:19:36 +0000 |
commit | e46d99eb07bc0e366152fe2e69c613a15496e347 (patch) | |
tree | 55c79a36f0269e43402893bb90316d29a865e26f /gas/ChangeLog | |
parent | bee723322c56ee34f9f511e901171e8ebfe5d22e (diff) | |
download | gdb-e46d99eb07bc0e366152fe2e69c613a15496e347.zip gdb-e46d99eb07bc0e366152fe2e69c613a15496e347.tar.gz gdb-e46d99eb07bc0e366152fe2e69c613a15496e347.tar.bz2 |
Multi-pass relaxation machinery.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r-- | gas/ChangeLog | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 71c790f..10403a5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,24 @@ 2001-03-30 Alan Modra <alan@linuxcare.com.au> + * frags.h (struct frag): Add last_fr_address. Reorder fields for + better packing. + * symbols.c (resolve_symbol_value): Don't fix expression values + until relaxation is complete. + (resolve_local_symbol): Pass `finalize_syms' to resolve_symbol_value. + (S_GET_VALUE): Likewise, and return unresolved expression value. + * write.c (finalize_syms): New. + (relax_and_size_seg): Split into.. + (relax_seg): New function, returns 1 if anything changed.. + (size_seg): And the remainder of relax_and_size_seg. + (fixup_segment): Arrange for final resolution of sym values. + (adjust_reloc_syms): Likewise. + (write_object_file): Likewise, and repeatedly call relax_seg until + nothing more changes. + (relax_segment): Return 1 if anything changed. Use correct types + for rs_org `target' and `after'. + * write.h (finalize_syms): Declare. + (relax_segment): Update prototype. + * config/tc-sh.c (md_estimate_size_before_relax): Add extra do-nothing cases to switch to avoid abort on a second relaxation pass, and tidy code a little. |