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