diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/cgen.c | 5 | ||||
-rw-r--r-- | gas/cgen.h | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 1bcd103..b056c70 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2001-12-17 Nick Clifton <nickc@cambridge.redhat.com> + + * cgen.c: Add prototype for queue_fixup. + (gas_cgen_parse_operand): Move initilisastion of errmsg to avoid + possible longjmp corruption. + * cgen.h: Add prototype for gas_cgen_md_operand. + 2001-12-15 Alan Modra <amodra@bigpond.net.au> * config/obj-elf.c (obj_elf_init_stab_section): References are @@ -29,6 +29,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "cgen.h" #include "dwarf2dbg.h" +static void queue_fixup PARAMS ((int, int, expressionS *)); + /* Opcode table descriptor, must be set by md_begin. */ CGEN_CPU_DESC gas_cgen_cpu_desc; @@ -322,7 +324,7 @@ gas_cgen_parse_operand (cd, want, strP, opindex, opinfo, resultP, valueP) static char *hold; static enum cgen_parse_operand_result *resultP_1; #endif - const char *errmsg = NULL; + const char *errmsg; expressionS exp; if (want == CGEN_PARSE_OPERAND_INIT) @@ -348,6 +350,7 @@ gas_cgen_parse_operand (cd, want, strP, opindex, opinfo, resultP, valueP) expr_jmp_buf_p = 1; expression (&exp); expr_jmp_buf_p = 0; + errmsg = NULL; *strP = input_line_pointer; input_line_pointer = hold; @@ -96,4 +96,6 @@ md_cgen_record_fixup_exp PARAMS ((fragS *, int, const CGEN_INSN *, int, const CGEN_OPERAND *, int, expressionS *)); +extern void gas_cgen_md_operand PARAMS ((expressionS *)); + #endif /* GAS_CGEN_H */ |