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