Add linker relaxation support for the AVR
[external/binutils.git] / gas / ChangeLog
1 2006-03-03  Bjoern Haase  <bjoern.m.haase@web.de>
2
3         * config/tc-avr.c (avr_mod_hash_value): New function.
4         (md_apply_fix, exp_mod): Use BFD_RELOC_HH8_LDI and
5         BFD_RELOC_MS8_LDI for hlo8() and hhi8() 
6         (md_begin): Set linkrelax variable to 1, use avr_mod_hash_value
7         instead of int avr_ldi_expression: use avr_mod_hash_value instead
8         of (int).
9         (tc_gen_reloc): Handle substractions of symbols, if possible do
10         fixups, abort otherwise.        
11         * config/tc-avr.h (TC_LINKRELAX_FIXUP, TC_VALIDATE_FIX,
12         tc_fix_adjustable): Define.
13         
14 2006-03-02  James E Wilson  <wilson@specifix.com>
15
16         * config/tc-ia64.c (emit_one_bundle): For IA64_OPCODE_LAST, if we
17         change the template, then clear md.slot[curr].end_of_insn_group.
18
19 2006-02-28  Jan Beulich  <jbeulich@novell.com>
20
21         * macro.c (get_any_string): Don't insert quotes for <>-quoted input.
22
23 2006-02-28  Jan Beulich  <jbeulich@novell.com>
24
25         PR/1070
26         * macro.c (getstring): Don't treat parentheses special anymore.
27         (get_any_string): Don't consider '(' and ')' as quoting anymore.
28         Special-case '(', ')', '[', and ']' when dealing with non-quoting
29         characters.
30
31 2006-02-28  Mat <mat@csail.mit.edu>
32
33         * dwarf2dbg.c (get_filenum): Don't inadvertently decrease files_in_use.
34
35 2006-02-27  Jakub Jelinek  <jakub@redhat.com>
36
37         * dw2gencfi.c (struct fde_entry, struct cie_entry): Add signal_frame
38         field.
39         (CFI_signal_frame): Define.
40         (cfi_pseudo_table): Add .cfi_signal_frame.
41         (dot_cfi): Handle CFI_signal_frame.
42         (output_cie): Handle cie->signal_frame.
43         (select_cie_for_fde): Don't share CIE if signal_frame flag is
44         different.  Copy signal_frame from FDE to newly created CIE.
45         * doc/as.texinfo: Document .cfi_signal_frame.
46
47 2006-02-27  Carlos O'Donell  <carlos@codesourcery.com>
48
49         * doc/Makefile.am: Add html target.
50         * doc/Makefile.in: Regenerate.
51         * po/Make-in: Add html target.
52
53 2006-02-27  H.J. Lu <hongjiu.lu@intel.com>
54
55         * config/tc-i386.c (output_insn): Support Intel Merom New
56         Instructions.
57
58         * config/tc-i386.h (CpuMNI): New.
59         (CpuUnknownFlags): Add CpuMNI.
60
61 2006-02-24  David S. Miller  <davem@sunset.davemloft.net>
62
63         * config/tc-sparc.c (priv_reg_table): Add entry for "gl".
64         (hpriv_reg_table): New table for hyperprivileged registers.
65         (sparc_ip): New cases '$' and '%' for wrhpr/rdhpr hyperprivileged
66         register encoding.
67
68 2006-02-24  DJ Delorie  <dj@redhat.com>
69
70         * config/tc-m32c.h (md_apply_fix): Define to m32c_apply_fix.
71         (tc_gen_reloc): Don't define.
72         * config/tc-m32c.c (rl_for, relaxable): New convenience macros.
73         (OPTION_LINKRELAX): New.
74         (md_longopts): Add it.
75         (m32c_relax): New.
76         (md_parse_options): Set it.
77         (md_assemble): Emit relaxation relocs as needed.
78         (md_convert_frag): Emit relaxation relocs as needed.
79         (md_cgen_lookup_reloc): Add LAB_8_8 and LAB_8_16.
80         (m32c_apply_fix): New.
81         (tc_gen_reloc): New.
82         (m32c_force_relocation): Force out jump relocs when relaxing.
83         (m32c_fix_adjustable): Return false if relaxing.
84
85 2006-02-24  Paul Brook  <paul@codesourcery.com>
86
87         * config/arm/tc-arm.c (arm_ext_v6_notm, arm_ext_div, arm_ext_v7,
88         arm_ext_v7a, arm_ext_v7r, arm_ext_v7m): New variables.
89         (struct asm_barrier_opt): Define.
90         (arm_v7m_psr_hsh, arm_barrier_opt_hsh): New variables.
91         (parse_psr): Accept V7M psr names.
92         (parse_barrier): New function.
93         (enum operand_parse_code): Add OP_oBARRIER.
94         (parse_operands): Implement OP_oBARRIER.
95         (do_barrier): New function.
96         (do_dbg, do_pli, do_t_barrier, do_t_dbg, do_t_div): New functions.
97         (do_t_cpsi): Add V7M restrictions.
98         (do_t_mrs, do_t_msr): Validate V7M variants.
99         (md_assemble): Check for NULL variants.
100         (v7m_psrs, barrier_opt_names): New tables.
101         (insns): Add V7 instructions.  Mark V6 instructions absent from V7M.
102         (md_begin): Initialize arm_v7m_psr_hsh and arm_barrier_opt_hsh.
103         (arm_cpu_option_table): Add Cortex-M3, R4 and A8.
104         (arm_arch_option_table): Add armv7, armv7a, armv7r and armv7m.
105         (struct cpu_arch_ver_table): Define.
106         (cpu_arch_ver): New.
107         (aeabi_set_public_attributes): Use cpu_arch_ver.  Set
108         Tag_CPU_arch_profile.
109         * doc/c-arm.texi: Document new cpu and arch options.
110
111 2006-02-23  H.J. Lu  <hongjiu.lu@intel.com>
112
113         * config/tc-ia64.c (operand_match): Handle IA64_OPND_IMMU5b.
114
115 2006-02-23  H.J. Lu  <hongjiu.lu@intel.com>
116
117         * config/tc-ia64.c: Update copyright years.
118
119 2006-02-22  H.J. Lu  <hongjiu.lu@intel.com>
120
121         * config/tc-ia64.c (specify_resource): Add the rule 17 from
122         SDM 2.2.
123
124 2005-02-22  Paul Brook  <paul@codesourcery.com>
125
126         * config/tc-arm.c (do_pld): Remove incorrect write to
127         inst.instruction.
128         (encode_thumb32_addr_mode): Use correct operand.
129
130 2006-02-21  Paul Brook  <paul@codesourcery.com>
131
132         * config/tc-arm.c (md_apply_fix): Fix off-by-one errors.
133
134 2006-02-17  Shrirang Khisti  <shrirangk@kpitcummins.com>
135             Anil Paranjape   <anilp1@kpitcummins.com>
136             Shilin Shakti    <shilins@kpitcummins.com>
137
138         * Makefile.am: Add xc16x related entry.
139         * Makefile.in: Regenerate.
140         * configure.in: Added xc16x related entry.
141         * configure: Regenerate.
142         * config/tc-xc16x.h: New file
143         * config/tc-xc16x.c: New file
144         * doc/c-xc16x.texi: New file for xc16x
145         * doc/all.texi: Entry for xc16x
146         * doc/Makefile.texi: Added c-xc16x.texi 
147         * NEWS: Announce the support for the new target.
148
149 2006-02-16  Nick Hudson  <nick.hudson@dsl.pipex.com>
150
151         * configure.tgt: set emulation for mips-*-netbsd*
152
153 2006-02-14  Jakub Jelinek  <jakub@redhat.com>
154
155         * config.in: Rebuilt.
156
157 2006-02-13  Bob Wilson  <bob.wilson@acm.org>
158
159         * config/tc-xtensa.c (xg_add_opcode_fix): Number operands starting
160         from 1, not 0, in error messages.
161         (md_assemble): Simplify special-case check for ENTRY instructions.
162         (tinsn_has_invalid_symbolic_operands): Do not include opcode and
163         operand in error message.
164
165 2006-02-13  Joseph S. Myers  <joseph@codesourcery.com>
166
167         * configure.tgt (arm-*-linux-gnueabi*): Change to
168         arm-*-linux-*eabi*.
169
170 2006-02-10  Nick Clifton  <nickc@redhat.com>
171
172         * config/tc-crx.c (check_range): Ensure that the sign bit of a
173         32-bit value is propagated into the upper bits of a 64-bit long.
174
175         * config/tc-arc.c (init_opcode_tables): Fix cast.
176         (arc_extoper, md_operand): Likewise.
177
178 2006-02-09  David Heine  <dlheine@tensilica.com>
179
180         * config/tc-xtensa.c (xg_assembly_relax): Increment steps_taken for
181         each relaxation step.
182
183 2006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
184         
185         * configure.in (CHECK_DECLS): Add vsnprintf.
186         * configure: Regenerate.
187         * messages.c (errno.h, stdarg.h, varargs.h, va_list): Do not
188         include/declare here, but...
189         * as.h: Move code detecting VARARGS idiom to the top.
190         (errno.h, stdarg.h, varargs.h, va_list): ...here.
191         (vsnprintf): Declare if not already declared.
192
193 2006-02-08  H.J. Lu  <hongjiu.lu@intel.com>
194
195         * as.c (close_output_file): New.
196         (main): Register close_output_file with xatexit before
197         dump_statistics. Don't call output_file_close.
198
199 2006-02-07  Nathan Sidwell  <nathan@codesourcery.com>
200
201         * config/tc-m68k.c (mcf5208_control_regs, mcf5213_control_regs,
202         mcf5329_control_regs): New.
203         (not_current_architecture, selected_arch, selected_cpu): New.
204         (m68k_archs, m68k_extensions): New.
205         (archs): Renamed to ...
206         (m68k_cpus): ... here.  Adjust.
207         (n_arches): Remove.
208         (md_pseudo_table): Add arch and cpu directives.
209         (find_cf_chip, m68k_ip): Adjust table scanning.
210         (no_68851, no_68881): Remove.
211         (md_assemble): Lazily initialize.
212         (select_control_regs): Adjust cpu names. Add 5208, 5213, 5329.
213         (md_init_after_args): Move functionality to m68k_init_arch.
214         (mri_chip): Adjust table scanning.
215         (md_parse_option): Reimplement 'm' processing to add -march & -mcpu
216         options with saner parsing.
217         (m68k_lookup_cpu, m68k_set_arch, m68k_set_cpu, m68k_set_extension,
218         m68k_init_arch): New.
219         (s_m68k_cpu, s_m68k_arch): New.
220         (md_show_usage): Adjust.
221         (m68k_elf_final_processing): Set CF EF flags.
222         * config/tc-m68k.h (m68k_init_after_args): Remove.
223         (tc_init_after_args): Remove.
224         * doc/c-m68k.texi (M68K-Opts): Document -march, -mcpu options.
225         (M68k-Directives): Document .arch and .cpu directives.
226
227 2006-02-05  Arnold Metselaar  <arnold.metselaar@planet.nl>
228
229         * config/tc-z80.c (z80_start_line_hook): allow .equ and .defl as 
230         synonyms for equ and defl. 
231         (z80_cons_fix_new): New function.
232         (emit_byte): Disallow relative jumps to absolute locations.
233         (emit_data): Only handle defb, prototype changed, because defb is 
234         now handled as pseudo-op rather than an instruction.
235         (instab): Entries for defb,defw,db,dw moved from here...
236         (md_pseudo_table): ... to here, use generic cons() for defw,dw. 
237         Add entries for def24,def32,d24,d32.
238         (md_assemble): Improved error handling.
239         (md_apply_fix): New case BFD_RELOC_24, set fixP->fx_no_overflow to one.
240         * config/tc-z80.h (TC_CONS_FIX_NEW): Define.
241         (z80_cons_fix_new): Declare.
242         * doc/c-z80.texi (defb, db): Mention warning on overflow. 
243         (def24,d24,def32,d32): New pseudo-ops.
244         
245 2006-02-02  Paul Brook  <paul@codesourcery.com>
246
247         * config/tc-arm.c (do_shift): Remove Thumb-1 constraint.
248
249 2005-02-02  Paul Brook  <paul@codesourcery.com>
250
251         * config/tc-arm.c (T2_OPCODE_MASK, T2_DATA_OP_SHIFT, T2_OPCODE_AND,
252         T2_OPCODE_BIC, T2_OPCODE_ORR, T2_OPCODE_ORN, T2_OPCODE_EOR,
253         T2_OPCODE_ADD, T2_OPCODE_ADC, T2_OPCODE_SBC, T2_OPCODE_SUB,
254         T2_OPCODE_RSB): Define.
255         (thumb32_negate_data_op): New function.
256         (md_apply_fix): Use it.
257
258 2006-01-31  Bob Wilson  <bob.wilson@acm.org>
259
260         * config/xtensa-istack.h (TInsn): Remove record_fix and sub_symbol
261         fields.
262         * config/tc-xtensa.h (xtensa_frag_type): Remove slot_sub_symbols field.
263         * config/tc-xtensa.c (md_apply_fix): Check for unexpected uses of
264         subtracted symbols.
265         (relaxation_requirements): Add pfinish_frag argument and use it to
266         replace setting tinsn->record_fix fields.
267         (xg_assemble_vliw_tokens): Adjust calls to relaxation_requirements
268         and vinsn_to_insnbuf.  Remove references to record_fix and
269         slot_sub_symbols fields.
270         (xtensa_mark_narrow_branches): Delete unused code.
271         (is_narrow_branch_guaranteed_in_range): Handle expr that is not just
272         a symbol.
273         (convert_frag_immed): Adjust vinsn_to_insnbuf call and do not set
274         record_fix fields.
275         (tinsn_immed_from_frag): Remove code for handling slot_sub_symbols.
276         (vinsn_to_insnbuf): Change use of record_fixup argument, replacing use
277         of the record_fix field.  Simplify error messages for unexpected
278         symbolic operands.
279         (set_expr_symbol_offset_diff): Delete.
280
281 2006-01-31  Paul Brook  <paul@codesourcery.com>
282
283         * config/tc-arm.c (arm_reg_parse): Check if reg is non-NULL.
284
285 2006-01-31  Paul Brook  <paul@codesourcery.com>
286         Richard Earnshaw <rearnsha@arm.com>
287
288         * config/tc-arm.c: Use arm_feature_set.
289         (arm_ext_*, arm_arch_full, arm_arch_t2, arm_arch_none,
290         arm_cext_iwmmxt, arm_cext_xscale, arm_cext_maverick, fpu_fpa_ext_v1,
291         fpu_fpa_ext_v2, fpu_vfp_ext_v1xd, fpu_vfp_ext_v1, fpu_vfp_ext_v2):
292         New variables.
293         (insns): Use them.
294         (md_atof, opcode_select, opcode_select, md_assemble, md_assemble,
295         md_begin, arm_parse_extension, arm_parse_cpu, arm_parse_arch,
296         arm_parse_fpu, arm_parse_float_abi, aeabi_set_public_attributes,
297         s_arm_cpu, s_arm_arch, s_arm_fpu): Use macros for accessing CPU
298         feature flags.
299         (arm_legacy_option_table, arm_option_cpu_value_table): New types.
300         (arm_opts): Move old cpu/arch options from here...
301         (arm_legacy_opts): ... to here.
302         (md_parse_option): Search arm_legacy_opts.
303         (arm_cpus, arm_archs, arm_extensions, arm_fpus)
304         (arm_float_abis, arm_eabis): Make const.
305
306 2006-01-25  Bob Wilson  <bob.wilson@acm.org>
307
308         * config/tc-xtensa.c (md_apply_fix): Set value to zero for PLT relocs.
309
310 2006-01-21  Jie Zhang  <jie.zhang@analog.com>
311
312         * config/bfin-parse.y (asm_1): Check value range for 16 bit immediate
313         in load immediate intruction.
314
315 2006-01-21  Jie Zhang  <jie.zhang@analog.com>
316
317         * config/bfin-parse.y (value_match): Use correct conversion
318         specifications in template string for __FILE__ and __LINE__.
319         (binary): Ditto.
320         (unary): Ditto.
321
322 2006-01-18  Alexandre Oliva  <aoliva@redhat.com>
323
324         Introduce TLS descriptors for i386 and x86_64.
325         * config/tc-i386.c (tc_i386_fix_adjustable): Handle
326         BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC_CALL,
327         BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL.
328         (optimize_disp): Emit fix up for BFD_RELOC_386_TLS_DESC_CALL and
329         BFD_RELOC_X86_64_TLSDESC_CALL immediately, and clear the
330         displacement bits.
331         (build_modrm_byte): Set up zero modrm for TLS desc calls.
332         (lex_got): Handle @tlsdesc and @tlscall.
333         (md_apply_fix, tc_gen_reloc): Handle the new relocations.
334
335 2006-01-11  Nick Clifton  <nickc@redhat.com>
336
337         Fixes for building on 64-bit hosts:
338         * config/tc-avr.c (mod_index): New union to allow conversion
339         between pointers and integers.
340         (md_begin, avr_ldi_expression): Use it.
341         * config/tc-i370.c (md_assemble): Add cast for argument to print
342         statement.
343         * config/tc-tic54x.c (subsym_substitute): Likewise.
344         * config/tc-mn10200.c (md_assemble): Use a union to convert the
345         opindex field of fr_cgen structure into a pointer so that it can
346         be stored in a frag.
347         * config/tc-mn10300.c (md_assemble): Likewise.
348         * config/tc-frv.c (frv_debug_tomcat): Use %p to print pointer
349         types.
350         * config/tc-v850.c: Replace uses of (int) casts with correct
351         types.
352
353 2006-01-09  H.J. Lu  <hongjiu.lu@intel.com>
354
355         PR gas/2117
356         * symbols.c (snapshot_symbol): Don't change a defined symbol.
357
358 2006-01-03  Hans-Peter Nilsson  <hp@bitrange.com>
359
360         PR gas/2101
361         * config/tc-mmix.c (mmix_handle_mmixal): Don't treat #[0-9][FB] as
362         a local-label reference.
363
364 For older changes see ChangeLog-2005
365 \f
366 Local Variables:
367 mode: change-log
368 left-margin: 8
369 fill-column: 74
370 version-control: never
371 End: