3 * config/tc-arm.c (s_ltorg): Call make_mapping_symbol
4 directly instead of mapping_state.
8 * config/tc-mips.c (options): Add OPTION_XPA and OPTION_NO_XPA.
9 (md_longopts): Add xpa and no-xpa command line options.
10 (mips_ases): Add MIPS XPA ASE.
11 (mips_cpu_info_table): Update p5600 entry to allow the XPA ASE.
12 * doc/as.texinfo: Document the MIPS XPA command line options.
13 * doc/c-mips.texi: Document the MIPS XPA command line options,
14 and assembler directives.
18 * config/tc-nios2.c (nios2_consume_arg): Add case for 'E' to
19 unbreak self-test mode.
23 * config/tc-xtensa.c (xtensa_handle_align): record alignment for the
28 * Makefile.am: Remove openrisc and or32 support. Add support for or1k.
29 * configure.in: Likewise.
30 * configure.tgt: Likewise.
31 * doc/as.texinfo: Likewise.
32 * config/obj-coff.h: Likewise.
33 * config/tc-or1k.c: New file.
34 * config/tc-or1k.h: New file.
35 * config/tc-openrisc.c: Delete.
36 * config/tc-openrisc.h: Delete.
37 * config/tc-or32.c: Delete.
38 * config/tc-or32.h: Delete.
39 * Makefile.in: Regenerate.
40 * configure: Regenerate.
44 * config/tc-tilegx.h (TC_CONS_FIX_NEW): Add RELOC arg.
45 * config/tc-tilepro.h (TC_CONS_FIX_NEW): Likewise.
49 * config/tc-avr.c: Add new flag mlink-relax.
50 (md_show_usage): Add flag and help text.
51 (md_parse_option): Record whether link relax is turned on.
52 (relaxable_section): New.
53 (avr_validate_fix_sub): New.
54 (avr_force_relocation): New.
55 (md_apply_fix): Generate DIFF reloc.
56 (avr_allow_local_subtract): New.
58 * config/tc-avr.h (TC_LINKRELAX_FIXUP): Define to 0.
59 (TC_FORCE_RELOCATION): Define.
60 (TC_FORCE_RELOCATION_SUB_SAME): Define.
61 (TC_VALIDATE_FIX_SUB): Define.
62 (avr_force_relocation): Declare.
63 (avr_validate_fix_sub): Declare.
64 (md_allow_local_subtract): Define.
65 (avr_allow_local_subtract): Declare.
69 * config/tc-mips.c (mips_cpu_info_table): Add P5600
71 * doc/c-mips.texi: Document p5600.
75 * config/tc-rl78.h (TC_CONS_FIX_NEW): Add RELOC parameter.
76 * config/tc-z80.h (TC_CONS_FIX_NEW): Discard RELOC parameter.
77 * config/tc-aarch64.h (TC_CONS_FIX_NEW): Discard RELOC parameter.
78 * read.c (emit_expr_fix): Mark the r parameter as potentially
83 * config/tc-ppc.c (warn_476, last_insn, last_seg, last_subseg):
85 (md_longopts, md_parse_option, md_show_usage): Add --ppc476-workaround.
86 (ppc_elf_cons_fix_check): New function.
87 (md_assemble): Set last_insn, last_seg, last_subseg.
88 (ppc_byte, md_apply_fix): Handle warn_476.
89 * config/tc-ppc.h (TC_CONS_FIX_CHECK): Define.
90 (ppc_elf_cons_fix_check): Declare.
91 * read.c (cons_worker): Invoke TC_CONS_FIX_CHECK.
95 * gas/config/tc-alpha.h (TC_CONS_FIX_NEW): Add RELOC parameter.
96 * gas/config/tc-arc.c (arc_cons_fix_new): Add reloc parameter.
97 * gas/config/tc-arc.h (arc_cons_fix_new): Update prototype.
98 (TC_CONS_FIX_NEW): Add RELOC parameter.
99 * gas/config/tc-arm.c (cons_fix_new_arm): Similarly
100 * gas/config/tc-arm.h (cons_fix_new_arm, TC_CONS_FIX_NEW): Similarly.
101 * gas/config/tc-cr16.c (cr16_cons_fix_new): Similarly.
102 * gas/config/tc-cr16.h (cr16_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
103 * gas/config/tc-crx.h (TC_CONS_FIX_NEW): Similarly.
104 * gas/config/tc-m32c.c (m32c_cons_fix_new): Similarly.
105 * gas/config/tc-m32c.h (m32c_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
106 * gas/config/tc-mn10300.c (mn10300_cons_fix_new): Similarly.
107 * gas/config/tc-mn10300.h (mn10300_cons_fix_new, TC_CONS_FIX_NEW):
109 * gas/config/tc-ns32k.c (cons_fix_new_ns32k): Similarly.
110 * gas/config/tc-ns32k.h (cons_fix_new_ns32k): Similarly.
111 * gas/config/tc-pj.c (pj_cons_fix_new_pj): Similarly.
112 * gas/config/tc-pj.h (pj_cons_fix_new_pj, TC_CONS_FIX_NEW): Similarly.
113 * gas/config/tc-rx.c (rx_cons_fix_new): Similarly.
114 * gas/config/tc-rx.h (rx_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
115 * gas/config/tc-sh.c (sh_cons_fix_new): Similarly.
116 * gas/config/tc-sh.h (sh_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
117 * gas/config/tc-tic54x.c (tic54x_cons_fix_new): Similarly.
118 * gas/config/tc-tic54x.h (tic54x_cons_fix_new, TC_CONS_FIX_NEW):
120 * gas/config/tc-tic6x.c (tic6x_cons_fix_new): Similarly.
121 * gas/config/tc-tic6x.h (tic6x_cons_fix_new, TC_CONS_FIX_NEW):
123 * gas/config/tc-arc.c (arc_parse_cons_expression): Return reloc.
124 * gas/config/tc-arc.h (arc_parse_cons_expression): Update proto.
125 * gas/config/tc-avr.c (exp_mod_data): Make global.
126 (pexp_mod_data): Delete.
127 (avr_parse_cons_expression): Return exp_mod_data pointer.
128 (avr_cons_fix_new): Add exp_mod_data_t pointer param.
129 (exp_mod_data_t): Move typedef..
130 * gas/config/tc-avr.h: ..to here.
131 (exp_mod_data): Declare.
132 (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define.
133 (avr_parse_cons_expression, avr_cons_fix_new): Update prototype.
134 (TC_CONS_FIX_NEW): Update.
135 * gas/config/tc-hppa.c (hppa_field_selector): Delete static var.
136 (cons_fix_new_hppa): Add hppa_field_selector param.
137 (fix_new_hppa): Adjust.
138 (parse_cons_expression_hppa): Return field selector.
139 * gas/config/tc-hppa.h (parse_cons_expression_hppa): Update proto.
140 (cons_fix_new_hppa): Likewise.
141 (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define.
142 * gas/config/tc-i386.c (got_reloc): Delete static var.
143 (x86_cons_fix_new): Add reloc param.
144 (x86_cons): Return got reloc.
145 * gas/config/tc-i386.h (x86_cons, x86_cons_fix_new): Update proto.
146 (TC_CONS_FIX_NEW): Add RELOC param.
147 * gas/config/tc-ia64.c (ia64_cons_fix_new): Add reloc param. Adjust
149 * gas/config/tc-ia64.h (ia64_cons_fix_new): Update prototype.
150 (TC_CONS_FIX_NEW): Add reloc param.
151 * gas/config/tc-microblaze.c (parse_cons_expression_microblaze):
153 (cons_fix_new_microblaze): Add reloc param.
154 * gas/config/tc-microblaze.h: Formatting.
155 (parse_cons_expression_microblaze): Update proto.
156 (cons_fix_new_microblaze): Likewise.
157 * gas/config/tc-nios2.c (nios2_tls_ldo_reloc): Delete static var.
158 (nios2_cons): Return ldo reloc.
159 (nios2_cons_fix_new): Delete.
160 * gas/config/tc-nios2.h (nios2_cons): Update prototype.
161 (nios2_cons_fix_new, TC_CONS_FIX_NEW): Delete.
162 * gas/config/tc-ppc.c (md_pseudo_table): Remove quad, long, word,
163 short. Make llong use cons.
164 (ppc_elf_suffix): Return BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
165 (ppc_elf_cons): Delete.
166 (ppc_elf_parse_cons): New function.
167 (ppc_elf_validate_fix): Don't check for BFD_RELOC_UNUSED.
168 (md_assemble): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
169 * gas/config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): Define
170 (ppc_elf_parse_cons): Declare.
171 * gas/config/tc-sparc.c (sparc_cons_special_reloc): Delete static var.
172 (sparc_cons): Return reloc specifier.
173 (cons_fix_new_sparc): Add reloc specifier param.
174 (sparc_cfi_emit_pcrel_expr): Use emit_expr_with_reloc.
175 * gas/config/tc-sparc.h (TC_PARSE_CONS_RETURN_TYPE): Define.
176 (TC_PARSE_CONS_RETURN_NONE): Define.
177 (sparc_cons, cons_fix_new_sparc): Update prototype.
178 * gas/config/tc-v850.c (hold_cons_reloc): Delete static var.
179 (v850_reloc_prefix): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
180 (md_assemble): Likewise.
181 (parse_cons_expression_v850): Return reloc.
182 (cons_fix_new_v850): Add reloc parameter.
183 * gas/config/tc-v850.h (parse_cons_expression_v850): Update proto.
184 (cons_fix_new_v850): Likewise.
185 * gas/config/tc-vax.c (vax_cons_special_reloc): Delete static var.
186 (vax_cons): Return reloc.
187 (vax_cons_fix_new): Add reloc parameter.
188 * gas/config/tc-vax.h (vax_cons, vax_cons_fix_new): Update proto.
189 * gas/config/tc-xstormy16.c (xstormy16_cons_fix_new): Add reloc param.
190 * gas/config/tc-xstormy16.h (xstormy16_cons_fix_new): Update proto.
191 * gas/dwarf2dbg.c (TC_PARSE_CONS_RETURN_NONE): Provide default.
192 (emit_fixed_inc_line_addr): Adjust exmit_expr_fix calls.
193 * gas/read.c (TC_PARSE_CONS_EXPRESSION): Return value.
194 (do_parse_cons_expression): Adjust.
195 (cons_worker): Pass return value from TC_PARSE_CONS_EXPRESSION
196 to emit_expr_with_reloc.
197 (emit_expr_with_reloc): New function handling reloc, mostly
200 (emit_expr_fix): Add reloc param. Adjust TC_CONS_FIX_NEW invocation.
202 (parse_mri_cons): Convert to ISO.
203 * gas/read.h (TC_PARSE_CONS_RETURN_TYPE): Define.
204 (TC_PARSE_CONS_RETURN_NONE): Define.
205 (emit_expr_with_reloc): Declare.
206 (emit_expr_fix): Update prototype.
207 * gas/write.c (write_object_file): Update TC_CONS_FIX_NEW invocation.
211 * config/tc-i386.c (cpu_arch): Add .se1.
212 * doc/c-i386.texi: Document .se1/se1.
216 * config/tc-rl78.c (md_apply_fix): Add overflow warnings for
217 pc-relative branches.
222 * config/tc-arm.c (create_unwind_entry): Report an error if an
223 attempt to recreate an unwind directive is encountered.
227 * config/tc-score.c (s3_parse_pce_inst): Add "%s" parameter to
228 sprintf in order to avoid a compile time warning.
232 * config/tc-rl78.c (rl78_op): Issue an error message if a 16-bit
233 relocation is used on an 8-bit operand or vice versa.
234 (tc_gen_reloc): Use the RL78_16U relocation for RL78_CODE.
235 (md_apply_fix): Add support for RL78_HI8, RL78_HI16 and RL78_LO16.
239 * config/obj-coff-seh.c (obj_coff_seh_code): New function -
240 switches the current segment back to the code segment recorded
241 when seh_proc was last invoked.
242 * config/obj-coff-seh.h (SEH_CMDS): Add seh_code.
246 * config/tc-ppc.c (ppc_is_toc_sym): Revert 2014-03-05.
247 (md_assemble): Likewise. Warn.
252 * config/tc-xtensa.c (xtensa_check_frag_count)
253 xtensa_create_trampoline_frag,
254 xtensa_maybe_create_trampoline_frag, init_trampoline_frag,
255 find_trampoline_seg, search_trampolines, get_best_trampoline,
256 check_and_update_trampolines, add_jump_to_trampoline,
257 dump_trampolines): New functions.
258 (md_parse_option): Add cases for --[no-]trampolines options.
259 (md_assemble, finish_vinsn, xtensa_end): Add call to
260 xtensa_check_frag_count.
261 (xg_assemble_vliw_tokens): Add call to
262 xtensa_maybe_create_trampoline_frag.
263 (xtensa_relax_frag): Relax fragments with RELAX_TRAMPOLINE state.
264 (relax_frag_immed): Relax jump instructions that cannot reach its
266 * config/tc-xtensa.h (xtensa_relax_statesE::RELAX_TRAMPOLINE): New
268 * doc/as.texinfo: Document --[no-]trampolines command-line options.
269 * doc/c-xtensa.texi: Document trampolines relaxation and command
271 * frags.c (get_frag_count, clear_frag_count): New function.
272 (frag_alloc): Increment totalfrags counter.
273 * frags.h (get_frag_count, clear_frag_count): New function.
277 * config/rl78-defs.h (RL78_RELAX_NONE, RL78_RELAX_BRANCH): Add.
278 * config/rl78-parse.y (BC, BNC, BZ, BNZ, BH, BHZ, bt_bf): Call
280 * config/tc-rl78.h (md_relax_frag): Define.
281 (rl78_relax_frag): Declare.
282 * config/tc-rl78.c (rl78_relax): Add.
283 (md_assemble): Set up the variable frags also when relaxing.
285 (rl78_opcode_type): New.
286 (rl78_frag_fix_value): New.
287 (md_estimate_size_before_relax): New-ish.
288 (rl78_relax_frag): New.
289 (md_convert_frag): New-ish.
293 * config/tc-mips.h (DIFF_EXPR_OK, CFI_DIFF_EXPR_OK): Define.
294 * config/tc-mips.c (md_pcrel_from): Remove error message.
295 (md_apply_fix): Convert PC-relative BFD_RELOC_32s to
296 BFD_RELOC_32_PCREL. Report a specific error message for unhandled
297 PC-relative expressions. Handle BFD_RELOC_8.
301 * config/tc-sparc.c (hpriv_reg_table): Added entries for
302 %hstick_offset and %hstick_enable.
303 * doc/c-sparc.texi (Sparc-Regs): Document the %hstick_offset and
304 %hstick_enable hyperprivileged registers.
309 * config/tc-arm.c (codecomposer_syntax): New flag that states whether the
310 CCS syntax compatibility mode is on or off.
311 (asmfunc_states): New enum to represent the asmfunc directive state.
312 (asmfunc_state): New variable holding the asmfunc directive state.
313 (comment_chars): Rename to arm_comment_chars.
314 (line_separator_chars): Rename to arm_line_separator_chars.
315 (s_ccs_ref): New function that handles the .ref directive.
316 (asmfunc_debug): New function.
317 (s_ccs_asmfunc): New function that handles the .asmfunc directive.
318 (s_ccs_endasmfunc): New function that handles the .endasmfunc directive.
319 (s_ccs_def): New function that handles the .def directive.
320 (tc_start_label_without_colon): New function.
321 (md_pseudo_table): Added new CCS directives.
322 (arm_ccs_mode): New function that handles the -mccs command line option.
323 (arm_long_opts): Added new -mccs command line option.
324 * config/tc-arm.h (LABELS_WITHOUT_COLONS): New macro.
325 (TC_START_LABEL_WITHOUT_COLON): New macro.
326 (tc_start_label_without_colon): Added extern function declaration.
327 (tc_comment_chars): Define.
328 (tc_line_separator_chars): Define.
329 * app.c (do_scrub_begin): Use tc_line_separator_chars, if defined.
330 * read.c (read_begin): Likewise.
331 * doc/as.texinfo: Add documentation for the -mccs command line
333 * doc/c-arm.texi: Likewise.
334 * doc/internals.texi: Document tc_line_separator_chars.
335 * NEWS: Mention the new feature.
339 * config/tc-aarch64.c (aarch64_opts): Add new option
341 (verbose_error_p): Initialize to 1.
342 * doc/c-aarch64.texi (AArch64 Options): Document -mverbose-error
343 and -mno-verbose-error.
348 * config/tc-arm.c (tc_arm_regname_to_dw2regnum): Parse VFP
354 * doc/c-aarch64.texi: Clean up some formatting issues.
355 (AArch64 Options): Document -mcpu and -march.
356 (AArch64 Extensions): New node.
360 * config/tc-i386.c (use_big_obj): Declare.
361 (OPTION_MBIG_OBJ): Define.
362 (md_longopts): Add -mbig-obj option.
363 (md_parse_option): Handle it.
364 (md_show_usage): Display help for this option.
365 (i386_target_format): Use bigobj for x86-64 if -mbig-obj.
366 * doc/c-i386.texi: Document the option.
371 * config/tc-aarch64.c (literal_expression): New structure.
372 (literal_pool): Replace exp array with literal_expression array.
373 (add_to_lit_pool): When adding a bignum cache the big value.
374 (s_ltorg): When emitting a bignum initialise the global bignum
375 array from the cached value.
379 * Makefile.in: Regenerate.
380 * config.in: Regenerate.
381 * doc/Makefile.in: Regenerate.
388 * gas/tc-avr.c: Add new devices
389 avr25: ata5272, attiny828
390 avr35: ata5505, attiny1634
391 avr4: atmega8a, ata6285, ata6286, atmega48pa
392 avr5: at90pwm161, ata5790, ata5795, atmega164pa, atmega165pa,
393 atmega168pa, atmega32a, atmega64rfr2, atmega644rfr2, atmega64a,
395 avr51: atmega128a, atmega1284
396 avrxmega2: atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4,
397 atxmega32e5, atxmega16e5, atxmega8e5
398 avrxmega4: atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3,
399 atxmega64c3, atxmega64d4
400 avrxmega6: atxmega128a3u, atxmega128b3, atxmega128c3,
401 atxmega128d4, atxmega192a3u, atxmega192c3, atxmega256a3u,
402 atxmega256c3, atxmega384c3, atxmega384d3
403 avrxmega7: atxmega128a4u
404 * doc/c-avr.texi: Ditto.
408 Update copyright years.
412 * config/tc-ppc.c (ppc_elf_suffix): Support @localentry.
413 (md_apply_fix): Support R_PPC64_ADDR64_LOCAL.
417 * config/tc-ppc.c (md_assemble): Move code adjusting reloc types
418 later. Merge absolute and relative branch reloc selection.
419 Generate 16-bit relocs for most 16-bit insn fields given a
420 non-constant expression.
424 * config/tc-ppc.c (ppc_is_toc_sym): Remove OBJ_ELF support.
425 (md_assemble): Don't call ppc_is_toc_sym for ELF.
429 * config/tc-mips.c (mips_cpu_info_table): Use ISA_MIPS64R2 for
434 * config/msp430/msp430.c: Replace known mcu array with known
435 msp430 ISA mcu name array.
436 Accept any name for -mmcu option.
437 Add -mz option to warn about missing NOP following an interrupt
439 (check_for_nop): New.
440 (msp430_operands): Emit a warning, if requested, when an interrupt
441 changing instruction is not followed by a NOP.
442 * doc/c-msp430.c: Document -mz option.
446 * config/bfin-lex-wrapper.c: Correct copyright date.
447 * config/obj-fdpicelf.c: Likewise.
448 * config/obj-fdpicelf.h: Likewise.
449 * config/tc-frv.c: Correct copyright punctuation.
450 * config/tc-ip2k.c: Likewise.
451 * config/tc-iq2000.c: Likewise.
452 * config/tc-mep.c: Likewise.
453 * config/tc-tic4x.c: Likewise.
454 * config/tc-tic4x.h: Likewise.
458 * config/tc-avr.c: Remove atxmega16x1.
462 * dwarf2dbg.c (out_debug_line): Correct .debug_line header_length
463 field for 64-bit dwarf.
467 * config/tc-i386.c (cpu_arch): Add .prefetchwt1.
468 * doc/c-i386.texi: Document .prefetchwt1/prefetchwt1.
472 * config/tc-i386.c (cpu_arch): Add .clflushopt, .xsavec, .xsaves.
473 * doc/c-i386.texi: Document .xsavec/xsavec/.xsaves/xsaves/
474 clflushopt/.clfushopt.
478 * po/POTFILES.in: Regenerate.
479 * po/gas.pot: Regenerate.
483 * config/tc-nios2.c (md_apply_fix): Test for new relocs.
484 (nios2_special_reloc): Add %call_lo, %call_hiadj, %got_lo,
485 %got_hiadj relocation operators. Sort table and add comment
487 (nios2_fix_adjustable): Test for new relocs.
488 * doc/c-nios2.texi (Nios II Relocations): Document new relocation
493 * config/tc-nios2.c (md_apply_fix): Handle BFD_RELOC_NIOS2_CALL26_NOAT.
494 (nios2_assemble_args_m): Likewise.
495 (md_assemble): Likewise.
499 * config/tc-msp430.c (msp430_section): Always flag data sections,
501 (msp430_frob_section): New. Make sure all sections are noticed if
503 (msp430_lcomm): New. Flag bss if .lcomm is seen.
504 (msp430_comm): New. Likewise.
505 (md_pseudo_table): Add them.
506 * config/tc-msp430.h (msp430_frob_section): Declare.
507 (tc_frob_section): Define.
511 * config/tc-msp430.c (show_mcu_list): Delete.
512 (md_parse_option): Accept any MCU name. Accept several more
513 variants for the -mcpu option.
514 (md_show_usage): Do not call show_mcu_list.
518 * config/tc-msp430.c (msp430_refsym): New: ".refsym <symbol>"
519 * doc/c-msp430.texi (MSP430 Directives): Document it.
523 * config/tc-i386.c (check_VecOperands): Remove regzmm from AVX2
529 * config/tc-i386.c (check_VecOperands): Add check for invalid
530 register set in AVX512 gathers.
534 * config/tc-tic4x.c (md_shortopts): s/CONST/const/.
538 * config/tc-rl78.c (require_end_of_expr): New.
539 (md_operand): Call it.
540 (rl78_cons_fix_new): Mark LO16, HI16, ahd HI8 internal relocations
545 * config/tc-arm.c (do_vfp_nsyn_cvt_fpv8): Set OP to 1
546 for the s32.f64 flavours of VCVT.
551 * config/tc-z80.c (wrong_match): Provide format string to
553 (parse_exp_not_indexed): Delete unused variable dummy.
554 (emit_byte): Delete unused variable fixp.
558 * config/tc-i386.c (regbnd): Removed.
559 (vec_disp8): Likewise.
563 * as.c (parse_args): Update copyright year to 2014.
567 * config/tc-tic30.c (debug): Avoid old VA_* compatibility
572 * config/tc-microblaze.h (parse_cons_expression_microblaze): Don't
577 * config/tc-xc16x.h: Don't use ANSI_PROTOTYPES.
581 * config/tc-aarch64.c (aarch64_cpus): Add entry for "xgene-1"
583 For older changes see ChangeLog-2013
585 Copyright (C) 2014 Free Software Foundation, Inc.
587 Copying and distribution of this file, with or without modification,
588 are permitted in any medium without royalty provided the copyright
589 notice and this notice are preserved.
595 version-control: never