1 2012-03-15 Thomas Schwinge <thomas@codesourcery.com>
3 * doc/as.texinfo (Bundle directives): Fix typo.
5 2012-03-14 Ryan Mansfield <rmansfield@qnx.com>
7 * doc/as.texinfo (Bundle directives): Replace @defn with @dfn.
9 2012-03-13 Roland McGrath <mcgrathr@google.com>
11 * config/tc-arm.c (arm_frag_max_var): New function.
12 * config/tc-arm.h: Declare it.
13 (md_frag_max_var): New macro.
15 * config/tc-i386.c (i386_frag_max_var): New function.
16 * config/tc-i386.h: Declare it.
17 (md_frag_max_var): New macro.
19 * doc/as.texinfo (Bundle directives): New node.
20 (Pseudo Ops): Add it to the menu.
21 * NEWS: Mention new feature.
22 * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro.
23 [HANDLE_BUNDLE] (bundle_align_p2): New variable.
24 [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables.
25 [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle):
27 (assemble_one): New function if [HANDLE_BUNDLE], #define directly
28 to md_assembly if not.
29 (read_a_source_file): Call assemble_one in place of md_assemble.
30 (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated
31 .bundle_lock at end of processing.
32 [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock):
34 [HANDLE_BUNDLE] (potable): Add their entries.
35 * read.h: Declare new functions.
37 2012-03-10 Edmar Wienskoski <edmar@freescale.com>
39 * config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500.
40 (ppc_handle_align): Add termination nop opcode for e500mc family.
41 * doc/as.texinfo: Document options -me5500 and -me6500.
42 * doc/c-ppc.texi: Likewise.
44 2012-03-07 Nick Clifton <nickc@redhat.com>
46 * config/tc-mn10300.c (other_registers): Add SSP and USP.
47 (md_assemble): Add support for TLS relocs.
48 (mn10300_parse_name): Likewise.
50 2012-02-27 Alan Modra <amodra@gmail.com>
52 * config/tc-crx.c (check_range): Correct uint32_t misconceptions.
54 2012-02-27 Alan Modra <amodra@gmail.com>
56 * config/tc-tic4x.c (tic4x_do_align): Remove ATTRIBUTE_UNUSED on
57 params. Properly generate NOP pattern. Comment reason for
58 subseg_text_p failure.
60 2012-02-27 Alan Modra <amodra@gmail.com>
62 * config/tc-h8300.c (constant_fits_width_p): Trim constant to 32 bits
63 and sign extend before range tests.
64 (constant_fits_size_p): Similarly.
65 (get_specific): Trim X_add_number to 32 bits.
66 (fix_operand_size): Likewise, and use unsigned test for signed
69 2012-02-27 Alan Modra <amodra@gmail.com>
71 * config/tc-crx.c: Include bfd_stdint.h.
72 (getconstant): Remove irrelevant comment. Don't fail due to
73 sign-extension of int mask.
74 (check_range): Rewrite using unsigned arithmetic throughout.
76 2012-02-25 Walter Lee <walt@tilera.com>
78 * tc-tilepro.c (emit_tilepro_instruction): Check if symbol is
79 non-local before checking sy_value.
80 * tc-tilegx.c (emit_tilegx_instruction): Ditto.
82 2012-02-25 Walter Lee <walt@tilera.com>
84 * tc-tilepro.c (O_tls_le): Define operator.
85 (O_tls_le_lo16): Ditto.
86 (O_tls_le_hi16): Ditto.
87 (O_tls_le_ha16): Ditto.
88 (O_tls_gd_call): Ditto.
89 (O_tls_gd_add): Ditto.
90 (O_tls_ie_load): Ditto.
91 (md_begin): Delete old operators; handle new operators.
92 (emit_tilepro_instruction): Ditto.
93 (md_apply_fix): Ditto.
94 * tc-tilegx.c (O_hw1_got): Delete operator.
97 (O_hw2_last_got): Ditto.
98 (O_hw1_tls_gd): Ditto.
99 (O_hw2_tls_gd): Ditto.
100 (O_hw3_tls_gd): Ditto.
101 (O_hw2_last_tls_gd): Ditto.
102 (O_hw1_tls_ie): Ditto.
103 (O_hw2_tls_ie): Ditto.
104 (O_hw3_tls_ie): Ditto.
105 (O_hw2_last_tls_ie): Ditto.
106 (O_hw0_tls_le): Define operator.
107 (O_hw0_last_tls_le): Ditto.
108 (O_hw1_last_tls_le): Ditto.
109 (O_tls_gd_call): Ditto.
110 (O_tls_gd_add): Ditto.
111 (O_tls_ie_load): Ditto.
113 (md_begin): Delete old operators; handle new operators.
114 (emit_tilegx_instruction): Ditto.
115 (md_apply_fix): Ditto.
116 * doc/c-tilegx.texi: Delete old operators; document new operators.
117 * doc/c-tilepro.texi: Ditto.
119 2012-02-25 Walter Lee <walt@tilera.com>
121 * tc-tilepro.c (apply_special_operator): delete cases for
122 got and tls operators.
123 (md_apply_fix): Ditto.
124 * tc-tilegx.c (md_begin): Set architecture and machine.
125 (tilegx_target_format): Handle big endian.
128 (md_longopts): Add entries for "EB" and "EL".
129 (md_parse_option): Handle OPTION_EB and OPTION_EL.
130 (md_show_usage): Add -EB and -EL.
131 (md_number_to_chars): New.
132 (apply_special_operator): delete cases for got and tls
134 (md_apply_fix): Ditto.
135 * tc-tilegx.h (TARGET_BYTES_BIG_ENDIAN): Guard definition with
137 (md_number_to_chars): Delete.
138 * configure.tgt (tilegx*be): Handle.
139 * doc/as.texinfo [TILE-Gx]: Document -EB and -EL.
140 * doc/c-tilegx.texi: Ditto.
142 2012-02-21 H.J. Lu <hongjiu.lu@intel.com>
144 * config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
145 HLEPrefixAny and HLEPrefixRelease.
147 2012-02-21 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
149 * gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.
151 2012-02-21 Iain Sandoe <idsandoe@googlemail.com>
153 * write.c (write_object_file): Add md_pre_output_hook.
154 * config/obj-macho.c (obj_mach_o_check_before_writing): New.
155 (obj_mach_o_pre_output_hook): New.
156 * config/obj-macho.h (md_pre_output_hook): Define.
157 (obj_mach_o_pre_output_hook): Declare.
159 2012-02-21 Tristan Gingold <gingold@adacore.com>
161 * config/tc-i386.h (OBJ_MACH_O): New section.
162 (TC_FORCE_RELOCATION): Use obj_mach_o_force_reloc.
163 (TC_FORCE_RELOCATION_SUB_SAME): New
164 (TC_FORCE_RELOCATION_SUB_LOCAL): New.
165 (TC_VALIDATE_FIX_SUB): New.
166 * frags.h (struct frag): OBJ_FRAG_TYPE, new field.
167 * symbols.c (colon): obj_frob_colon: New hook.
168 * write.c (write_object_file): md_pre_relax_hook, new
170 * config/obj-macho.c (obj_mach_o_frob_colon): New.
171 (obj_mach_o_frob_label): Record sub-section labels.
172 (obj_mach_o_frob_symbol): Rename from obj_macho_frob_symbol.
173 (obj_mach_o_set_subsections): New.
174 (obj_mach_o_pre_relax_hook): New.
175 (obj_mach_o_in_different_subsection): New.
176 (obj_mach_o_force_reloc_sub_same): New.
177 (obj_mach_o_force_reloc_sub_local): New.
178 (obj_mach_o_force_reloc): New.
179 * config/obj-macho.h (OBJ_SYMFIELD_TYPE): New.
180 (obj_frob_colon): New Define.
181 (obj_mach_o_frob_label): Renamed.
182 (obj_mach_o_frob_symbol): Renamed.
183 (OBJ_FRAG_TYPE): New.
184 (obj_mach_o_in_different_subsection, obj_mach_o_force_reloc,
185 obj_mach_o_force_reloc_sub_same,
186 obj_mach_o_force_reloc_sub_local): New declarations.
188 2012-02-20 Iain Sandoe <idsandoe@googlemail.com>
190 * config/obj-macho.c (obj_mach_o_is_frame_section): New.
191 (obj_mach_o_allow_local_subtract): New.
192 * config/obj-macho.h (md_allow_local_subtract): Define.
193 (obj_mach_o_allow_local_subtract): Declare.
195 2012-02-20 Iain Sandoe <idsandoe@googlemail.com>
197 * config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
198 canonical information, try to determine CODE and DEBUG section flags
199 from the mach-o section data.
201 2012-02-20 Nick Clifton <nickc@redhat.com>
203 * cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on
206 2012-02-12 Iain Sandoe <idsandoe@googlemail.com>
208 * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of
209 any local symbol used as an indirect.
211 2012-02-10 Iain Sandoe <idsandoe@googlemail.com>
213 * config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in
214 stub size when provided. (obj_mach_o_section): Flag that stub-size
217 2012-02-08 H.J. Lu <hongjiu.lu@intel.com>
219 * config/tc-i386.c (HLE_PREFIX): New.
220 (check_hle): Likewise.
221 (_i386_insn): Add have_hle.
222 (cpu_arch): Add .hle and .rtm.
223 (md_assemble): Call check_hle if i.have_hle isn't zero.
224 (parse_insn): Set i.have_hle to 1 for HLE prefix.
225 (output_jump): Support up to 2 byte opcode.
227 * doc/c-i386.texi: Document hle/.hle and rtm/.rtm.
229 2012-02-02 Tristan Gingold <gingold@adacore.com>
231 * config/obj-macho.c (obj_mach_o_zerofill): Silent
232 uninitialized variable warning.
234 2012-02-02 Nick Clifton <nickc@redhat.com>
237 * config/obj-elf.c (obj_elf_parse_section_letters): Rename 'clone'
238 to 'is_clone' to avoid shadowing a gloabl.
239 (obj_elf_section): Likewise.
241 2012-01-31 Paul Brook <paul@codesourcery.com>
243 * doc/c-tic6x.c: Fix typo.
245 2012-01-26 Alexey Makhalov <makhaloff@gmail.com>
248 * app.c (app_push): Set 'add_newlines' to zero after saving.
250 2012-01-24 DJ Delorie <dj@redhat.com>
252 * config/rl78-parse.y (NOT1): Add.
254 2012-01-23 Roland McGrath <mcgrathr@google.com>
256 * configure.tgt (i386-*-nacl*): Match it.
257 * config/te-nacl.h: New file.
258 * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT): Define for this case.
259 * config/tc-i386.c [TE_NACL] (i386_comment_chars, PREFIX_SEPARATOR):
260 Use TE_GNU et al case for TE_NACL too.
262 2012-01-20 H.J. Lu <hongjiu.lu@intel.com>
264 * config/tc-i386.c (_i386_insn): Replace disp32_encoding with
266 (md_assemble): Updated.
267 (output_branch): Likewise.
268 (parse_insn): Support .d8 suffix.
269 (build_modrm_byte): Fake zero displacement for .d8 and .d32
272 * doc/c-i386.texi: Document .d8 suffix.
274 2012-01-17 Andrew Burgess <aburgess@broadcom.com>
276 * write.c (fix_new_internal): Don't mark used parameter as unused.
278 2012-01-17 Alan Modra <amodra@gmail.com>
280 * as.c (parse_args): Update copyright message year.
282 2012-01-13 H.J. Lu <hongjiu.lu@intel.com>
284 * config/tc-i386.c (cpu_arch): Add ".vmfunc".
286 * doc/c-i386.texi: Document vmfunc.
288 2012-01-13 Tristan Gingold <gingold@adacore.com>
290 * config/obj-macho.c (obj_mach_o_reorder_section_relocs): New.
291 * config/obj-macho.h (SET_SECTION_RELOCS): Define.
292 (obj_mach_o_reorder_section_relocs): Declare.
294 2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
296 * config/obj-macho.c (obj_mach_o_set_indirect_symbols): Handle
297 absolute indirect symbols.
299 2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
301 * config/obj-macho.c (obj_mach_o_set_vma_data): New type.
302 (obj_mach_o_set_section_vma): New.
303 (obj_mach_o_post_relax_hook): New.
304 * config/obj-macho.h (md_post_relax_hook): Define.
305 (obj_mach_o_post_relax_hook): Declare.
307 2012-01-12 Iain Sandoe <idsandoe@googlemail.com>
309 * config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
310 lazy when the symbol is private_extern.
311 (obj_mach_o_indirect_sym): New type.
312 (obj_mach_o_indirect_symbol): New.
313 (mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
314 (obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
315 (obj_macho_frob_label): Likewise. Adjust external and comm
317 (obj_mach_o_set_indirect_symbols): New.
318 (obj_mach_o_frob_file_after_relocs): New.
319 *config/obj-macho.h (obj_frob_file_after_relocs): Define.
320 (obj_mach_o_frob_file_after_relocs): Declare.
322 2012-01-12 Tristan Gingold <gingold@adacore.com>
325 * config/obj-coff.h (sy_obj): Rename macro to avoid a name conflict.
327 2012-01-10 Tristan Gingold <gingold@adacore.com>
329 * struc-symbol.h (struct symbol_flags): New struct, created from...
330 (struct symbol): ... this one. Add sy_flags field, remove flag fields.
331 (struct local_symbol): Replace lsy_marker field by lsy_flags.
333 (local_symbol_resolved_p): Adjust.
334 (local_symbol_mark_resolved): Likewise.
335 * symbols.c (LOCAL_SYMBOL_CHECK): Adjust.
336 (local_symbol_make, local_symbol_convert, colon)
337 (symbol_clone_if_forward_ref, verify_symbol_chain)
338 (resolve_symbol_value, snapshot_symbol, S_GET_VALUE)
339 (S_IS_WEAKREFR, S_IS_WEAKREFD, S_IS_VOLATILE, S_IS_FORWARD_REF)
340 (S_SET_WEAKREFR, S_CLEAR_WEAKREFR, S_SET_WEAKREFD)
341 (S_CLEAR_WEAKREFD, S_SET_VOLATILE, S_CLEAR_VOLATILE)
342 (S_SET_FORWARD_REF, symbol_same_p, symbol_mark_used)
343 (symbol_clear_used, symbol_used_p, symbol_mark_used_in_reloc)
344 (symbol_clear_used_in_reloc, symbol_used_in_reloc_p)
345 (symbol_mark_mri_common, symbol_clear_mri_common)
346 (symbol_mri_common_p, symbol_mark_written, symbol_clear_written)
347 (symbol_written_p, symbol_mark_resolved, symbol_resolved_p)
348 (symbol_equated_reloc_p, dot_symbol_init)
349 (print_symbol_value_1): Adjust.
351 2012-01-09 Iain Sandoe <idsandoe@googlemail.com>
353 * config/obj-macho.c (obj_mach_o_weak): Remove.
354 (obj_mach_o_common_parse): Set symbol qualifiers.
355 (LAZY, REFE): New macros.
356 (obj_mach_o_symbol_type): New enum.
357 (obj_mach_o_set_symbol_qualifier): New.
358 (obj_mach_o_sym_qual): New.
359 (mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to
361 (obj_mach_o_type_for_symbol): New.
362 (obj_macho_frob_label): New.
363 (obj_macho_frob_symbol): New.
364 * config/obj-macho.h (S_SET_ALIGN): Amend temorary var name.
365 (obj_frob_label, obj_macho_frob_label): Declare.
366 (obj_frob_symbol, obj_macho_frob_symbol): Declare.
368 2012-01-08 Richard Sandiford <rdsandiford@googlemail.com>
370 * config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.
372 2012-01-08 Andrew Pinski <andrew.pinski@caviumnetworks.com>
373 Richard Sandiford <rdsandiford@googlemail.com>
375 * config/tc-mips.c (mips_move_labels): Take the list of labels and
376 textness as parameters.
377 (mips_move_text_labels): New function.
378 (append_insn): Use it instead of mips_move_labels.
379 (mips_emit_delays, start_noreorder): Likewise.
380 (mips_align): Take the labels rather than just one label.
381 Move all labels to after the .align.
382 (s_align): Change the last argument to mips_align.
384 (s_float_cons): Likewise.
385 (s_gpword): Likewise.
386 (s_gpdword): Likewise.
388 2012-01-06 Tristan Gingold <gingold@adacore.com>
390 * config/tc-i386.c: Update copyright year.
391 (lex_got): Also defined for Mach-O.
392 Add a guard for non-ELF configuration.
393 (md_longopts): Also handle -64 for Mach-O.
394 (md_parse_option): Likewise.
395 (i386_target_format): Adjust for x86_64-darwin.
397 2012-01-04 Iain Sandoe <idsandoe@googlemail.com>
399 * config/obj-macho.c (obj_mach_o_segT_from_bfd_name): Tidy definition.
400 (obj_mach_o_get_section_names): New (split from obj_mach_o_section).
401 (obj_mach_o_make_or_get_sect): Likewise.
402 (obj_mach_o_section): Split out the functionality shared with zerofill.
403 (obj_mach_o_zerofill): New.
404 (obj_mach_o_common_parse): Ensure whitespace is skipped.
405 (mach_o_pseudo_table): Add .zerofill.
407 2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
409 * config/obj-macho.c (obj_macho_process_stab): New.
410 * config/obj-macho.h (OBJ_PROCESS_STAB): Define.
411 (obj_macho_process_stab): Declare.
413 For older changes see ChangeLog-2011
419 version-control: never