Updated Serbian and Russian translations for various sub-directories
[binutils-gdb.git] / gas / NEWS
1 -*- text -*-
2
3 * Add support for Intel AVX512_FP16 instructions.
4
5 Changes in 2.37:
6
7 * arm-symbianelf support removed.
8
9 * Add support for Realm Management Extension (RME) for AArch64.
10
11 Changes in 2.36:
12
13 * Add support for Intel AVX VNNI instructions.
14
15 * Add support for Intel HRESET instruction.
16
17 * Add support for Intel UINTR instructions.
18
19 * Support non-absolute segment values for i386 lcall and ljmp.
20
21 * When setting the link order attribute of ELF sections, it is now possible to
22 use a numeric section index instead of symbol name.
23
24 * Add support for Cortex-A78, Cortex-A78AE, Cortex-A78C and Cortex-X1 for
25 AArch64 and ARM.
26 Add support for Cortex-R82, Neoverse V1, and Neoverse N2 for ARM.
27
28 * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace
29 Extension), TRBE (Trace Buffer Extension)and BRBE (Branch Record Buffer
30 Extension) system registers for AArch64.
31
32 * Add support for Armv8-R and Armv8.7-A AArch64.
33
34 * Add support for DSB memory nXS barrier, WFET and WFIT instruction for Armv8.7
35 AArch64.
36
37 * Add support for +flagm feature for -march in Armv8.4 AArch64.
38
39 * Add support for +ls64 feature for -march in Armv8.7 AArch64. Add atomic
40 64-byte load/store instructions for this feature.
41
42 * Add support for +pauth (Pointer Authentication) feature for -march in
43 AArch64.
44
45 * Add support for Intel TDX instructions.
46
47 * Add support for Intel Key Locker instructions.
48
49 * Added a .nop directive to generate a single no-op instruction in a target
50 neutral manner. This instruction does have an effect on DWARF line number
51 generation, if that is active.
52
53 * Removed --reduce-memory-overheads and --hash-size as gas now
54 uses hash tables that can be expand and shrink automatically.
55
56 * Add {disp16} pseudo prefix to x86 assembler.
57
58 * Add support for Intel AMX instructions.
59
60 * Configure with --enable-x86-used-note by default for Linux/x86.
61
62 * Add support for the SHF_GNU_RETAIN flag, which can be applied to
63 sections using the 'R' flag in the .section directive.
64 SHF_GNU_RETAIN specifies that the section should not be garbage
65 collected by the linker. It requires the GNU or FreeBSD ELF OSABIs.
66
67 Changes in 2.35:
68
69 * X86 NaCl target support is removed.
70
71 * Extend .symver directive to update visibility of the original symbol
72 and assign one original symbol to different versioned symbols.
73
74 * Add support for Intel SERIALIZE and TSXLDTRK instructions.
75
76 * Add -mlfence-after-load=, -mlfence-before-indirect-branch= and
77 -mlfence-before-ret= options to x86 assembler to help mitigate
78 CVE-2020-0551.
79
80 * Add --gdwarf-5 option to the assembler to generate DWARF 5 debug output
81 (if such output is being generated). Added the ability to generate
82 version 5 .debug_line sections.
83
84 * Add -mbig-obj support to i386 MingW targets.
85
86 Changes in 2.34:
87
88 * Add -malign-branch-boundary=NUM, -malign-branch=TYPE[+TYPE...],
89 -malign-branch-prefix-size=NUM and -mbranches-within-32B-boundaries
90 options to x86 assembler to align branches within a fixed boundary
91 with segment prefixes or NOPs.
92
93 * Add support for Zilog eZ80 and Zilog Z180 CPUs.
94
95 * Add support for z80-elf target.
96
97 * Add support for relocation of each byte or word of multibyte value to Z80
98 targets (just use right shift to 0, 8, 16, or 24 bits or AND operation
99 with 0xff/0xffff mask): ld a, label >> 16 \ ld hl, label & 0xffff
100
101 * Add SDCC support for Z80 targets.
102
103 Changes in 2.33:
104
105 * Add support for the Arm Scalable Vector Extension version 2 (SVE2)
106 instructions.
107
108 * Add support for the Arm Transactional Memory Extension (TME)
109 instructions.
110
111 * Add support for the Armv8.1-M Mainline and M-profile Vector Extension (MVE)
112 instructions.
113
114 * For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) Loongson3
115 LLSC Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] configure
116 time option to set the default behavior. Set the default if the configure
117 option is not used to "no".
118
119 * Add support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P
120 processors.
121
122 * Add support for the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE,
123 Cortex-A76AE, and Cortex-A77 processors.
124
125 * Add .float16 directive for both Arm and AArch64 to allow encoding of 16-bit
126 floating point literals. Add .float16_format directive and
127 -mfp16-format=[ieee|alternative] option for Arm to control the format of the
128 encoding.
129
130 * Add --gdwarf-cie-version command line flag. This allows control over which
131 version of DWARF CIE the assembler creates.
132
133 Changes in 2.32:
134
135 * Add -mvexwig=[0|1] option to x86 assembler to control encoding of
136 VEX.W-ignored (WIG) VEX instructions.
137
138 * Add -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property
139 notes. Add a --enable-x86-used-note configure time option to set the
140 default behavior. Set the default if the configure option is not used
141 to "no".
142
143 * Add support for the MIPS Loongson EXTensions R2 (EXT2) instructions.
144
145 * Add support for the MIPS Loongson EXTensions (EXT) instructions.
146
147 * Add support for the MIPS Loongson Content Address Memory (CAM) ASE.
148
149 * Add support for the C-SKY processor series.
150
151 * Add support for the MIPS Loongson MultiMedia extensions Instructions (MMI)
152 ASE.
153
154 Changes in 2.31:
155
156 * The ADR and ADRL pseudo-instructions supported by the ARM assembler
157 now only set the bottom bit of the address of thumb function symbols
158 if the -mthumb-interwork command line option is active.
159
160 * Add support for the MIPS Global INValidate (GINV) ASE.
161
162 * Add support for the MIPS Cyclic Redudancy Check (CRC) ASE.
163
164 * Add support for the Freescale S12Z architecture.
165
166 * Add --generate-missing-build-notes=[yes|no] option to create (or not) GNU
167 Build Attribute notes if none are present in the input sources. Add a
168 --enable-generate-build-notes=[yes|no] configure time option to set the
169 default behaviour. Set the default if the configure option is not used
170 to "no".
171
172 * Remove -mold-gcc command-line option for x86 targets.
173
174 * Add -O[2|s] command-line options to x86 assembler to enable alternate
175 shorter instruction encoding.
176
177 * Add support for .nops directive. It is currently supported only for
178 x86 targets.
179
180 Changes in 2.30:
181
182 * Add support for loaction views in DWARF debug line information.
183
184 Changes in 2.29:
185
186 * Add support for ELF SHF_GNU_MBIND.
187
188 * Add support for the WebAssembly file format and wasm32 ELF conversion.
189
190 * PowerPC gas now checks that the correct register class is used in
191 instructions. For instance, "addi %f4,%cr3,%r31" warns three times
192 that the registers are invalid.
193
194 * Add support for the Texas Instruments PRU processor.
195
196 * Support for the ARMv8-R architecture and Cortex-R52 processor has been
197 added to the ARM port.
198
199 Changes in 2.28:
200
201 * Add support for the RISC-V architecture.
202
203 * Add support for the ARM Cortex-M23 and Cortex-M33 processors.
204
205 Changes in 2.27:
206
207 * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets.
208
209 * Add --no-pad-sections to stop the assembler from padding the end of output
210 sections up to their alignment boundary.
211
212 * Support for the ARMv8-M architecture has been added to the ARM port. Support
213 for the ARMv8-M Security and DSP Extensions has also been added to the ARM
214 port.
215
216 * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and
217 .extCoreRegister pseudo-ops that allow an user to define custom
218 instructions, conditional codes, auxiliary and core registers.
219
220 * Add a configure option --enable-elf-stt-common to decide whether ELF
221 assembler should generate common symbols with the STT_COMMON type by
222 default. Default to no.
223
224 * New command-line option --elf-stt-common= for ELF targets to control
225 whether to generate common symbols with the STT_COMMON type.
226
227 * Add ability to set section flags and types via numeric values for ELF
228 based targets.
229
230 * Add a configure option --enable-x86-relax-relocations to decide whether
231 x86 assembler should generate relax relocations by default. Default to
232 yes, except for x86 Solaris targets older than Solaris 12.
233
234 * New command-line option -mrelax-relocations= for x86 target to control
235 whether to generate relax relocations.
236
237 * New command-line option -mfence-as-lock-add=yes for x86 target to encode
238 lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)".
239
240 * Add assembly-time relaxation option for ARC cpus.
241
242 * Add --with-cpu=TYPE configure option for ARC gas. This allows the default
243 cpu type to be adjusted at configure time.
244
245 Changes in 2.26:
246
247 * Add a configure option --enable-compressed-debug-sections={all,gas} to
248 decide whether DWARF debug sections should be compressed by default.
249
250 * Add support for the ARC EM/HS, and ARC600/700 architectures. Remove
251 assembler support for Argonaut RISC architectures.
252
253 * Symbol and label names can now be enclosed in double quotes (") which allows
254 them to contain characters that are not part of valid symbol names in high
255 level languages.
256
257 * Added the correctly spelled -march=armv6kz, for ARMv6KZ support. The
258 previous spelling, -march=armv6zk, is still accepted.
259
260 * Support for the ARMv8.1 architecture has been added to the Aarch64 port.
261 Support for the individual ARMv8.1 Adv.SIMD, LOR and PAN architecture
262 extensions has also been added to the Aarch64 port.
263
264 * Support for the ARMv8.1 architecture has been added to the ARM port. Support
265 for the individual ARMv8.1 Adv.SIMD and PAN architecture extensions has also
266 been added to the ARM port.
267
268 * Extend --compress-debug-sections option to support
269 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
270 targets.
271
272 * --compress-debug-sections is turned on for Linux/x86 by default.
273
274 Changes in 2.25:
275
276 * Add support for the AVR Tiny microcontrollers.
277
278 * Replace support for openrisc and or32 with support for or1k.
279
280 * Enhanced the ARM port to accept the assembler output from the CodeComposer
281 Studio tool. Support is enabled via the new command-line option -mccs.
282
283 * Add support for the Andes NDS32.
284
285 Changes in 2.24:
286
287 * Add support for the Texas Instruments MSP430X processor.
288
289 * Add -gdwarf-sections command-line option to enable per-code-section
290 generation of DWARF .debug_line sections.
291
292 * Add support for Altera Nios II.
293
294 * Add support for the Imagination Technologies Meta processor.
295
296 * Add support for the v850e3v5.
297
298 * Remove assembler support for MIPS ECOFF targets.
299
300 Changes in 2.23:
301
302 * Add support for the 64-bit ARM architecture: AArch64.
303
304 * Add support for S12X processor.
305
306 * Add support for the VLE extension to the PowerPC architecture.
307
308 * Add support for the Freescale XGATE architecture.
309
310 * Add support for .bundle_align_mode, .bundle_lock, and .bundle_unlock
311 directives. These are currently available only for x86 and ARM targets.
312
313 * Add support for the Renesas RL78 architecture.
314
315 * Add support for the Adapteva EPIPHANY architecture.
316
317 * For x86, allow 'rep bsf', 'rep bsr', and 'rep ret' syntax.
318
319 Changes in 2.22:
320
321 * Add support for the Tilera TILEPro and TILE-Gx architectures.
322
323 Changes in 2.21:
324
325 * Gas no longer requires doubling of ampersands in macros.
326
327 * Add support for the TMS320C6000 (TI C6X) processor family.
328
329 * GAS now understands an extended syntax in the .section directive flags
330 for COFF targets that allows the section's alignment to be specified. This
331 feature has also been backported to the 2.20 release series, starting with
332 2.20.1.
333
334 * Add support for the Renesas RX processor.
335
336 * New command-line option, --compress-debug-sections, which requests
337 compression of DWARF debug information sections in the relocatable output
338 file. Compressed debug sections are supported by readelf, objdump, and
339 gold, but not currently by Gnu ld.
340
341 Changes in 2.20:
342
343 * Added support for v850e2 and v850e2v3.
344
345 * GNU/Linux targets now supports "gnu_unique_object" as a value in the .type
346 pseudo op. It marks the symbol as being globally unique in the entire
347 process.
348
349 * ARM assembler now supports .inst[.nw] pseudo-ops to insert opcodes specified
350 in binary rather than text.
351
352 * Add support for common symbol alignment to PE formats.
353
354 * Add support for the new discriminator column in the DWARF line table,
355 with a discriminator operand for the .loc directive.
356
357 * Add support for Sunplus score architecture.
358
359 * The .type pseudo-op now accepts a type of STT_GNU_IFUNC which can be used to
360 indicate that if the symbol is the target of a relocation, its value should
361 not be use. Instead the function should be invoked and its result used as
362 the value.
363
364 * Add support for Lattice Mico32 (lm32) architecture.
365
366 * Add support for Xilinx MicroBlaze architecture.
367
368 Changes in 2.19:
369
370 * New pseudo op .cfi_val_encoded_addr, to record constant addresses in unwind
371 tables without runtime relocation.
372
373 * New command-line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which
374 adds compatibility with H'00 style hex constants.
375
376 * New command-line option, -msse-check=[none|error|warning], for x86
377 targets.
378
379 * New sub-option added to the assembler's -a command-line switch to
380 generate a listing output. The 'g' sub-option will insert into the listing
381 various information about the assembly, such as assembler version, the
382 command-line options used, and a time stamp.
383
384 * New command-line option -msse2avx for x86 target to encode SSE
385 instructions with VEX prefix.
386
387 * Add Intel XSAVE, EPT, MOVBE, AES, PCLMUL, AVX/FMA support for x86 target.
388
389 * New command-line options, -march=CPU[,+EXTENSION...], -mtune=CPU,
390 -mmnemonic=[att|intel], -msyntax=[att|intel], -mindex-reg,
391 -mnaked-reg and -mold-gcc, for x86 targets.
392
393 * Support for generating wide character strings has been added via the new
394 pseudo ops: .string16, .string32 and .string64.
395
396 * Support for SSE5 has been added to the i386 port.
397
398 Changes in 2.18:
399
400 * The GAS sources are now released under the GPLv3.
401
402 * Support for the National Semiconductor CR16 target has been added.
403
404 * Added gas .reloc pseudo. This is a low-level interface for creating
405 relocations.
406
407 * Add support for x86_64 PE+ target.
408
409 * Add support for Score target.
410
411 Changes in 2.17:
412
413 * Support for the Infineon XC16X has been added by KPIT Cummins Infosystems.
414
415 * Support for ms2 architecture has been added.
416
417 * Support for the Z80 processor family has been added.
418
419 * Add support for the "@<file>" syntax to the command line, so that extra
420 switches can be read from <file>.
421
422 * The SH target supports a new command-line switch --enable-reg-prefix which,
423 if enabled, will allow register names to be optionally prefixed with a $
424 character. This allows register names to be distinguished from label names.
425
426 * Macros with a variable number of arguments are now supported. See the
427 documentation for how this works.
428
429 * Added --reduce-memory-overheads switch to reduce the size of the hash
430 tables used, at the expense of longer assembly times, and
431 --hash-size=<NUMBER> to set the size of the hash tables used by gas.
432
433 * Macro names and macro parameter names can now be any identifier that would
434 also be legal as a symbol elsewhere. For macro parameter names, this is
435 known to cause problems in certain sources when the respective target uses
436 characters inconsistently, and thus macro parameter references may no longer
437 be recognized as such (see the documentation for details).
438
439 * Support the .f_floating, .d_floating, .g_floating and .h_floating directives
440 for the VAX target in order to be more compatible with the VAX MACRO
441 assembler.
442
443 * New command-line option -mtune=[itanium1|itanium2] for IA64 targets.
444
445 Changes in 2.16:
446
447 * Redefinition of macros now results in an error.
448
449 * New command-line option -mhint.b=[ok|warning|error] for IA64 targets.
450
451 * New command-line option -munwind-check=[warning|error] for IA64
452 targets.
453
454 * The IA64 port now uses automatic dependency violation removal as its default
455 mode.
456
457 * Port to MAXQ processor contributed by HCL Tech.
458
459 * Added support for generating unwind tables for ARM ELF targets.
460
461 * Add a -g command-line option to generate debug information in the target's
462 preferred debug format.
463
464 * Support for the crx-elf target added.
465
466 * Support for the sh-symbianelf target added.
467
468 * Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations
469 on pe[i]-i386; required for this target's DWARF 2 support.
470
471 * Support for Motorola MCF521x/5249/547x/548x added.
472
473 * Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
474 instrucitons.
475
476 * New command-line option -mno-shared for MIPS ELF targets.
477
478 * New command-line option --alternate and pseudo-ops .altmacro and .noaltmacro
479 added to enter (and leave) alternate macro syntax mode.
480
481 Changes in 2.15:
482
483 * The MIPS -membedded-pic option (Embedded-PIC code generation) is
484 deprecated and will be removed in a future release.
485
486 * Added PIC m32r Linux (ELF) and support to M32R assembler.
487
488 * Added support for ARM V6.
489
490 * Added support for sh4a and variants.
491
492 * Support for Renesas M32R2 added.
493
494 * Limited support for Mapping Symbols as specified in the ARM ELF
495 specification has been added to the arm assembler.
496
497 * On ARM architectures, added a new gas directive ".unreq" that undoes
498 definitions created by ".req".
499
500 * Support for Motorola ColdFire MCF528x added.
501
502 * Added --gstabs+ switch to enable the generation of STABS debug format
503 information with GNU extensions.
504
505 * Added support for MIPS64 Release 2.
506
507 * Added support for v850e1.
508
509 * Added -n switch for x86 assembler. By default, x86 GAS replaces
510 multiple nop instructions used for alignment within code sections
511 with multi-byte nop instructions such as leal 0(%esi,1),%esi. This
512 switch disables the optimization.
513
514 * Removed -n option from MIPS assembler. It was not useful, and confused the
515 existing -non_shared option.
516
517 Changes in 2.14:
518
519 * Added support for MIPS32 Release 2.
520
521 * Added support for Xtensa architecture.
522
523 * Support for Intel's iWMMXt processor (an ARM variant) added.
524
525 * An assembler test generator has been contributed and an example file that
526 uses it (gas/testsuite/gas/all/test-gen.c and test-exmaple.c).
527
528 * Support for SH2E added.
529
530 * GASP has now been removed.
531
532 * Support for Texas Instruments TMS320C4x and TMS320C3x series of
533 DSP's contributed by Michael Hayes and Svein E. Seldal.
534
535 * Support for the Ubicom IP2xxx microcontroller added.
536
537 Changes in 2.13:
538
539 * Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
540 and FR500 included.
541
542 * Support for DLX processor added.
543
544 * GASP has now been deprecated and will be removed in a future release. Use
545 the macro facilities in GAS instead.
546
547 * GASP now correctly parses floating point numbers. Unless the base is
548 explicitly specified, they are interpreted as decimal numbers regardless of
549 the currently specified base.
550
551 Changes in 2.12:
552
553 * Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
554
555 * Support for the OpenRISC 32-bit embedded processor by OpenCores.
556
557 * The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for
558 specifying the target instruction set. The old method of specifying the
559 target processor has been deprecated, but is still accepted for
560 compatibility.
561
562 * Support for the VFP floating-point instruction set has been added to
563 the ARM assembler.
564
565 * New psuedo op: .incbin to include a set of binary data at a given point
566 in the assembly. Contributed by Anders Norlander.
567
568 * The MIPS assembler now accepts -march/-mtune. -mcpu has been deprecated
569 but still works for compatability.
570
571 * The MIPS assembler no longer issues a warning by default when it
572 generates a nop instruction from a macro. The new command-line option
573 -n will turn on the warning.
574
575 Changes in 2.11:
576
577 * Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff.
578
579 * x86 gas now supports the full Pentium4 instruction set.
580
581 * Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs.
582
583 * Support for Motorola 68HC11 and 68HC12.
584
585 * Support for Texas Instruments TMS320C54x (tic54x).
586
587 * Support for IA-64.
588
589 * Support for i860, by Jason Eckhardt.
590
591 * Support for CRIS (Axis Communications ETRAX series).
592
593 * x86 gas has a new .arch pseudo op to specify the target CPU architecture.
594
595 * x86 gas -q command-line option quietens warnings about register size changes
596 due to suffix, indirect jmp/call without `*', stand-alone prefixes, and
597 translating various deprecated floating point instructions.
598
599 Changes in 2.10:
600
601 * Support for the ARM msr instruction was changed to only allow an immediate
602 operand when altering the flags field.
603
604 * Support for ATMEL AVR.
605
606 * Support for IBM 370 ELF. Somewhat experimental.
607
608 * Support for numbers with suffixes.
609
610 * Added support for breaking to the end of repeat loops.
611
612 * Added support for parallel instruction syntax (DOUBLEBAR_PARALLEL).
613
614 * New .elseif pseudo-op added.
615
616 * New --fatal-warnings option.
617
618 * picoJava architecture support added.
619
620 * Motorola MCore 210 processor support added.
621
622 * A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386
623 assembly programs with intel syntax.
624
625 * New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code.
626
627 * Added -gdwarf2 option to generate DWARF 2 debugging information.
628
629 * Full 16-bit mode support for i386.
630
631 * Greatly improved instruction operand checking for i386. This change will
632 produce errors or warnings on incorrect assembly code that previous versions
633 of gas accepted. If you get unexpected messages from code that worked with
634 older versions of gas, please double check the code before reporting a bug.
635
636 * Weak symbol support added for COFF targets.
637
638 * Mitsubishi D30V support added.
639
640 * Texas Instruments c80 (tms320c80) support added.
641
642 * i960 ELF support added.
643
644 * ARM ELF support added.
645
646 Changes in 2.9:
647
648 * Texas Instruments c30 (tms320c30) support added.
649
650 * The assembler now optimizes the exception frame information generated by egcs
651 and gcc 2.8. The new --traditional-format option disables this optimization.
652
653 * Added --gstabs option to generate stabs debugging information.
654
655 * The -a option takes a new suboption, m (e.g., -alm) to expand macros in a
656 listing.
657
658 * Added -MD option to print dependencies.
659
660 Changes in 2.8:
661
662 * BeOS support added.
663
664 * MIPS16 support added.
665
666 * Motorola ColdFire 5200 support added (configure for m68k and use -m5200).
667
668 * Alpha/VMS support added.
669
670 * m68k options --base-size-default-16, --base-size-default-32,
671 --disp-size-default-16, and --disp-size-default-32 added.
672
673 * The alignment directives now take an optional third argument, which is the
674 maximum number of bytes to skip. If doing the alignment would require
675 skipping more than the given number of bytes, the alignment is not done at
676 all.
677
678 * The ELF assembler has a new pseudo-op, .symver, used for symbol versioning.
679
680 * The -a option takes a new suboption, c (e.g., -alc), to skip false
681 conditionals in listings.
682
683 * Added new pseudo-op, .equiv; it's like .equ, except that it is an error if
684 the symbol is already defined.
685
686 Changes in 2.7:
687
688 * The PowerPC assembler now allows the use of symbolic register names (r0,
689 etc.) if -mregnames is used. Symbolic names preceded by a '%' (%r0, etc.)
690 can be used any time. PowerPC 860 move to/from SPR instructions have been
691 added.
692
693 * Alpha Linux (ELF) support added.
694
695 * PowerPC ELF support added.
696
697 * m68k Linux (ELF) support added.
698
699 * i960 Hx/Jx support added.
700
701 * i386/PowerPC gnu-win32 support added.
702
703 * SCO ELF support added. For OpenServer 5 targets (i386-unknown-sco3.2v5) the
704 default is to build COFF-only support. To get a set of tools that generate
705 ELF (they'll understand both COFF and ELF), you must configure with
706 target=i386-unknown-sco3.2v5elf.
707
708 * m88k-motorola-sysv3* support added.
709
710 Changes in 2.6:
711
712 * Gas now directly supports macros, without requiring GASP.
713
714 * Gas now has an MRI assembler compatibility mode. Use -M or --mri to select
715 MRI mode. The pseudo-op ``.mri 1'' will switch into the MRI mode until the
716 ``.mri 0'' is seen; this can be convenient for inline assembler code.
717
718 * Added --defsym SYM=VALUE option.
719
720 * Added -mips4 support to MIPS assembler.
721
722 * Added PIC support to Solaris and SPARC SunOS 4 assembler.
723
724 Changes in 2.4:
725
726 * Converted this directory to use an autoconf-generated configure script.
727
728 * ARM support, from Richard Earnshaw.
729
730 * Updated VMS support, from Pat Rankin, including considerably improved
731 debugging support.
732
733 * Support for the control registers in the 68060.
734
735 * Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to
736 provide for possible future gcc changes, for targets where gas provides some
737 features not available in the native assembler. If the native assembler is
738 used, it should become obvious pretty quickly what the problem is.
739
740 * Usage message is available with "--help".
741
742 * The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3
743 also, but didn't get into the NEWS file.)
744
745 * Weak symbol support for a.out.
746
747 * A bug in the listing code which could cause an infinite loop has been fixed.
748 Bugs in listings when generating a COFF object file have also been fixed.
749
750 * Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by
751 Paul Kranenburg.
752
753 * Improved Alpha support. Immediate constants can have a much larger range
754 now. Support for the 21164 has been contributed by Digital.
755
756 * Updated ns32k (pc532-mach, netbsd532) support from Ian Dall.
757
758 Changes in 2.3:
759
760 * Mach i386 support, by David Mackenzie and Ken Raeburn.
761
762 * RS/6000 and PowerPC support by Ian Taylor.
763
764 * VMS command scripts (make-gas.com, config-gas.com) have been worked on a bit,
765 based on mail received from various people. The `-h#' option should work
766 again too.
767
768 * HP-PA work, by Jeff Law. Note, for the PA, gas-2.3 has been designed to work
769 with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special
770 version of gcc-2.5.8 has been patched to work with gas-2.3. You can retrieve
771 this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu
772 in the "dist" directory.
773
774 * Vax support in gas fixed for BSD, so it builds and seems to run a couple
775 simple tests okay. I haven't put it through extensive testing. (GNU make is
776 currently required for BSD 4.3 builds.)
777
778 * Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is
779 based on code donated by CMU, which used an a.out-based format. I'm afraid
780 the alpha-a.out support is pretty badly mangled, and much of it removed;
781 making it work will require rewriting it as BFD support for the format anyways.
782
783 * Irix 5 support.
784
785 * The test suites have been fixed up a bit, so that they should work with a
786 couple different versions of expect and dejagnu.
787
788 * Symbols' values are now handled internally as expressions, permitting more
789 flexibility in evaluating them in some cases. Some details of relocation
790 handling have also changed, and simple constant pool management has been
791 added, to make the Alpha port easier.
792
793 * New option "--statistics" for printing out program run times. This is
794 intended to be used with the gcc "-Q" option, which prints out times spent in
795 various phases of compilation. (You should be able to get all of them
796 printed out with "gcc -Q -Wa,--statistics", I think.)
797
798 Changes in 2.2:
799
800 * RS/6000 AIX and MIPS SGI Irix 5 support has been added.
801
802 * Configurations that are still in development (and therefore are convenient to
803 have listed in configure.in) still get rejected without a minor change to
804 gas/Makefile.in, so people not doing development work shouldn't get the
805 impression that support for such configurations is actually believed to be
806 reliable.
807
808 * The program name (usually "as") is printed when a fatal error message is
809 displayed. This should prevent some confusion about the source of occasional
810 messages about "internal errors".
811
812 * ELF support is falling into place. Support for the 386 should be working.
813 Support for SPARC Solaris is in. HPPA support from Utah is being integrated.
814
815 * Symbol values are maintained as expressions instead of being immediately
816 boiled down to add-symbol, sub-symbol, and constant. This permits slightly
817 more complex calculations involving symbols whose values are not alreadey
818 known.
819
820 * DBX-style debugging info ("stabs") is now supported for COFF formats.
821 If any stabs directives are seen in the source, GAS will create two new
822 sections: a ".stab" and a ".stabstr" section. The format of the .stab
823 section is nearly identical to the a.out symbol format, and .stabstr is
824 its string table. For this to be useful, you must have configured GCC
825 to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB
826 that can use the stab sections (4.11 or later).
827
828 * LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS
829 support is in progress.
830
831 Changes in 2.1:
832
833 * Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been
834 incorporated, but not well tested yet.
835
836 * Altered the opcode table split for m68k; it should require less VM to compile
837 with gcc now.
838
839 * Some minor adjustments to add (Convergent Technologies') Miniframe support,
840 suggested by Ronald Cole.
841
842 * HPPA support (running OSF only, not HPUX) has been contributed by Utah. This
843 includes improved ELF support, which I've started adapting for SPARC Solaris
844 2.x. Integration isn't completely, so it probably won't work.
845
846 * HP9000/300 support, donated by HP, has been merged in.
847
848 * Ian Taylor has finished the MIPS ECOFF (Ultrix, Irix) support.
849
850 * Better error messages for unsupported configurations (e.g., hppa-hpux).
851
852 * Test suite framework is starting to become reasonable.
853
854 Changes in 2.0:
855
856 * Mostly bug fixes.
857
858 * Some more merging of BFD and ELF code, but ELF still doesn't work.
859
860 Changes in 1.94:
861
862 * BFD merge is partly done. Adventurous souls may try giving configure the
863 "--with-bfd-assembler" option. Currently, ELF format requires it, a.out
864 format accepts it; SPARC CPU accepts it. It's the default only for OS "elf"
865 or "solaris". (ELF isn't really supported yet. It needs work. I've got
866 some code from Utah for HP-PA ELF, and from DG for m88k ELF, but they're not
867 fully merged yet.)
868
869 * The 68K opcode table has been split in half. It should now compile under gcc
870 without consuming ridiculous amounts of memory.
871
872 * A couple data structures have been reduced in size. This should result in
873 saving a little bit of space at runtime.
874
875 * Support for MIPS, from OSF and Ralph Campbell, has been merged in. The OSF
876 code provided ROSE format support, which I haven't merged in yet. (I can
877 make it available, if anyone wants to try it out.) Ralph's code, for BSD
878 4.4, supports a.out format. We don't have ECOFF support in just yet; it's
879 coming.
880
881 * Support for the Hitachi H8/500 has been added.
882
883 * VMS host and target support should be working now, thanks chiefly to Eric
884 Youngdale.
885
886 Changes in 1.93.01:
887
888 * For m68k, support for more processors has been added: 68040, CPU32, 68851.
889
890 * For i386, .align is now power-of-two; was number-of-bytes.
891
892 * For m68k, "%" is now accepted before register names. For COFF format, which
893 doesn't use underscore prefixes for C labels, it is required, so variable "a0"
894 can be distinguished from the register.
895
896 * Last public release was 1.38. Lots of configuration changes since then, lots
897 of new CPUs and formats, lots of bugs fixed.
898
899 \f
900 Copyright (C) 2012-2021 Free Software Foundation, Inc.
901
902 Copying and distribution of this file, with or without modification,
903 are permitted in any medium without royalty provided the copyright
904 notice and this notice are preserved.
905
906 Local variables:
907 fill-column: 79
908 End: