Improve TLS support on TILE-Gx/TILEPro:
[binutils.git] / gas / ChangeLog
blob5e5f50b36e34c4d8f49de18d1a3e770e148e696a
1 2012-02-25  Walter Lee  <walt@tilera.com>
3         * tc-tilepro.c (O_tls_le): Define operator.
4         (O_tls_le_lo16): Ditto.
5         (O_tls_le_hi16): Ditto.
6         (O_tls_le_ha16): Ditto.
7         (O_tls_gd_call): Ditto.
8         (O_tls_gd_add): Ditto.
9         (O_tls_ie_load): Ditto.
10         (md_begin): Delete old operators; handle new operators.
11         (emit_tilepro_instruction): Ditto.
12         (md_apply_fix): Ditto.
13         * tc-tilegx.c (O_hw1_got): Delete operator.
14         (O_hw2_got): Ditto.
15         (O_hw3_got): Ditto.
16         (O_hw2_last_got): Ditto.
17         (O_hw1_tls_gd): Ditto.
18         (O_hw2_tls_gd): Ditto.
19         (O_hw3_tls_gd): Ditto.
20         (O_hw2_last_tls_gd): Ditto.
21         (O_hw1_tls_ie): Ditto.
22         (O_hw2_tls_ie): Ditto.
23         (O_hw3_tls_ie): Ditto.
24         (O_hw2_last_tls_ie): Ditto.
25         (O_hw0_tls_le): Define operator.
26         (O_hw0_last_tls_le): Ditto.
27         (O_hw1_last_tls_le): Ditto.
28         (O_tls_gd_call): Ditto.
29         (O_tls_gd_add): Ditto.
30         (O_tls_ie_load): Ditto.
31         (O_tls_add): Ditto.
32         (md_begin): Delete old operators; handle new operators.
33         (emit_tilegx_instruction): Ditto.
34         (md_apply_fix): Ditto.
35         * doc/c-tilegx.texi: Delete old operators; document new operators.
36         * doc/c-tilepro.texi: Ditto.
38 2012-02-25  Walter Lee  <walt@tilera.com>
40         * tc-tilepro.c (apply_special_operator): delete cases for
41         got and tls operators.
42         (md_apply_fix): Ditto.
43         * tc-tilegx.c (md_begin): Set architecture and machine.
44         (tilegx_target_format): Handle big endian.
45         (OPTION_EB): Define.
46         (OPTION_EL): Define.
47         (md_longopts): Add entries for "EB" and "EL".
48         (md_parse_option): Handle OPTION_EB and OPTION_EL.
49         (md_show_usage): Add -EB and -EL.
50         (md_number_to_chars): New.
51         (apply_special_operator): delete cases for got and tls
52         operators.
53         (md_apply_fix): Ditto.
54         * tc-tilegx.h (TARGET_BYTES_BIG_ENDIAN): Guard definition with
55         ifndef.
56         (md_number_to_chars): Delete.
57         * configure.tgt (tilegx*be): Handle.
58         * doc/as.texinfo [TILE-Gx]: Document -EB and -EL.
59         * doc/c-tilegx.texi: Ditto.
61 2012-02-21  H.J. Lu  <hongjiu.lu@intel.com>
63         * config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
64         HLEPrefixAny and HLEPrefixRelease.
66 2012-02-21  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
68         * gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.
70 2012-02-21  Iain Sandoe  <idsandoe@googlemail.com>
72         * write.c (write_object_file): Add md_pre_output_hook.
73         * config/obj-macho.c (obj_mach_o_check_before_writing): New.
74         (obj_mach_o_pre_output_hook): New.
75         * config/obj-macho.h (md_pre_output_hook): Define.
76         (obj_mach_o_pre_output_hook): Declare.
78 2012-02-21  Tristan Gingold  <gingold@adacore.com>
80         * config/tc-i386.h (OBJ_MACH_O): New section.
81         (TC_FORCE_RELOCATION): Use obj_mach_o_force_reloc.
82         (TC_FORCE_RELOCATION_SUB_SAME): New
83         (TC_FORCE_RELOCATION_SUB_LOCAL): New.
84         (TC_VALIDATE_FIX_SUB): New.
85         * frags.h (struct frag): OBJ_FRAG_TYPE, new field.
86         * symbols.c (colon): obj_frob_colon: New hook.
87         * write.c (write_object_file): md_pre_relax_hook, new
88         hook.
89         * config/obj-macho.c (obj_mach_o_frob_colon): New.
90         (obj_mach_o_frob_label): Record sub-section labels.
91         (obj_mach_o_frob_symbol): Rename from obj_macho_frob_symbol.
92         (obj_mach_o_set_subsections): New.
93         (obj_mach_o_pre_relax_hook): New.
94         (obj_mach_o_in_different_subsection): New.
95         (obj_mach_o_force_reloc_sub_same): New.
96         (obj_mach_o_force_reloc_sub_local): New.
97         (obj_mach_o_force_reloc): New.
98         * config/obj-macho.h (OBJ_SYMFIELD_TYPE): New.
99         (obj_frob_colon): New Define.
100         (obj_mach_o_frob_label): Renamed.
101         (obj_mach_o_frob_symbol): Renamed.
102         (OBJ_FRAG_TYPE): New.
103         (obj_mach_o_in_different_subsection, obj_mach_o_force_reloc,
104          obj_mach_o_force_reloc_sub_same,
105          obj_mach_o_force_reloc_sub_local): New declarations.
107 2012-02-20  Iain Sandoe  <idsandoe@googlemail.com>
109         * config/obj-macho.c (obj_mach_o_is_frame_section): New.
110         (obj_mach_o_allow_local_subtract): New.
111         * config/obj-macho.h (md_allow_local_subtract): Define.
112         (obj_mach_o_allow_local_subtract): Declare.
114 2012-02-20  Iain Sandoe  <idsandoe@googlemail.com>
116         * config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
117         canonical information, try to determine CODE and DEBUG section flags
118         from the mach-o section data.
120 2012-02-20  Nick Clifton  <nickc@redhat.com>
122         * cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on
123         local symbols.
125 2012-02-12  Iain Sandoe  <idsandoe@googlemail.com>
127         * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of
128         any local symbol used as an indirect.
130 2012-02-10  Iain Sandoe  <idsandoe@googlemail.com>
132         * config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in
133         stub size when provided.  (obj_mach_o_section): Flag that stub-size
134         has been provided.
136 2012-02-08  H.J. Lu  <hongjiu.lu@intel.com>
138         * config/tc-i386.c (HLE_PREFIX): New.
139         (check_hle): Likewise.
140         (_i386_insn): Add have_hle.
141         (cpu_arch): Add .hle and .rtm.
142         (md_assemble): Call check_hle if i.have_hle isn't zero.
143         (parse_insn): Set i.have_hle to 1 for HLE prefix.
144         (output_jump): Support up to 2 byte opcode.
146         * doc/c-i386.texi: Document hle/.hle and rtm/.rtm.
148 2012-02-02  Tristan Gingold  <gingold@adacore.com>
150         * config/obj-macho.c (obj_mach_o_zerofill): Silent
151         uninitialized variable warning.
153 2012-02-02  Nick Clifton  <nickc@redhat.com>
155         PR gas/13224
156         * config/obj-elf.c (obj_elf_parse_section_letters): Rename 'clone'
157         to 'is_clone' to avoid shadowing a gloabl.
158         (obj_elf_section): Likewise.
160 2012-01-31  Paul Brook  <paul@codesourcery.com>
162         * doc/c-tic6x.c: Fix typo.
164 2012-01-26  Alexey Makhalov  <makhaloff@gmail.com>
166         PR gas/13624
167         * app.c (app_push): Set 'add_newlines' to zero after saving.
169 2012-01-24  DJ Delorie  <dj@redhat.com>
171         * config/rl78-parse.y (NOT1): Add.
173 2012-01-23  Roland McGrath  <mcgrathr@google.com>
175         * configure.tgt (i386-*-nacl*): Match it.
176         * config/te-nacl.h: New file.
177         * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT): Define for this case.
178         * config/tc-i386.c [TE_NACL] (i386_comment_chars, PREFIX_SEPARATOR):
179         Use TE_GNU et al case for TE_NACL too.
181 2012-01-20  H.J. Lu  <hongjiu.lu@intel.com>
183         * config/tc-i386.c (_i386_insn): Replace disp32_encoding with
184         disp_encoding.
185         (md_assemble): Updated.
186         (output_branch): Likewise.
187         (parse_insn): Support .d8 suffix.
188         (build_modrm_byte): Fake zero displacement for .d8 and .d32
189         suffixes.
191         * doc/c-i386.texi: Document .d8 suffix.
193 2012-01-17  Andrew Burgess  <aburgess@broadcom.com>
195         * write.c (fix_new_internal): Don't mark used parameter as unused.
197 2012-01-17  Alan Modra  <amodra@gmail.com>
199         * as.c (parse_args): Update copyright message year.
201 2012-01-13  H.J. Lu  <hongjiu.lu@intel.com>
203         * config/tc-i386.c (cpu_arch): Add ".vmfunc".
205         * doc/c-i386.texi: Document vmfunc.
207 2012-01-13  Tristan Gingold  <gingold@adacore.com>
209         * config/obj-macho.c (obj_mach_o_reorder_section_relocs): New.
210         * config/obj-macho.h (SET_SECTION_RELOCS): Define.
211         (obj_mach_o_reorder_section_relocs): Declare.
213 2012-01-13  Iain Sandoe  <idsandoe@googlemail.com>
215         * config/obj-macho.c (obj_mach_o_set_indirect_symbols): Handle
216         absolute indirect symbols.
218 2012-01-13  Iain Sandoe  <idsandoe@googlemail.com>
220         * config/obj-macho.c (obj_mach_o_set_vma_data): New type.
221         (obj_mach_o_set_section_vma): New.
222         (obj_mach_o_post_relax_hook): New.
223         * config/obj-macho.h (md_post_relax_hook): Define.
224         (obj_mach_o_post_relax_hook): Declare.
226 2012-01-12  Iain Sandoe  <idsandoe@googlemail.com>
228         * config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
229         lazy when the symbol is private_extern.
230         (obj_mach_o_indirect_sym): New type.
231         (obj_mach_o_indirect_symbol): New.
232         (mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
233         (obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
234         (obj_macho_frob_label): Likewise.  Adjust external and comm
235         symbol tests.
236         (obj_mach_o_set_indirect_symbols): New.
237         (obj_mach_o_frob_file_after_relocs): New.
238         *config/obj-macho.h (obj_frob_file_after_relocs): Define.
239         (obj_mach_o_frob_file_after_relocs): Declare.
241 2012-01-12  Tristan Gingold  <gingold@adacore.com>
243         PR gas/13591
244         * config/obj-coff.h (sy_obj): Rename macro to avoid a name conflict.
246 2012-01-10  Tristan Gingold  <gingold@adacore.com>
248         * struc-symbol.h (struct symbol_flags): New struct, created from...
249         (struct symbol): ... this one.  Add sy_flags field, remove flag fields.
250         (struct local_symbol): Replace lsy_marker field by lsy_flags.
251         Adjust comment.
252         (local_symbol_resolved_p): Adjust.
253         (local_symbol_mark_resolved): Likewise.
254         * symbols.c (LOCAL_SYMBOL_CHECK): Adjust.
255         (local_symbol_make, local_symbol_convert, colon)
256         (symbol_clone_if_forward_ref, verify_symbol_chain)
257         (resolve_symbol_value, snapshot_symbol, S_GET_VALUE)
258         (S_IS_WEAKREFR, S_IS_WEAKREFD, S_IS_VOLATILE, S_IS_FORWARD_REF)
259         (S_SET_WEAKREFR, S_CLEAR_WEAKREFR, S_SET_WEAKREFD)
260         (S_CLEAR_WEAKREFD, S_SET_VOLATILE, S_CLEAR_VOLATILE)
261         (S_SET_FORWARD_REF, symbol_same_p, symbol_mark_used)
262         (symbol_clear_used, symbol_used_p, symbol_mark_used_in_reloc)
263         (symbol_clear_used_in_reloc, symbol_used_in_reloc_p)
264         (symbol_mark_mri_common, symbol_clear_mri_common)
265         (symbol_mri_common_p, symbol_mark_written, symbol_clear_written)
266         (symbol_written_p, symbol_mark_resolved, symbol_resolved_p)
267         (symbol_equated_reloc_p, dot_symbol_init)
268         (print_symbol_value_1): Adjust.
270 2012-01-09  Iain Sandoe  <idsandoe@googlemail.com>
272         * config/obj-macho.c (obj_mach_o_weak): Remove.
273         (obj_mach_o_common_parse): Set symbol qualifiers.
274         (LAZY, REFE): New macros.
275         (obj_mach_o_symbol_type): New enum.
276         (obj_mach_o_set_symbol_qualifier): New.
277         (obj_mach_o_sym_qual): New.
278         (mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to
279         a dummy function.
280         (obj_mach_o_type_for_symbol): New.
281         (obj_macho_frob_label): New.
282         (obj_macho_frob_symbol): New.
283         * config/obj-macho.h (S_SET_ALIGN): Amend temorary var name.
284         (obj_frob_label, obj_macho_frob_label): Declare.
285         (obj_frob_symbol, obj_macho_frob_symbol): Declare.
287 2012-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
289         * config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.
291 2012-01-08  Andrew Pinski  <andrew.pinski@caviumnetworks.com>
292             Richard Sandiford  <rdsandiford@googlemail.com>
294         * config/tc-mips.c (mips_move_labels): Take the list of labels and
295         textness as parameters.
296         (mips_move_text_labels): New function.
297         (append_insn): Use it instead of mips_move_labels.
298         (mips_emit_delays, start_noreorder): Likewise.
299         (mips_align): Take the labels rather than just one label.
300         Move all labels to after the .align.
301         (s_align): Change the last argument to mips_align.
302         (s_cons): Likewise.
303         (s_float_cons): Likewise.
304         (s_gpword): Likewise.
305         (s_gpdword): Likewise.
307 2012-01-06  Tristan Gingold  <gingold@adacore.com>
309         * config/tc-i386.c: Update copyright year.
310         (lex_got): Also defined for Mach-O.
311         Add a guard for non-ELF configuration.
312         (md_longopts): Also handle -64 for Mach-O.
313         (md_parse_option): Likewise.
314         (i386_target_format): Adjust for x86_64-darwin.
316 2012-01-04  Iain Sandoe  <idsandoe@googlemail.com>
318         * config/obj-macho.c (obj_mach_o_segT_from_bfd_name): Tidy definition.
319         (obj_mach_o_get_section_names): New (split from obj_mach_o_section).
320         (obj_mach_o_make_or_get_sect): Likewise.
321         (obj_mach_o_section): Split out the functionality shared with zerofill.
322         (obj_mach_o_zerofill): New.
323         (obj_mach_o_common_parse): Ensure whitespace is skipped.
324         (mach_o_pseudo_table): Add .zerofill.
326 2012-01-03  Iain Sandoe  <idsandoe@googlemail.com>
328         * config/obj-macho.c (obj_macho_process_stab): New.
329         * config/obj-macho.h (OBJ_PROCESS_STAB): Define.
330         (obj_macho_process_stab): Declare.
332 For older changes see ChangeLog-2011
334 Local Variables:
335 mode: change-log
336 left-margin: 8
337 fill-column: 74
338 version-control: never
339 End: