diff options
author | Tristan Gingold <gingold@adacore.com> | 2011-07-29 07:34:14 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2011-07-29 07:34:14 +0000 |
commit | 69b1d6052dac8093cb7e374729350eb1867be02c (patch) | |
tree | 61d7a723d493ac50e6ab5e24fd4d19b76142def4 /gas/frags.c | |
parent | c6198f6215691a4f89119a0e4f687445b5e2d7e4 (diff) | |
download | gdb-69b1d6052dac8093cb7e374729350eb1867be02c.zip gdb-69b1d6052dac8093cb7e374729350eb1867be02c.tar.gz gdb-69b1d6052dac8093cb7e374729350eb1867be02c.tar.bz2 |
2011-07-29 Tristan Gingold <gingold@adacore.com>
* frags.c (frag_var_init): New function.
(frag_var): Call frag_var_init to initialize.
(frag_variant): Ditto.
Diffstat (limited to 'gas/frags.c')
-rw-r--r-- | gas/frags.c | 62 |
1 files changed, 30 insertions, 32 deletions
diff --git a/gas/frags.c b/gas/frags.c index fe3b4cc..a6553bb 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. */ |