3 * config/tc-arm.c (md_begin): Handle EABIv5.
4 (arm_eabis): Add EF_ARM_EABI_VER5.
5 * doc/c-arm.texi: Document -meabi=5.
9 * app.c (do_scrub_chars): Simplify string handling.
19 * config/tc-arm.c (md_apply_fix): Install a value of zero into a
20 BFD_RELOC_ARM_OFFSET_IMM field if we're going to generate a RELA
22 (tc_gen_reloc): Keep the original fx_offset for RELA pc-relative
23 relocs, but adjust by md_pcrel_from_section. Create R_ARM_ABS12
24 relocations for BFD_RELOC_ARM_OFFSET_IMM on RELA targets.
28 * config/tc-xtensa.c (xtensa_post_relax_hook): Generate literal tables
29 even when using the text-section-literals option.
33 * config/tc-m68k.c (m68k_extensions): Allow 'float' on both m68k
35 (m68k_ip): <case 'J'> Check we have some control regs.
36 (md_parse_option): Allow raw arch switch.
37 (m68k_init_arch): Better detection of arch/cpu mismatch. Detect
38 whether 68881 or cfloat was meant by -mfloat.
39 (md_show_usage): Adjust extension display.
40 (m68k_elf_final_processing): Adjust.
44 * config/tc-avr.c (avr_mod_hash_value): New function.
45 (md_apply_fix, exp_mod): Use BFD_RELOC_HH8_LDI and
46 BFD_RELOC_MS8_LDI for hlo8() and hhi8()
47 (md_begin): Set linkrelax variable to 1, use avr_mod_hash_value
48 instead of int avr_ldi_expression: use avr_mod_hash_value instead
50 (tc_gen_reloc): Handle substractions of symbols, if possible do
51 fixups, abort otherwise.
52 * config/tc-avr.h (TC_LINKRELAX_FIXUP, TC_VALIDATE_FIX,
53 tc_fix_adjustable): Define.
57 * config/tc-ia64.c (emit_one_bundle): For IA64_OPCODE_LAST, if we
58 change the template, then clear md.slot[curr].end_of_insn_group.
62 * macro.c (get_any_string): Don't insert quotes for <>-quoted input.
67 * macro.c (getstring): Don't treat parentheses special anymore.
68 (get_any_string): Don't consider '(' and ')' as quoting anymore.
69 Special-case '(', ')', '[', and ']' when dealing with non-quoting
74 * dwarf2dbg.c (get_filenum): Don't inadvertently decrease files_in_use.
78 * dw2gencfi.c (struct fde_entry, struct cie_entry): Add signal_frame
80 (CFI_signal_frame): Define.
81 (cfi_pseudo_table): Add .cfi_signal_frame.
82 (dot_cfi): Handle CFI_signal_frame.
83 (output_cie): Handle cie->signal_frame.
84 (select_cie_for_fde): Don't share CIE if signal_frame flag is
85 different. Copy signal_frame from FDE to newly created CIE.
86 * doc/as.texinfo: Document .cfi_signal_frame.
90 * doc/Makefile.am: Add html target.
91 * doc/Makefile.in: Regenerate.
92 * po/Make-in: Add html target.
96 * config/tc-i386.c (output_insn): Support Intel Merom New
99 * config/tc-i386.h (CpuMNI): New.
100 (CpuUnknownFlags): Add CpuMNI.
104 * config/tc-sparc.c (priv_reg_table): Add entry for "gl".
105 (hpriv_reg_table): New table for hyperprivileged registers.
106 (sparc_ip): New cases '$' and '%' for wrhpr/rdhpr hyperprivileged
111 * config/tc-m32c.h (md_apply_fix): Define to m32c_apply_fix.
112 (tc_gen_reloc): Don't define.
113 * config/tc-m32c.c (rl_for, relaxable): New convenience macros.
114 (OPTION_LINKRELAX): New.
115 (md_longopts): Add it.
117 (md_parse_options): Set it.
118 (md_assemble): Emit relaxation relocs as needed.
119 (md_convert_frag): Emit relaxation relocs as needed.
120 (md_cgen_lookup_reloc): Add LAB_8_8 and LAB_8_16.
121 (m32c_apply_fix): New.
123 (m32c_force_relocation): Force out jump relocs when relaxing.
124 (m32c_fix_adjustable): Return false if relaxing.
128 * config/arm/tc-arm.c (arm_ext_v6_notm, arm_ext_div, arm_ext_v7,
129 arm_ext_v7a, arm_ext_v7r, arm_ext_v7m): New variables.
130 (struct asm_barrier_opt): Define.
131 (arm_v7m_psr_hsh, arm_barrier_opt_hsh): New variables.
132 (parse_psr): Accept V7M psr names.
133 (parse_barrier): New function.
134 (enum operand_parse_code): Add OP_oBARRIER.
135 (parse_operands): Implement OP_oBARRIER.
136 (do_barrier): New function.
137 (do_dbg, do_pli, do_t_barrier, do_t_dbg, do_t_div): New functions.
138 (do_t_cpsi): Add V7M restrictions.
139 (do_t_mrs, do_t_msr): Validate V7M variants.
140 (md_assemble): Check for NULL variants.
141 (v7m_psrs, barrier_opt_names): New tables.
142 (insns): Add V7 instructions. Mark V6 instructions absent from V7M.
143 (md_begin): Initialize arm_v7m_psr_hsh and arm_barrier_opt_hsh.
144 (arm_cpu_option_table): Add Cortex-M3, R4 and A8.
145 (arm_arch_option_table): Add armv7, armv7a, armv7r and armv7m.
146 (struct cpu_arch_ver_table): Define.
148 (aeabi_set_public_attributes): Use cpu_arch_ver. Set
149 Tag_CPU_arch_profile.
150 * doc/c-arm.texi: Document new cpu and arch options.
154 * config/tc-ia64.c (operand_match): Handle IA64_OPND_IMMU5b.
158 * config/tc-ia64.c: Update copyright years.
162 * config/tc-ia64.c (specify_resource): Add the rule 17 from
167 * config/tc-arm.c (do_pld): Remove incorrect write to
169 (encode_thumb32_addr_mode): Use correct operand.
173 * config/tc-arm.c (md_apply_fix): Fix off-by-one errors.
179 * Makefile.am: Add xc16x related entry.
180 * Makefile.in: Regenerate.
181 * configure.in: Added xc16x related entry.
182 * configure: Regenerate.
183 * config/tc-xc16x.h: New file
184 * config/tc-xc16x.c: New file
185 * doc/c-xc16x.texi: New file for xc16x
186 * doc/all.texi: Entry for xc16x
187 * doc/Makefile.texi: Added c-xc16x.texi
188 * NEWS: Announce the support for the new target.
192 * configure.tgt: set emulation for mips-*-netbsd*
196 * config.in: Rebuilt.
200 * config/tc-xtensa.c (xg_add_opcode_fix): Number operands starting
201 from 1, not 0, in error messages.
202 (md_assemble): Simplify special-case check for ENTRY instructions.
203 (tinsn_has_invalid_symbolic_operands): Do not include opcode and
204 operand in error message.
208 * configure.tgt (arm-*-linux-gnueabi*): Change to
213 * config/tc-crx.c (check_range): Ensure that the sign bit of a
214 32-bit value is propagated into the upper bits of a 64-bit long.
216 * config/tc-arc.c (init_opcode_tables): Fix cast.
217 (arc_extoper, md_operand): Likewise.
221 * config/tc-xtensa.c (xg_assembly_relax): Increment steps_taken for
222 each relaxation step.
226 * configure.in (CHECK_DECLS): Add vsnprintf.
227 * configure: Regenerate.
228 * messages.c (errno.h, stdarg.h, varargs.h, va_list): Do not
229 include/declare here, but...
230 * as.h: Move code detecting VARARGS idiom to the top.
231 (errno.h, stdarg.h, varargs.h, va_list): ...here.
232 (vsnprintf): Declare if not already declared.
236 * as.c (close_output_file): New.
237 (main): Register close_output_file with xatexit before
238 dump_statistics. Don't call output_file_close.
242 * config/tc-m68k.c (mcf5208_control_regs, mcf5213_control_regs,
243 mcf5329_control_regs): New.
244 (not_current_architecture, selected_arch, selected_cpu): New.
245 (m68k_archs, m68k_extensions): New.
246 (archs): Renamed to ...
247 (m68k_cpus): ... here. Adjust.
249 (md_pseudo_table): Add arch and cpu directives.
250 (find_cf_chip, m68k_ip): Adjust table scanning.
251 (no_68851, no_68881): Remove.
252 (md_assemble): Lazily initialize.
253 (select_control_regs): Adjust cpu names. Add 5208, 5213, 5329.
254 (md_init_after_args): Move functionality to m68k_init_arch.
255 (mri_chip): Adjust table scanning.
256 (md_parse_option): Reimplement 'm' processing to add -march & -mcpu
257 options with saner parsing.
258 (m68k_lookup_cpu, m68k_set_arch, m68k_set_cpu, m68k_set_extension,
259 m68k_init_arch): New.
260 (s_m68k_cpu, s_m68k_arch): New.
261 (md_show_usage): Adjust.
262 (m68k_elf_final_processing): Set CF EF flags.
263 * config/tc-m68k.h (m68k_init_after_args): Remove.
264 (tc_init_after_args): Remove.
265 * doc/c-m68k.texi (M68K-Opts): Document -march, -mcpu options.
266 (M68k-Directives): Document .arch and .cpu directives.
270 * config/tc-z80.c (z80_start_line_hook): allow .equ and .defl as
271 synonyms for equ and defl.
272 (z80_cons_fix_new): New function.
273 (emit_byte): Disallow relative jumps to absolute locations.
274 (emit_data): Only handle defb, prototype changed, because defb is
275 now handled as pseudo-op rather than an instruction.
276 (instab): Entries for defb,defw,db,dw moved from here...
277 (md_pseudo_table): ... to here, use generic cons() for defw,dw.
278 Add entries for def24,def32,d24,d32.
279 (md_assemble): Improved error handling.
280 (md_apply_fix): New case BFD_RELOC_24, set fixP->fx_no_overflow to one.
281 * config/tc-z80.h (TC_CONS_FIX_NEW): Define.
282 (z80_cons_fix_new): Declare.
283 * doc/c-z80.texi (defb, db): Mention warning on overflow.
284 (def24,d24,def32,d32): New pseudo-ops.
288 * config/tc-arm.c (do_shift): Remove Thumb-1 constraint.
292 * config/tc-arm.c (T2_OPCODE_MASK, T2_DATA_OP_SHIFT, T2_OPCODE_AND,
293 T2_OPCODE_BIC, T2_OPCODE_ORR, T2_OPCODE_ORN, T2_OPCODE_EOR,
294 T2_OPCODE_ADD, T2_OPCODE_ADC, T2_OPCODE_SBC, T2_OPCODE_SUB,
295 T2_OPCODE_RSB): Define.
296 (thumb32_negate_data_op): New function.
297 (md_apply_fix): Use it.
301 * config/xtensa-istack.h (TInsn): Remove record_fix and sub_symbol
303 * config/tc-xtensa.h (xtensa_frag_type): Remove slot_sub_symbols field.
304 * config/tc-xtensa.c (md_apply_fix): Check for unexpected uses of
306 (relaxation_requirements): Add pfinish_frag argument and use it to
307 replace setting tinsn->record_fix fields.
308 (xg_assemble_vliw_tokens): Adjust calls to relaxation_requirements
309 and vinsn_to_insnbuf. Remove references to record_fix and
310 slot_sub_symbols fields.
311 (xtensa_mark_narrow_branches): Delete unused code.
312 (is_narrow_branch_guaranteed_in_range): Handle expr that is not just
314 (convert_frag_immed): Adjust vinsn_to_insnbuf call and do not set
316 (tinsn_immed_from_frag): Remove code for handling slot_sub_symbols.
317 (vinsn_to_insnbuf): Change use of record_fixup argument, replacing use
318 of the record_fix field. Simplify error messages for unexpected
320 (set_expr_symbol_offset_diff): Delete.
324 * config/tc-arm.c (arm_reg_parse): Check if reg is non-NULL.
329 * config/tc-arm.c: Use arm_feature_set.
330 (arm_ext_*, arm_arch_full, arm_arch_t2, arm_arch_none,
331 arm_cext_iwmmxt, arm_cext_xscale, arm_cext_maverick, fpu_fpa_ext_v1,
332 fpu_fpa_ext_v2, fpu_vfp_ext_v1xd, fpu_vfp_ext_v1, fpu_vfp_ext_v2):
335 (md_atof, opcode_select, opcode_select, md_assemble, md_assemble,
336 md_begin, arm_parse_extension, arm_parse_cpu, arm_parse_arch,
337 arm_parse_fpu, arm_parse_float_abi, aeabi_set_public_attributes,
338 s_arm_cpu, s_arm_arch, s_arm_fpu): Use macros for accessing CPU
340 (arm_legacy_option_table, arm_option_cpu_value_table): New types.
341 (arm_opts): Move old cpu/arch options from here...
342 (arm_legacy_opts): ... to here.
343 (md_parse_option): Search arm_legacy_opts.
344 (arm_cpus, arm_archs, arm_extensions, arm_fpus)
345 (arm_float_abis, arm_eabis): Make const.
349 * config/tc-xtensa.c (md_apply_fix): Set value to zero for PLT relocs.
353 * config/bfin-parse.y (asm_1): Check value range for 16 bit immediate
354 in load immediate intruction.
358 * config/bfin-parse.y (value_match): Use correct conversion
359 specifications in template string for __FILE__ and __LINE__.
365 Introduce TLS descriptors for i386 and x86_64.
366 * config/tc-i386.c (tc_i386_fix_adjustable): Handle
367 BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC_CALL,
368 BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL.
369 (optimize_disp): Emit fix up for BFD_RELOC_386_TLS_DESC_CALL and
370 BFD_RELOC_X86_64_TLSDESC_CALL immediately, and clear the
372 (build_modrm_byte): Set up zero modrm for TLS desc calls.
373 (lex_got): Handle @tlsdesc and @tlscall.
374 (md_apply_fix, tc_gen_reloc): Handle the new relocations.
378 Fixes for building on 64-bit hosts:
379 * config/tc-avr.c (mod_index): New union to allow conversion
380 between pointers and integers.
381 (md_begin, avr_ldi_expression): Use it.
382 * config/tc-i370.c (md_assemble): Add cast for argument to print
384 * config/tc-tic54x.c (subsym_substitute): Likewise.
385 * config/tc-mn10200.c (md_assemble): Use a union to convert the
386 opindex field of fr_cgen structure into a pointer so that it can
388 * config/tc-mn10300.c (md_assemble): Likewise.
389 * config/tc-frv.c (frv_debug_tomcat): Use %p to print pointer
391 * config/tc-v850.c: Replace uses of (int) casts with correct
397 * symbols.c (snapshot_symbol): Don't change a defined symbol.
402 * config/tc-mmix.c (mmix_handle_mmixal): Don't treat #[0-9][FB] as
403 a local-label reference.
405 For older changes see ChangeLog-2005
411 version-control: never