From 69b1d6052dac8093cb7e374729350eb1867be02c Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 29 Jul 2011 07:34:14 +0000 Subject: [PATCH] 2011-07-29 Tristan Gingold * frags.c (frag_var_init): New function. (frag_var): Call frag_var_init to initialize. (frag_variant): Ditto. --- gas/ChangeLog | 6 +++++ gas/frags.c | 62 +++++++++++++++++++++++++-------------------------- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index eff3b25e278..e91a35aded9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2011-07-29 Tristan Gingold + + * frags.c (frag_var_init): New function. + (frag_var): Call frag_var_init to initialize. + (frag_variant): Ditto. + 2011-07-27 Nathan Sidwell * dwarf2dbg.c (out_debug_line): Ignore non-normal segments, with a diff --git a/gas/frags.c b/gas/frags.c index fe3b4cced21..a6553bb3baa 100644 --- a/gas/frags.c +++ b/gas/frags.c @@ -193,22 +193,14 @@ frag_more (int nchars) return (retval); } -/* Start a new frag unless we have max_chars more chars of room in the - current frag. Close off the old frag with a .fill 0. +/* Close the current frag, setting its fields for a relaxable frag. Start a + new frag. */ - Set up a machine_dependent relaxable frag, then start a new frag. - Return the address of the 1st char of the var part of the old frag - to write into. */ - -char * -frag_var (relax_stateT type, int max_chars, int var, relax_substateT subtype, - symbolS *symbol, offsetT offset, char *opcode) +static void +frag_var_init (relax_stateT type, int max_chars, int var, + relax_substateT subtype, symbolS *symbol, offsetT offset, + char *opcode) { - register char *retval; - - frag_grow (max_chars); - retval = obstack_next_free (&frchain_now->frch_obstack); - obstack_blank_fast (&frchain_now->frch_obstack, max_chars); frag_now->fr_var = var; frag_now->fr_type = type; frag_now->fr_subtype = subtype; @@ -224,8 +216,28 @@ frag_var (relax_stateT type, int max_chars, int var, relax_substateT subtype, TC_FRAG_INIT (frag_now); #endif as_where (&frag_now->fr_file, &frag_now->fr_line); + frag_new (max_chars); - return (retval); +} + +/* Start a new frag unless we have max_chars more chars of room in the + current frag. Close off the old frag with a .fill 0. + + Set up a machine_dependent relaxable frag, then start a new frag. + Return the address of the 1st char of the var part of the old frag + to write into. */ + +char * +frag_var (relax_stateT type, int max_chars, int var, relax_substateT subtype, + symbolS *symbol, offsetT offset, char *opcode) +{ + register char *retval; + + frag_grow (max_chars); + retval = obstack_next_free (&frchain_now->frch_obstack); + obstack_blank_fast (&frchain_now->frch_obstack, max_chars); + frag_var_init (type, max_chars, var, subtype, symbol, offset, opcode); + return retval; } /* OVE: This variant of frag_var assumes that space for the tail has been @@ -240,23 +252,9 @@ frag_variant (relax_stateT type, int max_chars, int var, register char *retval; retval = obstack_next_free (&frchain_now->frch_obstack); - frag_now->fr_var = var; - frag_now->fr_type = type; - frag_now->fr_subtype = subtype; - frag_now->fr_symbol = symbol; - frag_now->fr_offset = offset; - frag_now->fr_opcode = opcode; -#ifdef USING_CGEN - frag_now->fr_cgen.insn = 0; - frag_now->fr_cgen.opindex = 0; - frag_now->fr_cgen.opinfo = 0; -#endif -#ifdef TC_FRAG_INIT - TC_FRAG_INIT (frag_now); -#endif - as_where (&frag_now->fr_file, &frag_now->fr_line); - frag_new (max_chars); - return (retval); + frag_var_init (type, max_chars, var, subtype, symbol, offset, opcode); + + return retval; } /* Reduce the variable end of a frag to a harmless state. */ -- 2.30.2