X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfig%2Ftc-pj.c;h=752392b6e3983a8c225821a4970d914fbe166f6e;hb=bd920864f3dc2cad376989a642ab774aef6b2fce;hp=8f49e8f70aeada8d3c1353c68934bc0890f568c4;hpb=d4f4f3fb2b6ee551c8a1255e1d3af7fcf8160487;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/tc-pj.c b/gas/config/tc-pj.c index 8f49e8f70a..752392b6e3 100644 --- a/gas/config/tc-pj.c +++ b/gas/config/tc-pj.c @@ -1,6 +1,5 @@ /* tc-pj.c -- Assemble code for Pico Java - Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2007, 2009 - Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -97,7 +96,8 @@ parse_exp_save_ilp (char *s, expressionS *op) we want to handle magic pending reloc expressions specially. */ void -pj_cons_fix_new_pj (fragS *frag, int where, int nbytes, expressionS *exp) +pj_cons_fix_new_pj (fragS *frag, int where, int nbytes, expressionS *exp, + bfd_reloc_code_real_type r ATTRIBUTE_UNUSED) { static int rv[5][2] = { { 0, 0 }, @@ -171,7 +171,7 @@ static void fake_opcode (const char *name, void (*func) (struct pj_opc_info_t *, char *)) { - pj_opc_info_t * fake = xmalloc (sizeof (pj_opc_info_t)); + pj_opc_info_t * fake = XNEW (pj_opc_info_t); fake->opcode = -1; fake->opcode_next = -1; @@ -286,7 +286,7 @@ md_assemble (char *str) op_end++; if (*op_end == 0) - as_bad (_("expected expresssion")); + as_bad (_("expected expression")); op_end = parse_exp_save_ilp (op_end, &arg); @@ -313,7 +313,7 @@ md_assemble (char *str) as_bad (_("Something forgot to clean up\n")); } -char * +const char * md_atof (int type, char *litP, int *sizeP) { return ieee_md_atof (type, litP, sizeP, target_big_endian); @@ -333,7 +333,7 @@ struct option md_longopts[] = size_t md_longopts_size = sizeof (md_longopts); int -md_parse_option (int c, char *arg ATTRIBUTE_UNUSED) +md_parse_option (int c, const char *arg ATTRIBUTE_UNUSED) { switch (c) { @@ -366,10 +366,8 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED) char *buf = fixP->fx_where + fixP->fx_frag->fr_literal; long val = *valP; long max, min; - int shift; max = min = 0; - shift = 0; switch (fixP->fx_r_type) { case BFD_RELOC_VTABLE_INHERIT: @@ -442,6 +440,10 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED) } break; + case BFD_RELOC_PJ_CODE_REL32: + fixP->fx_done = 0; + return; + default: abort (); } @@ -474,8 +476,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) arelent *rel; bfd_reloc_code_real_type r_type; - rel = xmalloc (sizeof (arelent)); - rel->sym_ptr_ptr = xmalloc (sizeof (asymbol *)); + rel = XNEW (arelent); + rel->sym_ptr_ptr = XNEW (asymbol *); *rel->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); rel->address = fixp->fx_frag->fr_address + fixp->fx_where;