diff options
author | Ken Raeburn <raeburn@cygnus> | 1995-10-18 21:23:09 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1995-10-18 21:23:09 +0000 |
commit | 3366a224ebed7190d58162735e1adbcc3e17bdec (patch) | |
tree | d2fbbeffa459c8e7e67ee006bfd5b049b899634b /gas | |
parent | d19dcb671529004ecd8a06e38a00d9b8fb380ccd (diff) | |
download | ppe42-binutils-3366a224ebed7190d58162735e1adbcc3e17bdec.tar.gz ppe42-binutils-3366a224ebed7190d58162735e1adbcc3e17bdec.zip |
obstack-per-frchain changes
stabs.c caching changes
obstack chunksize changes
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index f39ca0f4ae..b6ccbd6b4b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,51 @@ Wed Oct 18 13:20:32 1995 Ken Raeburn <raeburn@cygnus.com> + * Use one active frag and one obstack per frag chain: + * frags.c (frags): Variable deleted. + (frag_alloc): New function. + (frag_grow, frag_more, frag_variant, frag_now_fix, + frag_append_1_char): Refer to frchain_now->frch_obstack instead of + frags variable. + (frag_new): Ditto. Verify that frch_last and frag_now match on + entry and exit, and that old frag_now has non-zero type. Replace + "know" uses with "assert". Use frag_alloc instead of mucking with + obstack alignment. + * frags.h (frags): Declaration deleted. + * subsegs.h (struct frchain): Add new field frch_frag_now. + * subsegs.c (frchains, dummy_frag, absolute_frchain): New static + variables. + (subsegs_begin): Initialize frchains obstack. Under gcc, don't + give it any stricter alignment than frchainS structures need. Do + not initialize frags obstack. Set frag_now to point to + dummy_obstack. Initialize absolute_frchain. + (subseg_set_rest): Save and restore frag_now in frch_frag_now + field of frchainS. Don't create new frags on section switch, and + use frag_alloc when creating a new frag chain. For absolute + section, set frchain_now to absolute_frchain. Verify that + frch_last and frag_now match on entry and exit. Initialize + per-chain obstack, and under gcc, set required alignment to that + needed by fragS structure. + * write.c (chain_frchains_together_1): Verify fr_type is nonzero. + + * stabs.c (get_stab_string_offset): Only copy input string if a + fresh copy is needed, not if the section already exists. + (s_stab_generic): Cache stab section name to bypass lookups, since + usually it will match. Could be made faster still by changing the + memory allocation rules. + (s_xstab): Cache section name to bypass repeated string + allocation. + + * frags.c (frag_new): Deleted register declarations. + + * listing.c (frag_now): Don't declare. + + * as.c (chunksize): New variable. + (debug_memory): New variable. + (main): If debug_memory is set, reduce chunksize and + _bfd_chunksize. + * as.h (chunksize): Declare it. + * read.c (read_begin): Use it. + * config/tc-alpha.c (md_shortopts): Include 'g'. (md_parse_option): Ignore it. |