i386: Generate lfence with load/indirect branch/ret [CVE-2020-0551]
[deliverable/binutils-gdb.git] / gas / ChangeLog
1 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
2
3 * config/tc-i386.c (lfence_after_load): New.
4 (lfence_before_indirect_branch_kind): New.
5 (lfence_before_indirect_branch): New.
6 (lfence_before_ret_kind): New.
7 (lfence_before_ret): New.
8 (last_insn): New.
9 (load_insn_p): New.
10 (insert_lfence_after): New.
11 (insert_lfence_before): New.
12 (md_assemble): Call insert_lfence_before and insert_lfence_after.
13 Set last_insn.
14 (OPTION_MLFENCE_AFTER_LOAD): New.
15 (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
16 (OPTION_MLFENCE_BEFORE_RET): New.
17 (md_longopts): Add -mlfence-after-load=,
18 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
19 (md_parse_option): Handle -mlfence-after-load=,
20 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
21 (md_show_usage): Display -mlfence-after-load=,
22 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
23 (i386_cons_align): New.
24 * config/tc-i386.h (i386_cons_align): New.
25 (md_cons_align): New.
26 * doc/c-i386.texi: Document -mlfence-after-load=,
27 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
28
29 2020-03-11 Nick Clifton <nickc@redhat.com>
30
31 PR 25611
32 PR 25614
33 * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
34 (DWARF2_FILE_SIZE_NAME): Default to -1.
35 (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
36 whichever is higher.
37 (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
38 (NUM_MD5_BYTES): Define.
39 (struct file entry): Add md5 field.
40 (get_filenum): Delete and replace with...
41 (get_basename): New function.
42 (get_directory_table_entry): New function.
43 (allocate_filenum): New function.
44 (allocate_filename_to_slot): New function.
45 (dwarf2_where): Use new functions.
46 (dwarf2_directive_filename): Add support for extended .file
47 pseudo-op.
48 (dwarf2_directive_loc): Allow the use of file number zero with
49 DWARF 5 or higher.
50 (out_file_list): Rename to...
51 (out_dir_and_file_list): Add DWARF 5 support.
52 (out_debug_line): Emit extra values into the section header for
53 DWARF 5.
54 (out_debug_str): Allow for file 0 to be used with DWARF 5.
55 * doc/as.texi (.file): Update the description of this pseudo-op.
56 * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
57 * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
58 * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
59 * NEWS: Mention the new feature.
60
61 2020-03-10 Alan Modra <amodra@gmail.com>
62
63 * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
64 to avoid signed overflow.
65 * config/tc-mcore.c (md_assemble): Likewise.
66 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
67 * config/tc-nds32.c (SET_ADDEND): Likewise.
68 * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
69
70 2020-03-09 Jan Beulich <jbeulich@suse.com>
71
72 * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
73 * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
74 testsuite/gas/i386/avx-intel.d: Adjust expectations.
75
76 2020-03-07 Alan Modra <amodra@gmail.com>
77
78 * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
79 first column.
80
81 2020-03-06 Nick Clifton <nickc@redhat.com>
82
83 PR 25614
84 * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
85 0 if the dwarf_level is 5 or more. Complain if a filename follows
86 a file 0.
87 * testsuite/gas/elf/dwarf-5-file0.s: New test.
88 * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
89 * testsuite/gas/elf/elf.exp: Run the new test.
90
91 PR 25612
92 * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
93 * doc/as.texi: Fix another typo.
94
95 2020-03-06 Nick Clifton <nickc@redhat.com>
96
97 PR 25612
98 * as.c (dwarf_level): Define.
99 (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
100 (parse_args): Add support for the new options.
101 as.h (dwarf_level): Prototype.
102 * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
103 value.
104 * config/tc-ia64.h (DWARF2_VERISION): Update definition.
105 (DWARF2_LINE_VERSION): Remove definition.
106 * doc/as.texi: Document the new options.
107
108 2020-03-06 Nick Clifton <nickc@redhat.com>
109
110 PR 25572
111 * as.c (main): Allow matching input and outputs when they are
112 not regular files.
113
114 2020-03-06 Jan Beulich <jbeulich@suse.com>
115
116 * config/tc-i386.c (match_mem_size): Generalize broadcast special
117 casing.
118 (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
119 one of byte/word/dword/qword is set alongside a SIMD register in
120 a template's operand.
121
122 2020-03-06 Jan Beulich <jbeulich@suse.com>
123
124 * config/tc-i386.c (match_template): Extend code in logic
125 rejecting certain suffixes in certain modes to also cover mask
126 register use and VecSIB. Drop special casing of broadcast. Skip
127 immediates in the check.
128
129 2020-03-06 Jan Beulich <jbeulich@suse.com>
130
131 * config/tc-i386.c (match_template): Fold duplicate code in
132 logic rejecting certain suffixes in certain modes. Drop
133 pointless "else".
134
135 2020-03-06 Jan Beulich <jbeulich@suse.com>
136
137 * config/tc-i386.c (process_suffix): Exlucde !vexw insns
138 alongside !norex64 ones.
139 * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
140 with both 32- and 64-bit GPR operands.
141 * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
142 32- and 64-bit GPR operands.
143 * testsuite/gas/i386/x86-64-avx512bw-intel.d,
144 testsuite/gas/i386/x86-64-avx512bw.d,
145 testsuite/gas/i386/x86-64-avx512f-intel.d,
146 testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
147
148 2020-03-06 Jan Beulich <jbeulich@suse.com>
149
150 * config/tc-i386.c (md_assemble): Drop use of rex64.
151 (process_suffix): For REX.W for 64-bit CRC32.
152
153 2020-03-06 Jan Beulich <jbeulich@suse.com>
154
155 * config/tc-i386.c (i386_addressing_mode): For 32-bit
156 addressing for MPX insns without base/index.
157 * testsuite/gas/i386/mpx-16bit.s,
158 * testsuite/gas/i386/mpx-16bit.d: New.
159 * testsuite/gas/i386/i386.exp: Run new test.
160
161 2020-03-06 Jan Beulich <jbeulich@suse.com>
162
163 * testsuite/gas/i386/adx.s, testsuite/gas/i386/cet.s,
164 testsuite/gas/i386/ept.s, testsuite/gas/i386/fsgs.s,
165 testsuite/gas/i386/invpcid.s, testsuite/gas/i386/movdir.s,
166 testsuite/gas/i386/ptwrite.s, testsuite/gas/i386/vmx.s,
167 * testsuite/gas/i386/code16.s: Add CR, DR, and TR access cases
168 as well as a BSWAP one.
169 * testsuite/gas/i386/rdpid.s: Add 16-bit case.
170 * testsuite/gas/i386/sse2-16bit.s: Cover more insns.
171 * testsuite/gas/i386/adx-intel.d, testsuite/gas/i386/adx.d,
172 testsuite/gas/i386/cet-intel.d, testsuite/gas/i386/cet.d,
173 testsuite/gas/i386/code16.d, testsuite/gas/i386/ept-intel.d,
174 testsuite/gas/i386/ept.d, testsuite/gas/i386/fsgs-intel.d,
175 testsuite/gas/i386/fsgs.d, testsuite/gas/i386/invpcid-intel.d,
176 testsuite/gas/i386/invpcid.d, testsuite/gas/i386/movdir-intel.d,
177 testsuite/gas/i386/movdir.d, testsuite/gas/i386/ptwrite-intel.d,
178 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/rdpid-intel.d,
179 testsuite/gas/i386/rdpid.d, testsuite/gas/i386/sse2-16bit.d,
180 testsuite/gas/i386/vmx.d: Adjust expectations.
181
182 2020-03-06 Jan Beulich <jbeulich@suse.com>
183
184 * config/tc-i386.c (md_assemble): Also exclude tpause and umwait
185 from having their operands swapped.
186 * testsuite/gas/i386/waitpkg.s,
187 testsuite/gas/i386/x86-64-waitpkg.s: Add tpause and umwait
188 3-operand cases as well as testing of 16-bit code generation.
189 * testsuite/gas/i386/waitpkg.d,
190 testsuite/gas/i386/waitpkg-intel.d,
191 testsuite/gas/i386/x86-64-waitpkg.d,
192 testsuite/gas/i386/x86-64-waitpkg-intel.d: Adjust expectations.
193
194 2020-03-04 Nelson Chu <nelson.chu@sifive.com>
195
196 * config/tc-riscv.c (percent_op_utype): Support the modifier
197 %got_pcrel_hi.
198 * doc/c-riscv.texi: Add documentation.
199 * testsuite/gas/riscv/no-relax-reloc.d: Add test case for the new
200 modifier %got_pcrel_hi.
201 * testsuite/gas/riscv/no-relax-reloc.s: Likewise.
202 * testsuite/gas/riscv/relax-reloc.d: Likewise.
203 * testsuite/gas/riscv/relax-reloc.s: Likewise.
204
205 * doc/c-riscv.texi (relocation modifiers): Add documentation.
206 (RISC-V-Formats): Update the section name from "Instruction Formats"
207 to "RISC-V Instruction Formats".
208
209 2020-03-04 Alexandre Oliva <oliva@adacore.com>
210
211 * config/tc-arm.c (md_apply_fix): Warn if a PC-relative load is
212 detected in a section which does not have at least 4 byte
213 alignment.
214 * testsuite/gas/arm/armv8-ar-it-bad.s: Add alignment directive.
215 * testsuite/gas/arm/ldr-t.s: Likewise.
216 * testsuite/gas/arm/sp-pc-usage-t.s: Likewise.
217 * testsuite/gas/arm/sp-pc-usage-t.d: Finish test at end of
218 disassembly, ignoring any NOPs that may have been inserted because
219 of section alignment.
220 * testsuite/gas/arm/ldr-t.d: Likewise.
221
222 2020-03-04 Jan Beulich <jbeulich@suse.com>
223
224 * config/tc-i386.c (cpu_arch): Add .sev_es entry.
225 * doc/c-i386.texi: Mention sev_es.
226 * testsuite/gas/i386/arch-13.s: Add SEV-ES case.
227 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
228 expectations.
229 * testsuite/gas/i386/arch-13-znver1.d,
230 testsuite/gas/i386/arch-13-znver2.d: Extend -march=.
231
232 2020-03-03 H.J. Lu <hongjiu.lu@intel.com>
233
234 * config/tc-i386.c (match_template): Replace ignoresize and
235 defaultsize with mnemonicsize.
236 (process_suffix): Likewise.
237
238 2020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
239
240 PR 25627
241 * config/tc-z80.c (emit_ld_rr_m): Fix invalid compilation of
242 instruction LD IY,(HL).
243 * testsuite/gas/z80/ez80_adl_all.d: Update expected disassembly.
244 * testsuite/gas/z80/ez80_adl_all.s: Add tests of the instruction.
245 * testsuite/gas/z80/ez80_z80_all.d: Update expected disassembly.
246 * testsuite/gas/z80/ez80_z80_all.s: Add tests of the instruction.
247
248 2020-03-03 H.J. Lu <hongjiu.lu@intel.com>
249
250 PR gas/25622
251 * testsuite/gas/i386/i386.exp: Run x86-64-default-suffix and
252 x86-64-default-suffix-avx.
253 * testsuite/gas/i386/noreg64.s: Remove cvtsi2sd, cvtsi2ss,
254 vcvtsi2sd, vcvtsi2ss, vcvtusi2sd and vcvtusi2ss entries.
255 * testsuite/gas/i386/noreg64.d: Updated.
256 * testsuite/gas/i386/noreg64.l: Likewise.
257 * testsuite/gas/i386/x86-64-default-suffix-avx.d: New file.
258 * testsuite/gas/i386/x86-64-default-suffix.d: Likewise.
259 * testsuite/gas/i386/x86-64-default-suffix.s: Likewise.
260
261 2020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
262
263 PR 25604
264 * config/tc-z80.c (contains_register): Prevent an illegal memory
265 access when checking an expression for a register name.
266
267 2020-03-03 Alan Modra <amodra@gmail.com>
268
269 * config/obj-coff.h: Remove vestiges of coff-m68k and pe-mips
270 support.
271
272 2020-03-02 Alan Modra <amodra@gmail.com>
273
274 * config/tc-m32r.c (md_begin): Set SEC_SMALL_DATA on .scommon section.
275 * config/tc-mips.c (s_change_sec): Set SEC_SMALL_DATA for .sdata
276 and .sbss sections.
277 * config/tc-score.c: Delete !BFD_ASSEMBLER code throughout.
278 (s3_s_change_sec): Set SEC_SMALL_DATA for .sbss section.
279 (s3_s_score_lcomm): Likewise.
280 * config/tc-score7.c: Similarly.
281 * read.c (bss_alloc): Set SEC_SMALL_DATA for .sbss section.
282
283 2020-02-28 YunQiang Su <syq@debian.org>
284
285 PR gas/25539
286 * config/tc-mips.c (fix_loongson3_llsc): Compare label value
287 to handle multi-labels.
288 (has_label_name): New.
289
290 2020-02-26 Matthew Malcomson <matthew.malcomson@arm.com>
291
292 * config/tc-arm.c (enum pred_instruction_type): Remove
293 NEUTRAL_IT_NO_VPT_INSN predication type.
294 (cxn_handle_predication): Modify to require condition suffixes.
295 (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases.
296 * testsuite/gas/arm/cde-scalar.s: Update test.
297 * testsuite/gas/arm/cde-warnings.l: Update test.
298 * testsuite/gas/arm/cde-warnings.s: Update test.
299
300 2020-02-26 Alan Modra <amodra@gmail.com>
301
302 * config/tc-arm.c (reg_expected_msgs[REG_TYPE_RNB]): Don't use
303 N_() on empty string.
304
305 2020-02-26 Alan Modra <amodra@gmail.com>
306
307 * read.c (read_a_source_file): Call strncpy with length one
308 less than size of original_case_string.
309
310 2020-02-26 Alan Modra <amodra@gmail.com>
311
312 * config/obj-elf.c: Indent labels correctly.
313 * config/obj-macho.c: Likewise.
314 * config/tc-aarch64.c: Likewise.
315 * config/tc-alpha.c: Likewise.
316 * config/tc-arm.c: Likewise.
317 * config/tc-cr16.c: Likewise.
318 * config/tc-crx.c: Likewise.
319 * config/tc-frv.c: Likewise.
320 * config/tc-i386-intel.c: Likewise.
321 * config/tc-i386.c: Likewise.
322 * config/tc-ia64.c: Likewise.
323 * config/tc-mn10200.c: Likewise.
324 * config/tc-mn10300.c: Likewise.
325 * config/tc-nds32.c: Likewise.
326 * config/tc-riscv.c: Likewise.
327 * config/tc-s12z.c: Likewise.
328 * config/tc-xtensa.c: Likewise.
329 * config/tc-z80.c: Likewise.
330 * read.c: Likewise.
331 * symbols.c: Likewise.
332 * write.c: Likewise.
333
334 2020-02-20 Nelson Chu <nelson.chu@sifive.com>
335
336 * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
337 we are assembling instruction with CSR. Call riscv_csr_read_only_check
338 after parsing all arguments.
339 (enum csr_insn_type): New enum is used to classify the CSR instruction.
340 (riscv_csr_insn_type, riscv_csr_read_only_check): New functions. These
341 are used to check if we write a read-only CSR by the CSR instruction.
342 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase. Test
343 all CSR for the read-only CSR checking.
344 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
345 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
346 * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase. Test
347 all CSR instructions for the read-only CSR checking.
348 * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
349 * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
350
351 * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
352 (riscv_opts): Initialize it.
353 (reg_lookup_internal): Check the `riscv_opts.csr_check`
354 before doing the CSR checking.
355 (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
356 (md_longopts): Add mcsr-check and mno-csr-check.
357 (md_parse_option): Handle new enum option values.
358 (s_riscv_option): Handle new long options.
359 * doc/c-riscv.texi: Add description for the new .option and assembler
360 options.
361 * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
362 the CSR checking.
363 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
364
365 * config/tc-riscv.c (csr_extra_hash): New.
366 (enum riscv_csr_class): New enum. Used to decide
367 whether or not this CSR is legal in the current ISA string.
368 (struct riscv_csr_extra): New structure to hold all extra information
369 of CSR.
370 (riscv_init_csr_hashes): New. According to the DECLARE_CSR and
371 DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
372 Call hash_reg_name to insert CSR address into reg_names_hash.
373 (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
374 Decide whether the CSR is valid according to the csr_extra_hash.
375 (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
376 (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
377 not a boolean. This is same as riscv_init_csr_hash, so keep the
378 consistent usage.
379 (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
380 * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
381 * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
382 * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase. The source
383 file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
384 f-ext CSR are not allowed.
385 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
386 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase. The
387 source file is `priv-reg.s`, and the ISA is rv64if, so the
388 rv32-only CSR are not allowed.
389 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
390
391 2020-02-21 Alan Modra <amodra@gmail.com>
392
393 * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
394 (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
395
396 2020-02-21 Alan Modra <amodra@gmail.com>
397
398 PR 25569
399 * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
400 on section size adjustment, instead perform another write if
401 exec header size is larger than section size.
402
403 2020-02-19 Nelson Chu <nelson.chu@sifive.com>
404
405 * doc/c-riscv.texi: Add the doc entries for -march-attr/
406 -mno-arch-attr command line options.
407
408 2020-02-19 Nelson Chu <nelson.chu@sifive.com>
409
410 * testsuite/gas/riscv/c-add-addi.d: New testcase.
411 * testsuite/gas/riscv/c-add-addi.s: Likewise.
412
413 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
414
415 PR 25576
416 * config/tc-z80.c (md_parse_option): Do not use an underscore
417 prefix for local labels in SDCC compatability mode.
418 (z80_start_line_hook): Remove SDCC dollar label support.
419 * testsuite/gas/z80/sdcc.d: Update expected disassembly.
420 * testsuite/gas/z80/sdcc.s: Likewise.
421
422 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
423
424 PR 25517
425 * config/tc-z80.c: Add -march option.
426 * doc/as.texi: Update Z80 documentation.
427 * doc/c-z80.texi: Likewise.
428 * testsuite/gas/z80/ez80_adl_all.d: Update command line.
429 * testsuite/gas/z80/ez80_adl_suf.d: Likewise.
430 * testsuite/gas/z80/ez80_pref_dis.d: Likewise.
431 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
432 * testsuite/gas/z80/ez80_z80_suf.d: Likewise.
433 * testsuite/gas/z80/gbz80_all.d: Likewise.
434 * testsuite/gas/z80/r800_extra.d: Likewise.
435 * testsuite/gas/z80/r800_ii8.d: Likewise.
436 * testsuite/gas/z80/r800_z80_doc.d: Likewise.
437 * testsuite/gas/z80/sdcc.d: Likewise.
438 * testsuite/gas/z80/z180.d: Likewise.
439 * testsuite/gas/z80/z180_z80_doc.d: Likewise.
440 * testsuite/gas/z80/z80_doc.d: Likewise.
441 * testsuite/gas/z80/z80_ii8.d: Likewise.
442 * testsuite/gas/z80/z80_in_f_c.d: Likewise.
443 * testsuite/gas/z80/z80_op_ii_ld.d: Likewise.
444 * testsuite/gas/z80/z80_out_c_0.d: Likewise.
445 * testsuite/gas/z80/z80_sli.d: Likewise.
446 * testsuite/gas/z80/z80n_all.d: Likewise.
447 * testsuite/gas/z80/z80n_reloc.d: Likewise.
448
449 2020-02-19 H.J. Lu <hongjiu.lu@intel.com>
450
451 * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd
452 with GNU_PROPERTY_X86_FEATURE_2_MMX.
453 * testsuite/gas/i386/i386.exp: Run property-3 and
454 x86-64-property-3.
455 * testsuite/gas/i386/property-3.d: New file.
456 * testsuite/gas/i386/property-3.s: Likewise.
457 * testsuite/gas/i386/x86-64-property-3.d: Likewise.
458
459 2020-02-17 H.J. Lu <hongjiu.lu@intel.com>
460
461 * config/tc-i386.c (cpu_arch): Add .popcnt.
462 * doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
463 Add a tab before @samp{.sse4a}.
464
465 2020-02-17 Jan Beulich <jbeulich@suse.com>
466
467 * config/tc-i386.c (process_suffix): Don't try to guess a suffix
468 for AddrPrefixOpReg templates. Combine the two pieces of
469 addrprefixopreg handling. Reject 16-bit address reg in 64-bit
470 mode.
471
472 2020-02-17 Jan Beulich <jbeulich@suse.com>
473
474 PR gas/14439
475 * config/tc-i386.c (md_assemble): Also suppress operand
476 swapping for MONITOR{,X} and MWAIT{,X}.
477 * testsuite/gas/i386/sse3.s, testsuite/gas/i386/x86-64-sse3.s:
478 Add Intel syntax monitor/mwait tests.
479 * testsuite/gas/i386/sse3.d, testsuite/gas/i386/x86-64-sse3.d:
480 Adjust expectations.
481 *testsuite/gas/i386/sse3-intel.d,
482 testsuite/gas/i386/x86-64-sse3-intel.d: New.
483 * testsuite/gas/i386/i386.exp: Run new tests.
484
485 2020-02-17 Jan Beulich <jbeulich@suse.com>
486
487 PR gas/6518
488 * config/tc-i386.c (process_suffix): Re-work Intel-syntax
489 [XYZ]MMWord memory operand ambiguity recognition logic (largely
490 re-indentation).
491 * testsuite/gas/i386/avx512dq-inval.s: Add vcvtqq2ps/vcvtuqq2ps
492 cases.
493 * testsuite/gas/i386/inval-avx512f.s: Also test vcvtneps2bf16.
494 * testsuite/gas/i386/avx512dq-inval.l,
495 testsuite/gas/i386/inval-avx.l,
496 testsuite/gas/i386/inval-avx512f.l: Adjust expectations.
497 * testsuite/gas/i386/avx512vl-ambig.s,
498 testsuite/gas/i386/avx512vl-ambig.l: New.
499 * testsuite/gas/i386/i386.exp: Run new test.
500
501 2020-02-16 H.J. Lu <hongjiu.lu@intel.com>
502
503 * config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
504 nosse4.
505 * doc/c-i386.texi: Document sse4a and nosse4a.
506
507 2020-02-14 H.J. Lu <hongjiu.lu@intel.com>
508
509 * doc/c-i386.texi: Remove the old movsx and movzx documentation
510 for AT&T syntax.
511
512 2020-02-14 Jan Beulich <jbeulich@suse.com>
513
514 PR gas/25438
515 * config/tc-i386.c (md_assemble): Move movsx/movzx special
516 casing ...
517 (process_suffix): ... here. Consider just the first operand
518 initially.
519 (check_long_reg): Drop opcode 0x63 special case again.
520 * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
521 testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
522 Move ambiguous operand size tests ...
523 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
524 testsuite/gas/i386/noreg64.s: ... here.
525 * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
526 testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
527 testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
528 testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
529 testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
530 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
531 testsuite/gas/i386/x86-64-movsxd.d,
532 testsuite/gas/i386/x86-64-movsxd-intel.d,
533 testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
534 Adjust expectations.
535 * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
536 testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
537 testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
538 * testsuite/gas/i386/i386.exp: Run new tests.
539
540 2020-02-14 Jan Beulich <jbeulich@suse.com>
541
542 * config/tc-i386.c (process_operands): Also skip segment
543 override prefix emission if it matches an already present one.
544 * testsuite/gas/i386/prefix32.s: Add double segment override
545 cases.
546 * testsuite/gas/i386/prefix32.l: Adjust expectations.
547
548 2020-02-14 Jan Beulich <jbeulich@suse.com>
549
550 * config/tc-i386.c (process_operands): Drop ineffectual segment
551 overrides when optimizing.
552 * testsuite/gas/i386/lea-optimize.d: New.
553 * testsuite/gas/i386/i386.exp: Run new test.
554
555 2020-02-14 Jan Beulich <jbeulich@suse.com>
556
557 * config/tc-i386.c (process_operands): Also check insn prefix
558 for ineffectual segment override warning. Don't cover possible
559 VEX/EVEX encoded insns there.
560 * testsuite/gas/i386/lea.s, testsuite/gas/i386/lea.d,
561 testsuite/gas/i386/lea.e: New.
562 * testsuite/gas/i386/i386.exp: Run new test.
563
564 2020-02-14 H.J. Lu <hongjiu.lu@intel.com>
565
566 PR gas/25438
567 * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
568 syntax.
569
570 2020-02-13 Fangrui Song <maskray@google.com>
571 H.J. Lu <hongjiu.lu@intel.com>
572
573 PR gas/25551
574 * config/tc-i386.c (tc_i386_fix_adjustable): Don't check
575 BFD_RELOC_386_PLT32 nor BFD_RELOC_X86_64_PLT32.
576 * testsuite/gas/i386/i386.exp: Run relax-5 and x86-64-relax-4.
577 * testsuite/gas/i386/relax-5.d: New file.
578 * testsuite/gas/i386/relax-5.s: Likewise.
579 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
580 * testsuite/gas/i386/x86-64-relax-4.s: Likewise.
581
582 2020-02-13 Jan Beulich <jbeulich@suse.com>
583
584 * config/tc-i386.c (cpu_noarch): Use CPU_ANY_SSE4_FLAGS in
585 "nosse4" entry.
586
587 2020-02-12 Jan Beulich <jbeulich@suse.com>
588
589 * config/tc-i386.c (avx512): New (at file scope), moved from
590 (check_VecOperands): ... here.
591 (process_suffix): Add [XYZ]MMword operand size handling.
592 * testsuite/gas/i386/avx512dq-inval.s: Add VFPCLASS tests.
593 * testsuite/gas/i386/noavx512-2.s: Add Intel syntax VFPCLASS
594 tests.
595 * testsuite/gas/i386/avx512dq-inval.l,
596 testsuite/gas/i386/noavx512-2.l: Adjust expectations.
597
598 2020-02-12 Jan Beulich <jbeulich@suse.com>
599
600 PR gas/24546
601 * config/tc-i386.c (match_template): Apply AMD64 check to 64-bit
602 code only.
603 * config/tc-i386-intel.c (i386_intel_operand): Also handle
604 CALL/JMP in O_tbyte_ptr case.
605 * doc/c-i386.texi: Mention far call and full pointer load ISA
606 differences.
607 * testsuite/gas/i386/x86-64-branch-3.s,
608 testsuite/gas/i386/x86-64-intel64.s: Add 64-bit far call cases.
609 * testsuite/gas/i386/x86-64-branch-3.d,
610 testsuite/gas/i386/x86-64-intel64.d: Adjust expectations.
611 * testsuite/gas/i386/x86-64-branch-5.l,
612 testsuite/gas/i386/x86-64-branch-5.s: New.
613 * testsuite/gas/i386/i386.exp: Run new test.
614
615 2020-02-12 Jan Beulich <jbeulich@suse.com>
616
617 PR gas/25438
618 * config/tc-i386.c (REGISTER_WARNINGS): Delete.
619 (check_byte_reg): Skip only source operand of CRC32. Drop Non-
620 64-bit-only warning.
621 (check_word_reg): Consistently error on mismatching register
622 size and suffix.
623 * testsuite/gas/i386/general.s: Replace dword GPR with word one
624 for movw. Replace suffix / GPR for orb.
625 * testsuite/gas/i386/inval.s: Add tests for movw with dword and
626 byte GPRs as well as ones for inb/outb with a word accumulator.
627 * testsuite/gas/i386/general.l, testsuite/gas/i386/intelbad.l,
628 testsuite/gas/i386/inval.l: Adjust expectations.
629
630 2020-02-12 Jan Beulich <jbeulich@suse.com>
631
632 * config/tc-i386.c (operand_type_register_match): Also fall
633 through initial two if()-s when the template allows for a GPR
634 operand. Adjust comment.
635
636 2020-02-11 Jan Beulich <jbeulich@suse.com>
637
638 (struct _i386_insn): New field "short_form".
639 (optimize_encoding): Drop setting of shortform field.
640 (process_suffix): Set i.short_form. Replace shortform use.
641 (process_operands): Replace shortform use.
642
643 2020-02-11 Matthew Malcomson <matthew.malcomson@arm.com>
644
645 * config/tc-arm.c (vcx_handle_register_arguments): Remove `for`
646 loop initial declaration.
647
648 2020-02-10 Matthew Malcomson <matthew.malcomson@arm.com>
649
650 * config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
651 instructions that can have 5 arguments.
652 (enum operand_parse_code): Add new operands.
653 (parse_operands): Account for new operands.
654 (S5): New macro.
655 (enum neon_shape_el): Introduce P suffixes for coprocessor.
656 (neon_select_shape): Account for P suffix.
657 (LOW1): Move macro to global position.
658 (HI4): Move macro to global position.
659 (vcx_assign_vec_d): New.
660 (vcx_assign_vec_m): New.
661 (vcx_assign_vec_n): New.
662 (enum vcx_reg_type): New.
663 (vcx_get_reg_type): New.
664 (vcx_size_pos): New.
665 (vcx_vec_pos): New.
666 (vcx_handle_shape): New.
667 (vcx_ensure_register_in_range): New.
668 (vcx_handle_register_arguments): New.
669 (vcx_handle_insn_block): New.
670 (vcx_handle_common_checks): New.
671 (do_vcx1): New.
672 (do_vcx2): New.
673 (do_vcx3): New.
674 * testsuite/gas/arm/cde-missing-fp.d: New test.
675 * testsuite/gas/arm/cde-missing-fp.l: New test.
676 * testsuite/gas/arm/cde-missing-mve.d: New test.
677 * testsuite/gas/arm/cde-missing-mve.l: New test.
678 * testsuite/gas/arm/cde-mve-or-neon.d: New test.
679 * testsuite/gas/arm/cde-mve-or-neon.s: New test.
680 * testsuite/gas/arm/cde-mve.s: New test.
681 * testsuite/gas/arm/cde-warnings.l:
682 * testsuite/gas/arm/cde-warnings.s:
683 * testsuite/gas/arm/cde.d:
684 * testsuite/gas/arm/cde.s:
685
686 2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
687 Matthew Malcomson <matthew.malcomson@arm.com>
688
689 * config/tc-arm.c (arm_ext_cde*): New feature sets for each
690 CDE coprocessor that can be enabled.
691 (enum pred_instruction_type): New pred type.
692 (BAD_NO_VPT): New error message.
693 (BAD_CDE): New error message.
694 (BAD_CDE_COPROC): New error message.
695 (enum operand_parse_code): Add new immediate operands.
696 (parse_operands): Account for new immediate operands.
697 (check_cde_operand): New.
698 (cde_coproc_enabled): New.
699 (cde_coproc_pos): New.
700 (cde_handle_coproc): New.
701 (cxn_handle_predication): New.
702 (do_custom_instruction_1): New.
703 (do_custom_instruction_2): New.
704 (do_custom_instruction_3): New.
705 (do_cx1): New.
706 (do_cx1a): New.
707 (do_cx1d): New.
708 (do_cx1da): New.
709 (do_cx2): New.
710 (do_cx2a): New.
711 (do_cx2d): New.
712 (do_cx2da): New.
713 (do_cx3): New.
714 (do_cx3a): New.
715 (do_cx3d): New.
716 (do_cx3da): New.
717 (handle_pred_state): Define new IT block behaviour.
718 (insns): Add newn CX*{,d}{,a} instructions.
719 (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table):
720 Define new cdecp extension strings.
721 * doc/c-arm.texi: Document new cdecp extension arguments.
722 * testsuite/gas/arm/cde-scalar.d: New test.
723 * testsuite/gas/arm/cde-scalar.s: New test.
724 * testsuite/gas/arm/cde-warnings.d: New test.
725 * testsuite/gas/arm/cde-warnings.l: New test.
726 * testsuite/gas/arm/cde-warnings.s: New test.
727 * testsuite/gas/arm/cde.d: New test.
728 * testsuite/gas/arm/cde.s: New test.
729
730 2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
731
732 PR gas/25516
733 * config/tc-i386.c (intel64): Renamed to ...
734 (isa64): This.
735 (match_template): Accept Intel64 only instruction by default.
736 (i386_displacement): Updated.
737 (md_parse_option): Updated.
738 * c-i386.texi: Update -mamd64/-mintel64 documentation.
739 * testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
740 -mamd64 to x86-64-sysenter-amd.
741 * testsuite/gas/i386/x86-64-sysenter.d: New file.
742
743 2020-02-10 Alan Modra <amodra@gmail.com>
744
745 * config/obj-elf.c (obj_elf_change_section): Error for section
746 type, attr or entsize changes in assembly.
747 * testsuite/gas/elf/elf.exp: Pass -Z to gas for section5 test.
748 * testsuite/gas/elf/section5.l: Update.
749
750 2020-02-10 Alan Modra <amodra@gmail.com>
751
752 * output-file.c (output_file_close): Do a normal close when
753 flag_always_generate_output.
754 * write.c (write_object_file): Don't stop output when
755 flag_always_generate_output.
756
757 2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
758
759 PR 25469
760 * config/tc-z80.c: Add -gbz80 command line option to generate code
761 for the GameBoy Z80. Add support for generating DWARF.
762 * config/tc-z80.h: Add support for DWARF debug information
763 generation.
764 * doc/c-z80.texi: Document new command line option.
765 * testsuite/gas/z80/gbz80_all.d: New file.
766 * testsuite/gas/z80/gbz80_all.s: New file.
767 * testsuite/gas/z80/z80.exp: Run the new tests.
768 * testsuite/gas/z80/z80n_all.d: New file.
769 * testsuite/gas/z80/z80n_all.s: New file.
770 * testsuite/gas/z80/z80n_reloc.d: New file.
771
772 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
773
774 PR gas/25381
775 * config/obj-elf.c (get_section): Also check
776 linked_to_symbol_name.
777 (obj_elf_change_section): Also set map_head.linked_to_symbol_name.
778 (obj_elf_parse_section_letters): Handle the 'o' flag.
779 (build_group_lists): Renamed to ...
780 (build_additional_section_info): This. Set elf_linked_to_section
781 from map_head.linked_to_symbol_name.
782 (elf_adjust_symtab): Updated.
783 * config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
784 * doc/as.texi: Document the 'o' flag.
785 * testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
786 * testsuite/gas/elf/section18.d: New file.
787 * testsuite/gas/elf/section18.s: Likewise.
788 * testsuite/gas/elf/section19.d: Likewise.
789 * testsuite/gas/elf/section19.s: Likewise.
790 * testsuite/gas/elf/section20.d: Likewise.
791 * testsuite/gas/elf/section20.s: Likewise.
792 * testsuite/gas/elf/section21.d: Likewise.
793 * testsuite/gas/elf/section21.l: Likewise.
794 * testsuite/gas/elf/section21.s: Likewise.
795
796 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
797
798 * NEWS: Mention x86 assembler options to align branches for
799 binutils 2.34.
800
801 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
802
803 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique
804 only for ELF targets.
805 * testsuite/gas/i386/unique.d: Don't xfail.
806 * testsuite/gas/i386/x86-64-unique.d: Likewise.
807
808 2020-02-06 Alan Modra <amodra@gmail.com>
809
810 * testsuite/gas/i386/unique.d: xfail for non-elf targets.
811 * testsuite/gas/i386/x86-64-unique.d: Likewise.
812
813 2020-02-06 Alan Modra <amodra@gmail.com>
814
815 * testsuite/gas/elf/section12a.d: Use supports_gnu_osabi in
816 xfail, and rename test.
817 * testsuite/gas/elf/section12b.d: Likewise.
818 * testsuite/gas/elf/section16a.d: Likewise.
819 * testsuite/gas/elf/section16b.d: Likewise.
820
821 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
822
823 PR gas/25380
824 * config/obj-elf.c (section_match): Removed.
825 (get_section): Also match SEC_ASSEMBLER_SECTION_ID and
826 section_id.
827 (obj_elf_change_section): Replace info and group_name arguments
828 with match_p. Also update the section ID and flags from match_p.
829 (obj_elf_section): Handle "unique,N". Update call to
830 obj_elf_change_section.
831 * config/obj-elf.h (elf_section_match): New.
832 (obj_elf_change_section): Updated.
833 * config/tc-arm.c (start_unwind_section): Update call to
834 obj_elf_change_section.
835 * config/tc-ia64.c (obj_elf_vms_common): Likewise.
836 * config/tc-microblaze.c (microblaze_s_data): Likewise.
837 (microblaze_s_sdata): Likewise.
838 (microblaze_s_rdata): Likewise.
839 (microblaze_s_bss): Likewise.
840 * config/tc-mips.c (s_change_section): Likewise.
841 * config/tc-msp430.c (msp430_profiler): Likewise.
842 * config/tc-rx.c (parse_rx_section): Likewise.
843 * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
844 * doc/as.texi: Document "unique,N" in .section directive.
845 * testsuite/gas/elf/elf.exp: Run "unique,N" tests.
846 * testsuite/gas/elf/section15.d: New file.
847 * testsuite/gas/elf/section15.s: Likewise.
848 * testsuite/gas/elf/section16.s: Likewise.
849 * testsuite/gas/elf/section16a.d: Likewise.
850 * testsuite/gas/elf/section16b.d: Likewise.
851 * testsuite/gas/elf/section17.d: Likewise.
852 * testsuite/gas/elf/section17.l: Likewise.
853 * testsuite/gas/elf/section17.s: Likewise.
854 * testsuite/gas/i386/unique.d: Likewise.
855 * testsuite/gas/i386/unique.s: Likewise.
856 * testsuite/gas/i386/x86-64-unique.d: Likewise.
857 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
858
859 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
860
861 * testsuite/gas/elf/section13.s: Replace @nobits with %nobits.
862
863 2020-02-01 Anthony Green <green@moxielogic.com>
864
865 * config/tc-moxie.c (md_begin): Don't force big-endian mode.
866
867 2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
868
869 * config/tc-nios2.c (nios2_cons): Handle %gotoff as well as
870 %tls_ldo.
871
872 2020-01-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
873
874 PR gas/25472
875 * config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
876 (armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
877 +mve.
878 * testsuite/gas/arm/mve_dsp.d: New test.
879
880 2020-01-31 Nick Clifton <nickc@redhat.com>
881
882 * config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
883 rather than BFD_RELOC_NONE.
884
885 2020-01-31 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
886
887 * config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
888 to support VLDMIA instruction for MVE.
889 (fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
890 instruction for MVE.
891 (fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
892 instruction for MVE.
893 (fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
894 instruction for MVE.
895 * testsuite/gas/arm/mve-ldst.d: New test.
896 * testsuite/gas/arm/mve-ldst.s: Likewise.
897
898 2020-01-31 Nick Clifton <nickc@redhat.com>
899
900 * po/fr.po: Updated French translation.
901 * po/ru.po: Updated Russian translation.
902
903 2020-01-31 Richard Sandiford <richard.sandiford@arm.com>
904
905 * testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
906 .s for the movprfx.
907 * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
908 * testsuite/gas/aarch64/sve-movprfx_28.d,
909 * testsuite/gas/aarch64/sve-movprfx_28.l,
910 * testsuite/gas/aarch64/sve-movprfx_28.s: New test.
911
912 2020-01-30 Jan Beulich <jbeulich@suse.com>
913
914 * config/tc-i386.c (output_disp): Tighten base_opcode check.
915 * testsuite/gas/i386/got.s: Add LSL, MOVLPS, and BNDCN cases.
916 * testsuite/gas/i386/got-no-relax.d, testsuite/gas/i386/got.d:
917 Adjust expectations.
918
919 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com>
920
921 * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'.
922 * testsuite/gas/bpf/alu-be.d: Likewise.
923 * testsuite/gas/bpf/alu32.d: Likewise for `neg32'.
924 * testsuite/gas/bpf/alu32-be.d: Likewise.
925
926 2020-01-30 Jan Beulich <jbeulich@suse.com>
927
928 * testsuite/gas/i386/x86-64-branch-2.s,
929 testsuite/gas/i386/x86-64-branch-4.s,
930 testsuite/gas/i386/x86-64-branch.s: Add RETW cases.
931 * testsuite/gas/i386/ilp32/x86-64-branch.d,
932 testsuite/gas/i386/x86-64-branch-2.d,
933 testsuite/gas/i386/x86-64-branch-4.l,
934 testsuite/gas/i386/x86-64-branch.d: Adjust expectations.
935
936 2020-01-30 Jan Beulich <jbeulich@suse.com>
937
938 * config/tc-i386.c (process_suffix): .
939 testsuite/gas/i386/noreg64.s: Add IRET and LRET cases.
940 testsuite/gas/i386/x86-64-opcode.s: Add suffix to IRET and LRET.
941 Add LRETQ case.
942 testsuite/gas/i386/x86-64-suffix.s: Drop IRET case without
943 suffix.
944 testsuite/gas/i386/x86_64.s: Add RETF cases.
945 * testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
946 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l,
947 testsuite/gas/i386/x86-64-opcode.d,
948 testsuite/gas/i386/x86-64-suffix-intel.d,
949 testsuite/gas/i386/x86-64-suffix.d,
950 testsuite/gas/i386/x86_64-intel.d
951 testsuite/gas/i386/x86_64.d: Adjust expectations.
952 * testsuite/gas/i386/x86-64-suffix.e,
953 testsuite/gas/i386/x86_64.e: New.
954
955 2020-01-30 Jan Beulich <jbeulich@suse.com>
956
957 * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
958 special case.
959
960 2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
961
962 PR binutils/25445
963 * config/tc-i386.c (check_long_reg): Also convert to QWORD for
964 movsxd.
965 * doc/c-i386.texi: Add a node for AMD64 vs. Intel64 ISA
966 differences. Document movslq and movsxd.
967 * testsuite/gas/i386/i386.exp: Run PR binutils/25445 tests.
968 * testsuite/gas/i386/x86-64-movsxd-intel.d: New file.
969 * testsuite/gas/i386/x86-64-movsxd-intel64-intel.d: Likewise.
970 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.l: Likewise.
971 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.s: Likewise.
972 * testsuite/gas/i386/x86-64-movsxd-intel64.d: Likewise.
973 * testsuite/gas/i386/x86-64-movsxd-intel64.s: Likewise.
974 * testsuite/gas/i386/x86-64-movsxd-inval.l: Likewise.
975 * testsuite/gas/i386/x86-64-movsxd-inval.s: Likewise.
976 * testsuite/gas/i386/x86-64-movsxd.d: Likewise.
977 * testsuite/gas/i386/x86-64-movsxd.s: Likewise.
978
979 2020-01-27 Alan Modra <amodra@gmail.com>
980
981 * testsuite/gas/all/gas.exp: Replace case statements with switch
982 statements.
983 * testsuite/gas/elf/elf.exp: Likewise.
984 * testsuite/gas/macros/macros.exp: Likewise.
985 * testsuite/lib/gas-defs.exp: Likewise.
986
987 2020-01-27 Tamar Christina <tamar.christina@arm.com>
988
989 PR 25403
990 * testsuite/gas/aarch64/armv8_4-a.d: Add cfinv.
991 * testsuite/gas/aarch64/armv8_4-a.s: Likewise.
992
993 2020-01-22 Maxim Blinov <maxim.blinov@embecosm.com>
994
995 * testsuite/gas/riscv/march-ok-s.d: sx is no longer valid and
996 s exts must be known, so rename *ok* to *fail*.
997 * testsuite/gas/riscv/march-ok-sx.d: Likewise.
998 * testsuite/gas/riscv/march-ok-s-with-version: Likewise.
999 * testsuite/gas/riscv/march-fail-s.l: Expected error messages for
1000 above change.
1001 * testsuite/gas/riscv/march-fail-sx.l: Likewise.
1002 * testsuite/gas/riscv/march-fail-sx-with-version.l: Likewise.
1003
1004 2020-01-22 H.J. Lu <hongjiu.lu@intel.com>
1005
1006 PR gas/25438
1007 * config/tc-i386.c (check_long_reg): Always disallow double word
1008 suffix in mnemonic with word general register.
1009 * testsuite/gas/i386/general.s: Replace word general register
1010 with double word general register for movl.
1011 * testsuite/gas/i386/inval.s: Add tests for movl with word general
1012 register.
1013 * testsuite/gas/i386/general.l: Updated.
1014 * testsuite/gas/i386/inval.l: Likewise.
1015
1016 2020-01-22 Alan Modra <amodra@gmail.com>
1017
1018 * config/tc-ppc.c (parse_tls_arg): Handle tls arg for
1019 __tls_get_addr_desc and __tls_get_addr_opt.
1020
1021 2020-01-21 Jan Beulich <jbeulich@suse.com>
1022
1023 * testsuite/gas/i386/inval-crc32.s,
1024 testsuite/gas/i386/x86-64-inval-crc32.s: Add alignment directive.
1025 * testsuite/gas/i386/inval-crc32.l,
1026 testsuite/gas/i386/x86-64-inval-crc32.l: Adjust expectations.
1027
1028 2020-01-21 Jan Beulich <jbeulich@suse.com>
1029
1030 * config/tc-i386.c (process_suffix): Merge CRC32 handling into
1031 generic code path. Deal with No_lSuf being set in a template.
1032 * testsuite/gas/i386/inval-crc32.l,
1033 testsuite/gas/i386/x86-64-inval-crc32.l: Expect warning(s)
1034 instead of error(s) when operand size is ambiguous.
1035 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
1036 testsuite/gas/i386/noreg64.s: Add CRC32 tests.
1037 * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.l,
1038 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.l,
1039 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l:
1040 Adjust expectations.
1041
1042 2020-01-21 Jan Beulich <jbeulich@suse.com>
1043
1044 * config/tc-i386.c (process_suffix): Drop SYSRET special case
1045 and an intel_syntax check. Re-write lack-of-suffix processing
1046 logic.
1047 * doc/c-i386.texi: Document operand size defaults for suffix-
1048 less AT&T syntax insns.
1049 * testsuite/gas/i386/bundle.s, testsuite/gas/i386/lock-1.s,
1050 testsuite/gas/i386/opcode.s, testsuite/gas/i386/sse3.s,
1051 testsuite/gas/i386/x86-64-avx-scalar.s,
1052 testsuite/gas/i386/x86-64-avx.s,
1053 testsuite/gas/i386/x86-64-bundle.s,
1054 testsuite/gas/i386/x86-64-intel64.s,
1055 testsuite/gas/i386/x86-64-lock-1.s,
1056 testsuite/gas/i386/x86-64-opcode.s,
1057 testsuite/gas/i386/x86-64-sse2avx.s,
1058 testsuite/gas/i386/x86-64-sse3.s: Add missing suffixes.
1059 * testsuite/gas/i386/nops.s, testsuite/gas/i386/sse-noavx.s,
1060 testsuite/gas/i386/x86-64-nops.s,
1061 testsuite/gas/i386/x86-64-ptwrite.s,
1062 testsuite/gas/i386/x86-64-simd.s,
1063 testsuite/gas/i386/x86-64-sse-noavx.s,
1064 testsuite/gas/i386/x86-64-suffix.s: Drop bogus suffix-less
1065 insns.
1066 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
1067 testsuite/gas/i386/noreg64.s: Add further tests.
1068 * testsuite/gas/i386/ilp32/x86-64-nops.d,
1069 testsuite/gas/i386/nops.d, testsuite/gas/i386/noreg16.d,
1070 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
1071 testsuite/gas/i386/sse-noavx.d,
1072 testsuite/gas/i386/x86-64-intel64.d,
1073 testsuite/gas/i386/x86-64-nops.d,
1074 testsuite/gas/i386/x86-64-opcode.d,
1075 testsuite/gas/i386/x86-64-ptwrite-intel.d,
1076 testsuite/gas/i386/x86-64-ptwrite.d,
1077 testsuite/gas/i386/x86-64-simd-intel.d,
1078 testsuite/gas/i386/x86-64-simd-suffix.d,
1079 testsuite/gas/i386/x86-64-simd.d,
1080 testsuite/gas/i386/x86-64-sse-noavx.d
1081 testsuite/gas/i386/x86-64-suffix.d,
1082 testsuite/gas/i386/x86-64-suffix-intel.d: Adjust expectations.
1083 * testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.l,
1084 testsuite/gas/i386/noreg64.l: New.
1085 * testsuite/gas/i386/i386.exp: Run new tests.
1086
1087 2020-01-21 Jan Beulich <jbeulich@suse.com>
1088
1089 * testsuite/gas/i386/avx512_bf16_vl.s,
1090 testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Add broadcast forms
1091 of VCVTNEPS2BF16{X,Y}. Add operand-size less Intel syntax
1092 broadcast forms of VCVTNEPS2BF16.
1093 * testsuite/gas/i386/avx512_bf16_vl.d,
1094 testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Adjust expectations.
1095
1096 2020-01-20 Nick Clifton <nickc@redhat.com>
1097
1098 * po/uk.po: Updated Ukranian translation.
1099
1100 2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
1101
1102 PR ld/25416
1103 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
1104 for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
1105 x32 object.
1106 * testsuite/gas/i386/ilp32/x32-tls.d: Updated.
1107 * testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
1108 R_X86_64_GOTPC32_TLSDESC relocation.
1109
1110 2020-01-18 Nick Clifton <nickc@redhat.com>
1111
1112 * configure: Regenerate.
1113 * po/gas.pot: Regenerate.
1114
1115 2020-01-18 Nick Clifton <nickc@redhat.com>
1116
1117 Binutils 2.34 branch created.
1118
1119 2020-01-17 H.J. Lu <hongjiu.lu@intel.com>
1120
1121 * config/tc-i386.c (_i386_insn): Replace vex_encoding_vex2
1122 with vex_encoding_vex.
1123 (parse_insn): Likewise.
1124 * doc/c-i386.texi: Replace {vex2} with {vex}. Update {vex}
1125 and {vex3} documentation.
1126 * testsuite/gas/i386/pseudos.s: Replace 3 {vex2} tests with
1127 {vex}.
1128 * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
1129
1130 2020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1131
1132 PR 25376
1133 * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
1134 (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
1135 * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
1136 * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
1137 * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
1138 * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.
1139
1140 2020-01-16 Jan Beulich <jbeulich@suse.com>
1141
1142 * config/tc-i386.c (match_template): Drop found_cpu_match local
1143 variable.
1144
1145 2020-01-16 Jan Beulich <jbeulich@suse.com>
1146
1147 * testsuite/gas/i386/avx512dq-inval.l,
1148 testsuite/gas/i386/avx512dq-inval.s: New.
1149 * testsuite/gas/i386/i386.exp: Run new test.
1150
1151 2020-01-15 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1152
1153 * config/tc-msp430.c (CHECK_RELOC_MSP430): Always generate 430X
1154 relocations when the target is 430X, except when extracting part of an
1155 expression.
1156 (msp430_srcoperand): Adjust comment.
1157 Initialize the expp member of the msp430_operand_s struct as
1158 appropriate.
1159 (msp430_dstoperand): Likewise.
1160 * testsuite/gas/msp430/msp430.exp: Run new test.
1161 * testsuite/gas/msp430/reloc-lo-430x.d: New test.
1162 * testsuite/gas/msp430/reloc-lo-430x.s: New test.
1163
1164 2020-01-15 Alan Modra <amodra@gmail.com>
1165
1166 * configure.tgt: Add sparc-*-freebsd case.
1167
1168 2020-01-14 Lili Cui <lili.cui@intel.com>
1169
1170 * testsuite/gas/i386/align-branch-1a.d: Updated for Darwin.
1171 * testsuite/gas/i386/align-branch-1b.d: Likewise.
1172 * testsuite/gas/i386/align-branch-1c.d: Likewise.
1173 * testsuite/gas/i386/align-branch-1d.d: Likewise.
1174 * testsuite/gas/i386/align-branch-1e.d: Likewise.
1175 * testsuite/gas/i386/align-branch-1f.d: Likewise.
1176 * testsuite/gas/i386/align-branch-1g.d: Likewise.
1177 * testsuite/gas/i386/align-branch-1h.d: Likewise.
1178 * testsuite/gas/i386/align-branch-1i.d: Likewise.
1179 * testsuite/gas/i386/align-branch-5.d: Likewise.
1180 * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
1181 * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
1182 * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
1183 * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
1184 * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise.
1185 * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise.
1186 * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
1187 * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise.
1188 * testsuite/gas/i386/x86-64-align-branch-1i.d: Likewise.
1189 * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise.
1190 * testsuite/gas/i386/i386.exp: Skip x86-64-align-branch-2a,
1191 x86-64-align-branch-2b and x86-64-align-branch-2c on Darwin.
1192
1193 2020-01-14 Sergey Belyashov <sergey.belyashov@gmail.com>
1194
1195 PR 25377
1196 * config/tc-z80.c: Add support for half precision, single
1197 precision and double precision floating point values.
1198 * config/tc-z80.h b/gas/config/tc-z80.h: Disable string escapes.
1199 * doc/as.texi: Add new z80 command line options.
1200 * doc/c-z80.texi: Document new z80 command line options.
1201 * testsuite/gas/z80/ez80_pref_dis.s: New test.
1202 * testsuite/gas/z80/ez80_pref_dis.d: New test driver.
1203 * testsuite/gas/z80/z80.exp: Run the new test.
1204 * testsuite/gas/z80/fp_math48.d: Use correct command line option.
1205 * testsuite/gas/z80/fp_zeda32.d: Likewise.
1206 * testsuite/gas/z80/strings.d: Update expected output.
1207
1208 2020-01-13 Matthew Malcomson <matthew.malcomson@arm.com>
1209
1210 * config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
1211 dependency.
1212
1213 2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
1214
1215 * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
1216 the CPU.
1217 * config/tc-arc.h: Add header if/defs.
1218 * testsuite/gas/arc/pseudos.d: Improve matching pattern.
1219
1220 2020-01-13 Alan Modra <amodra@gmail.com>
1221
1222 * testsuite/gas/wasm32/allinsn.d: Update expected output.
1223
1224 2020-01-13 Alan Modra <amodra@gmail.com>
1225
1226 * config/tc-tic4x.c (tic4x_operands_match): Correct tic3x trap
1227 insertion.
1228
1229 2020-01-10 Alan Modra <amodra@gmail.com>
1230
1231 * testsuite/gas/elf/pr14891.s: Don't start directives in first column.
1232 * testsuite/gas/elf/pr21661.d: Don't run on hpux.
1233
1234 2020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1235
1236 PR 25224
1237 * config/tc-z80.c (emit_ld_m_rr): Use integer types when checking
1238 opcode byte values.
1239 (emit_ld_r_r): Likewise.
1240 (emit_ld_rr_m): Likewise.
1241 (emit_ld_rr_nn): Likewise.
1242
1243 2020-01-09 Jan Beulich <jbeulich@suse.com>
1244
1245 * config/tc-i386.c (optimize_encoding): Add
1246 is_any_vex_encoding() invocations. Drop respective
1247 i.tm.extension_opcode == None checks.
1248
1249 2020-01-09 Jan Beulich <jbeulich@suse.com>
1250
1251 * config/tc-i386.c (md_assemble): Check RegRex is clear during
1252 REX transformations. Correct comment indentation.
1253
1254 2020-01-09 Jan Beulich <jbeulich@suse.com>
1255
1256 * config/tc-i386.c (optimize_encoding): Generalize register
1257 transformation for TEST optimization.
1258
1259 2020-01-09 Jan Beulich <jbeulich@suse.com>
1260
1261 * testsuite/gas/i386/x86-64-sysenter-amd.s,
1262 testsuite/gas/i386/x86-64-sysenter-amd.d,
1263 testsuite/gas/i386/x86-64-sysenter-amd.l,
1264 testsuite/gas/i386/x86-64-sysenter-intel.d,
1265 testsuite/gas/i386/x86-64-sysenter-mixed.d: New.
1266 * testsuite/gas/i386/i386.exp: Run new tests.
1267
1268 2020-01-08 Nick Clifton <nickc@redhat.com>
1269
1270 PR 25284
1271 * doc/as.texi (Align): Document the fact that all arguments can be
1272 omitted.
1273 (Balign): Likewise.
1274 (P2align): Likewise.
1275
1276 2020-01-08 Nick Clifton <nickc@redhat.com>
1277
1278 PR 14891
1279 * config/obj-elf.c (obj_elf_section): Fail if the section name is
1280 already defined as a different symbol type.
1281 * testsuite/gas/elf/pr14891.s: New test source file.
1282 * testsuite/gas/elf/pr14891.d: New test driver.
1283 * testsuite/gas/elf/pr14891.s: New test expected error output.
1284 * testsuite/gas/elf/elf.exp: Run the new test.
1285
1286 2020-01-08 Alan Modra <amodra@gmail.com>
1287
1288 * config/tc-z8k.c (md_begin): Make idx unsigned.
1289 (get_specific): Likewise for this_index.
1290
1291 2020-01-07 Claudiu Zissulescu <claziss@synopsys.com>
1292
1293 * onfig/tc-arc.c (parse_reloc_symbol): New function.
1294 (tokenize_arguments): Clean up, use parse_reloc_symbol function.
1295 (md_operand): Set X_md to absent.
1296 (arc_parse_name): Check for X_md.
1297
1298 2020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1299
1300 PR 25311
1301 * as.h (TC_STRING_ESCAPES): Provide a default definition.
1302 * app.c (do_scrub_chars): Use TC_STRING_ESCAPES instead of
1303 NO_STRING_ESCAPES.
1304 * read.c (next_char_of_string): Likewise.
1305 * config/tc-ppc.h (TC_STRING_ESCAPES): Define.
1306 * config/tc-z80.h (TC_STRING_ESCAPES): Define.
1307
1308 2020-01-03 Nick Clifton <nickc@redhat.com>
1309
1310 * po/sv.po: Updated Swedish translation.
1311
1312 2020-01-03 Jan Beulich <jbeulich@suse.com>
1313
1314 * testsuite/gas/aarch64/f64mm.s: Scale index of LD1RO{H,W,D}.
1315 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
1316
1317 2020-01-03 Jan Beulich <jbeulich@suse.com>
1318
1319 * testsuite/gas/aarch64/i8mm.s: Add 128-bit form tests for
1320 by-element usdot. Add 64-bit form tests for by-element sudot.
1321 * testsuite/gas/aarch64/i8mm.d: Adjust expectations.
1322
1323 2020-01-03 Jan Beulich <jbeulich@suse.com>
1324
1325 * testsuite/gas/aarch64/f64mm.s: Drop 'i' from uzip<n>.
1326 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
1327
1328 2020-01-03 Jan Beulich <jbeulich@suse.com>
1329
1330 * testsuite/gas/aarch64/f64mm.d,
1331 testsuite/gas/aarch64/sve-movprfx-mm.d: Adjust expectations.
1332
1333 2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
1334
1335 * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
1336 support for assembler code generated by SDCC. Add new relocation
1337 types. Add z80-elf target support.
1338 * config/tc-z80.h: Add z80-elf target support. Enable dollar local
1339 labels. Local labels starts from ".L".
1340 * NEWS: Mention the new support.
1341 * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
1342 * testsuite/gas/all/fwdexp.s: Likewise.
1343 * testsuite/gas/all/cond.l: Likewise.
1344 * testsuite/gas/all/cond.s: Likewise.
1345 * testsuite/gas/all/fwdexp.d: Likewise.
1346 * testsuite/gas/all/fwdexp.s: Likewise.
1347 * testsuite/gas/elf/section2.e-mips: Likewise.
1348 * testsuite/gas/elf/section2.l: Likewise.
1349 * testsuite/gas/elf/section2.s: Likewise.
1350 * testsuite/gas/macros/app1.d: Likewise.
1351 * testsuite/gas/macros/app1.s: Likewise.
1352 * testsuite/gas/macros/app2.d: Likewise.
1353 * testsuite/gas/macros/app2.s: Likewise.
1354 * testsuite/gas/macros/app3.d: Likewise.
1355 * testsuite/gas/macros/app3.s: Likewise.
1356 * testsuite/gas/macros/app4.d: Likewise.
1357 * testsuite/gas/macros/app4.s: Likewise.
1358 * testsuite/gas/macros/app4b.s: Likewise.
1359 * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
1360 * testsuite/gas/z80/z80.exp: Add new tests
1361 * testsuite/gas/z80/dollar.d: New file.
1362 * testsuite/gas/z80/dollar.s: New file.
1363 * testsuite/gas/z80/ez80_adl_all.d: New file.
1364 * testsuite/gas/z80/ez80_adl_all.s: New file.
1365 * testsuite/gas/z80/ez80_adl_suf.d: New file.
1366 * testsuite/gas/z80/ez80_isuf.s: New file.
1367 * testsuite/gas/z80/ez80_z80_all.d: New file.
1368 * testsuite/gas/z80/ez80_z80_all.s: New file.
1369 * testsuite/gas/z80/ez80_z80_suf.d: New file.
1370 * testsuite/gas/z80/r800_extra.d: New file.
1371 * testsuite/gas/z80/r800_extra.s: New file.
1372 * testsuite/gas/z80/r800_ii8.d: New file.
1373 * testsuite/gas/z80/r800_z80_doc.d: New file.
1374 * testsuite/gas/z80/z180.d: New file.
1375 * testsuite/gas/z80/z180.s: New file.
1376 * testsuite/gas/z80/z180_z80_doc.d: New file.
1377 * testsuite/gas/z80/z80_doc.d: New file.
1378 * testsuite/gas/z80/z80_doc.s: New file.
1379 * testsuite/gas/z80/z80_ii8.d: New file.
1380 * testsuite/gas/z80/z80_ii8.s: New file.
1381 * testsuite/gas/z80/z80_in_f_c.d: New file.
1382 * testsuite/gas/z80/z80_in_f_c.s: New file.
1383 * testsuite/gas/z80/z80_op_ii_ld.d: New file.
1384 * testsuite/gas/z80/z80_op_ii_ld.s: New file.
1385 * testsuite/gas/z80/z80_out_c_0.d: New file.
1386 * testsuite/gas/z80/z80_out_c_0.s: New file.
1387 * testsuite/gas/z80/z80_reloc.d: New file.
1388 * testsuite/gas/z80/z80_reloc.s: New file.
1389 * testsuite/gas/z80/z80_sli.d: New file.
1390 * testsuite/gas/z80/z80_sli.s: New file.
1391
1392 2020-01-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
1393
1394 * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
1395 REGLIST_RN.
1396
1397 2020-01-01 Alan Modra <amodra@gmail.com>
1398
1399 Update year range in copyright notice of all files.
1400
1401 For older changes see ChangeLog-2019
1402 \f
1403 Copyright (C) 2020 Free Software Foundation, Inc.
1404
1405 Copying and distribution of this file, with or without modification,
1406 are permitted in any medium without royalty provided the copyright
1407 notice and this notice are preserved.
1408
1409 Local Variables:
1410 mode: change-log
1411 left-margin: 8
1412 fill-column: 74
1413 version-control: never
1414 End:
This page took 0.063441 seconds and 5 git commands to generate.