OSDN Git Service

Generate BFD_RELOC_MMIX_PUSHJ_STUBBABLE for PUSHJ when possible.
authorhp <hp>
Sat, 18 Oct 2003 15:53:39 +0000 (15:53 +0000)
committerhp <hp>
Sat, 18 Oct 2003 15:53:39 +0000 (15:53 +0000)
commit9617b6d0529dc91f9ee38860c6f9d5240a5ab90b
tree45fbf23eda6cd9b46bc08334e503a928c825721e
parent52792d3a2e2d35237b2a3edf5c39332648dc527b
Generate BFD_RELOC_MMIX_PUSHJ_STUBBABLE for PUSHJ when possible.
* doc/c-mmix.texi (MMIX-Opts): Document --no-pushj-stubs and
--no-stubs.
* config/tc-mmix.c: Include limits.h.  Expand on mmix_relax_table
comment.
(expand_op, mmix_next_semicolon_is_eoln): Fix head comment.
(pushj_stubs): New variable.
(OPTION_NOPUSHJSTUBS, STATE_PUSHJSTUB, PUSHJSTUB_MIN)
(PUSHJSTUB_MAX): New macros.
(md_longopts): New options "--no-pushj-stubs" and synonym
"--no-stubs".
(mmix_relax_table): Handle new entry for STATE_PUSHJSTUB.
(md_parse_option): Handle OPTION_NOPUSHJSTUBS.
(md_estimate_size_before_relax): Modify STATE_PUSHJ state for
PUSHJ stub relaxation.
(md_convert_frag): Handle STATE_PUSHJSTUB.
(md_apply_fix3): Handle BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
(tc_gen_reloc): Ditto.
(mmix_md_relax_frag): Handle PUSHJ stub relaxation.
* config/tc-mmix.h (TC_SEGMENT_INFO_TYPE): Define.
(struct mmix_segment_info_type): New.
gas/ChangeLog
gas/config/tc-mmix.c
gas/config/tc-mmix.h
gas/doc/c-mmix.texi