PR 6913
[deliverable/binutils-gdb.git] / gas / NEWS
CommitLineData
252b5132 1-*- text -*-
6e33da12
TG
2
3Changes in 2.19:
4
6fd4f6cc
DD
5* New command line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which
6 adds compatibility with H'00 style hex constants.
7
daf50ae7
L
8* New command line option, -msse-check=[none|error|warning], for x86
9 targets.
10
83f10cb2
NC
11* New sub-option added to the assembler's -a command line switch to
12 generate a listing output. The 'g' sub-option will insert into the listing
13 various information about the assembly, such as assembler version, the
14 command line options used, and a time stamp.
15
c0f3af97
L
16* New command line option -msse2avx for x86 target to encode SSE
17 instructions with VEX prefix.
18
f1f8f695 19* Add Intel XSAVE, EPT, MOVBE, AES, PCLMUL, AVX/FMA support for x86 target.
c0f3af97 20
ae40c993
L
21* New command line options, -march=CPU[,+EXTENSION...], -mtune=CPU,
22 -mmnemonic=[att|intel], -msyntax=[att|intel], -mindex-reg,
23 -mnaked-reg and -mold-gcc, for x86 targets.
24
38a57ae7
NC
25* Support for generating wide character strings has been added via the new
26 pseudo ops: .string16, .string32 and .string64.
27
85f10a01
MM
28* Support for SSE5 has been added to the i386 port.
29
7c3d153f
NC
30Changes in 2.18:
31
ec2655a6
NC
32* The GAS sources are now released under the GPLv3.
33
3d3d428f
NC
34* Support for the National Semiconductor CR16 target has been added.
35
3f9ce309
AM
36* Added gas .reloc pseudo. This is a low-level interface for creating
37 relocations.
38
99ad8390
NC
39* Add support for x86_64 PE+ target.
40
1c0d3aa6 41* Add support for Score target.
83518699 42
ec2655a6
NC
43Changes in 2.17:
44
d70c5fc7
NC
45* Support for the Infineon XC16X has been added by KPIT Cummins Infosystems.
46
08333dc4
NS
47* Support for ms2 architecture has been added.
48
b7b8fb1d
NC
49* Support for the Z80 processor family has been added.
50
3e8a519c
MM
51* Add support for the "@<file>" syntax to the command line, so that extra
52 switches can be read from <file>.
53
37dedf66
NC
54* The SH target supports a new command line switch --enable-reg-prefix which,
55 if enabled, will allow register names to be optionally prefixed with a $
56 character. This allows register names to be distinguished from label names.
57
6eaeac8a
JB
58* Macros with a variable number of arguments are now supported. See the
59 documentation for how this works.
60
4bdd3565
NC
61* Added --reduce-memory-overheads switch to reduce the size of the hash
62 tables used, at the expense of longer assembly times, and
63 --hash-size=<NUMBER> to set the size of the hash tables used by gas.
64
5e75c3ab
JB
65* Macro names and macro parameter names can now be any identifier that would
66 also be legal as a symbol elsewhere. For macro parameter names, this is
67 known to cause problems in certain sources when the respective target uses
68 characters inconsistently, and thus macro parameter references may no longer
69 be recognized as such (see the documentation for details).
4bdd3565 70
d2c5f73e
NC
71* Support the .f_floating, .d_floating, .g_floating and .h_floating directives
72 for the VAX target in order to be more compatible with the VAX MACRO
73 assembler.
74
8c2fda1d
L
75* New command line option -mtune=[itanium1|itanium2] for IA64 targets.
76
957d91c1
NC
77Changes in 2.16:
78
fffeaa5f
JB
79* Redefinition of macros now results in an error.
80
91d777ee
L
81* New command line option -mhint.b=[ok|warning|error] for IA64 targets.
82
970d6792
L
83* New command line option -munwind-check=[warning|error] for IA64
84 targets.
85
f1dab70d
JB
86* The IA64 port now uses automatic dependency violation removal as its default
87 mode.
88
7499d566
NC
89* Port to MAXQ processor contributed by HCL Tech.
90
7ed4c4c5
NC
91* Added support for generating unwind tables for ARM ELF targets.
92
329e276d
NC
93* Add a -g command line option to generate debug information in the target's
94 preferred debug format.
95
1fe1f39c
NC
96* Support for the crx-elf target added.
97
1a320fbb 98* Support for the sh-symbianelf target added.
1fe1f39c 99
0503b355
BF
100* Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations
101 on pe[i]-i386; required for this target's DWARF 2 support.
102
6b6e92f4
NC
103* Support for Motorola MCF521x/5249/547x/548x added.
104
fd99574b
NC
105* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
106 instrucitons.
107
aa6975fb
ILT
108* New command line option -mno-shared for MIPS ELF targets.
109
caa32fe5
NC
110* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro
111 added to enter (and leave) alternate macro syntax mode.
112
0477af35
NC
113Changes in 2.15:
114
7a7f4e42
CD
115* The MIPS -membedded-pic option (Embedded-PIC code generation) is
116 deprecated and will be removed in a future release.
117
6edf0760
NC
118* Added PIC m32r Linux (ELF) and support to M32R assembler.
119
09d92015
MM
120* Added support for ARM V6.
121
88da98f3
MS
122* Added support for sh4a and variants.
123
eb764db8
NC
124* Support for Renesas M32R2 added.
125
88da98f3
MS
126* Limited support for Mapping Symbols as specified in the ARM ELF
127 specification has been added to the arm assembler.
ed769ec1 128
0bbf2aa4
NC
129* On ARM architectures, added a new gas directive ".unreq" that undoes
130 definitions created by ".req".
131
3e602632
NC
132* Support for Motorola ColdFire MCF528x added.
133
05da4302
NC
134* Added --gstabs+ switch to enable the generation of STABS debug format
135 information with GNU extensions.
136
6a265366
CD
137* Added support for MIPS64 Release 2.
138
8ad30312
NC
139* Added support for v850e1.
140
12b55ccc
L
141* Added -n switch for x86 assembler. By default, x86 GAS replaces
142 multiple nop instructions used for alignment within code sections
143 with multi-byte nop instructions such as leal 0(%esi,1),%esi. This
144 switch disables the optimization.
145
78849248
ILT
146* Removed -n option from MIPS assembler. It was not useful, and confused the
147 existing -non_shared option.
148
43c58ae6
CD
149Changes in 2.14:
150
69be0a2b
CD
151* Added support for MIPS32 Release 2.
152
e8fd7476
NC
153* Added support for Xtensa architecture.
154
e16bb312
NC
155* Support for Intel's iWMMXt processor (an ARM variant) added.
156
cce4814f
NC
157* An assembler test generator has been contributed and an example file that
158 uses it (gas/testsuite/gas/all/test-gen.c and test-exmaple.c).
159
5177500f
NC
160* Support for SH2E added.
161
fea17916
NC
162* GASP has now been removed.
163
004d9caf
NC
164* Support for Texas Instruments TMS320C4x and TMS320C3x series of
165 DSP's contributed by Michael Hayes and Svein E. Seldal.
026df7c5 166
a40cbfa3
NC
167* Support for the Ubicom IP2xxx microcontroller added.
168
2cbb2eef
NC
169Changes in 2.13:
170
a40cbfa3
NC
171* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
172 and FR500 included.
0ebb9a87 173
a40cbfa3 174* Support for DLX processor added.
52216602 175
a40cbfa3
NC
176* GASP has now been deprecated and will be removed in a future release. Use
177 the macro facilities in GAS instead.
3f965e60 178
a40cbfa3
NC
179* GASP now correctly parses floating point numbers. Unless the base is
180 explicitly specified, they are interpreted as decimal numbers regardless of
181 the currently specified base.
1ac57253 182
9a66911f
NC
183Changes in 2.12:
184
a40cbfa3 185* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
49fda6c8 186
a40cbfa3 187* Support for the OpenRISC 32-bit embedded processor by OpenCores.
3b16e843 188
a40cbfa3
NC
189* The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for
190 specifying the target instruction set. The old method of specifying the
191 target processor has been deprecated, but is still accepted for
192 compatibility.
03b1477f 193
a40cbfa3
NC
194* Support for the VFP floating-point instruction set has been added to
195 the ARM assembler.
252b5132 196
a40cbfa3
NC
197* New psuedo op: .incbin to include a set of binary data at a given point
198 in the assembly. Contributed by Anders Norlander.
7e005732 199
a40cbfa3
NC
200* The MIPS assembler now accepts -march/-mtune. -mcpu has been deprecated
201 but still works for compatability.
ec68c924 202
a40cbfa3
NC
203* The MIPS assembler no longer issues a warning by default when it
204 generates a nop instruction from a macro. The new command line option
205 -n will turn on the warning.
63486801 206
2dac7317
JW
207Changes in 2.11:
208
500800ca
NC
209* Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff.
210
a40cbfa3 211* x86 gas now supports the full Pentium4 instruction set.
a167610d 212
a40cbfa3 213* Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs.
c0d8940f 214
a40cbfa3 215* Support for Motorola 68HC11 and 68HC12.
df86943d 216
a40cbfa3 217* Support for Texas Instruments TMS320C54x (tic54x).
39bec121 218
a40cbfa3 219* Support for IA-64.
2dac7317 220
a40cbfa3 221* Support for i860, by Jason Eckhardt.
22b36938 222
a40cbfa3 223* Support for CRIS (Axis Communications ETRAX series).
5bcac8a4 224
a40cbfa3 225* x86 gas has a new .arch pseudo op to specify the target CPU architecture.
a38cf1db 226
a40cbfa3
NC
227* x86 gas -q command line option quietens warnings about register size changes
228 due to suffix, indirect jmp/call without `*', stand-alone prefixes, and
229 translating various deprecated floating point instructions.
a38cf1db 230
252b5132
RH
231Changes in 2.10:
232
a40cbfa3
NC
233* Support for the ARM msr instruction was changed to only allow an immediate
234 operand when altering the flags field.
d14442f4 235
a40cbfa3 236* Support for ATMEL AVR.
adde6300 237
a40cbfa3 238* Support for IBM 370 ELF. Somewhat experimental.
b5ebe70e 239
a40cbfa3 240* Support for numbers with suffixes.
3fd9f047 241
a40cbfa3 242* Added support for breaking to the end of repeat loops.
6a6987a9 243
a40cbfa3 244* Added support for parallel instruction syntax (DOUBLEBAR_PARALLEL).
6a6987a9 245
a40cbfa3 246* New .elseif pseudo-op added.
3fd9f047 247
a40cbfa3 248* New --fatal-warnings option.
1f776aa5 249
a40cbfa3 250* picoJava architecture support added.
252b5132 251
a40cbfa3 252* Motorola MCore 210 processor support added.
041dd5a9 253
a40cbfa3
NC
254* A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386
255 assembly programs with intel syntax.
252b5132 256
a40cbfa3 257* New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code.
252b5132 258
a40cbfa3 259* Added -gdwarf2 option to generate DWARF 2 debugging information.
041dd5a9 260
a40cbfa3 261* Full 16-bit mode support for i386.
252b5132 262
a40cbfa3
NC
263* Greatly improved instruction operand checking for i386. This change will
264 produce errors or warnings on incorrect assembly code that previous versions
265 of gas accepted. If you get unexpected messages from code that worked with
266 older versions of gas, please double check the code before reporting a bug.
252b5132 267
a40cbfa3 268* Weak symbol support added for COFF targets.
252b5132 269
a40cbfa3 270* Mitsubishi D30V support added.
252b5132 271
a40cbfa3 272* Texas Instruments c80 (tms320c80) support added.
252b5132 273
a40cbfa3 274* i960 ELF support added.
bedf545c 275
a40cbfa3 276* ARM ELF support added.
a057431b 277
252b5132
RH
278Changes in 2.9:
279
a40cbfa3 280* Texas Instruments c30 (tms320c30) support added.
252b5132 281
a40cbfa3
NC
282* The assembler now optimizes the exception frame information generated by egcs
283 and gcc 2.8. The new --traditional-format option disables this optimization.
252b5132 284
a40cbfa3 285* Added --gstabs option to generate stabs debugging information.
252b5132 286
a40cbfa3
NC
287* The -a option takes a new suboption, m (e.g., -alm) to expand macros in a
288 listing.
252b5132 289
a40cbfa3 290* Added -MD option to print dependencies.
252b5132
RH
291
292Changes in 2.8:
293
a40cbfa3 294* BeOS support added.
252b5132 295
a40cbfa3 296* MIPS16 support added.
252b5132 297
a40cbfa3 298* Motorola ColdFire 5200 support added (configure for m68k and use -m5200).
252b5132 299
a40cbfa3 300* Alpha/VMS support added.
252b5132 301
a40cbfa3
NC
302* m68k options --base-size-default-16, --base-size-default-32,
303 --disp-size-default-16, and --disp-size-default-32 added.
252b5132 304
a40cbfa3
NC
305* The alignment directives now take an optional third argument, which is the
306 maximum number of bytes to skip. If doing the alignment would require
307 skipping more than the given number of bytes, the alignment is not done at
308 all.
252b5132 309
a40cbfa3 310* The ELF assembler has a new pseudo-op, .symver, used for symbol versioning.
252b5132 311
a40cbfa3
NC
312* The -a option takes a new suboption, c (e.g., -alc), to skip false
313 conditionals in listings.
252b5132 314
a40cbfa3
NC
315* Added new pseudo-op, .equiv; it's like .equ, except that it is an error if
316 the symbol is already defined.
252b5132
RH
317
318Changes in 2.7:
319
a40cbfa3
NC
320* The PowerPC assembler now allows the use of symbolic register names (r0,
321 etc.) if -mregnames is used. Symbolic names preceded by a '%' (%r0, etc.)
322 can be used any time. PowerPC 860 move to/from SPR instructions have been
323 added.
252b5132 324
a40cbfa3 325* Alpha Linux (ELF) support added.
252b5132 326
a40cbfa3 327* PowerPC ELF support added.
252b5132 328
a40cbfa3 329* m68k Linux (ELF) support added.
252b5132 330
a40cbfa3 331* i960 Hx/Jx support added.
252b5132 332
a40cbfa3 333* i386/PowerPC gnu-win32 support added.
252b5132 334
a40cbfa3
NC
335* SCO ELF support added. For OpenServer 5 targets (i386-unknown-sco3.2v5) the
336 default is to build COFF-only support. To get a set of tools that generate
337 ELF (they'll understand both COFF and ELF), you must configure with
338 target=i386-unknown-sco3.2v5elf.
252b5132 339
a40cbfa3 340* m88k-motorola-sysv3* support added.
252b5132
RH
341
342Changes in 2.6:
343
a40cbfa3 344* Gas now directly supports macros, without requiring GASP.
252b5132 345
a40cbfa3
NC
346* Gas now has an MRI assembler compatibility mode. Use -M or --mri to select
347 MRI mode. The pseudo-op ``.mri 1'' will switch into the MRI mode until the
348 ``.mri 0'' is seen; this can be convenient for inline assembler code.
252b5132 349
a40cbfa3 350* Added --defsym SYM=VALUE option.
252b5132 351
a40cbfa3 352* Added -mips4 support to MIPS assembler.
252b5132 353
a40cbfa3 354* Added PIC support to Solaris and SPARC SunOS 4 assembler.
252b5132
RH
355
356Changes in 2.4:
357
a40cbfa3 358* Converted this directory to use an autoconf-generated configure script.
252b5132 359
a40cbfa3 360* ARM support, from Richard Earnshaw.
252b5132 361
a40cbfa3
NC
362* Updated VMS support, from Pat Rankin, including considerably improved
363 debugging support.
252b5132 364
a40cbfa3 365* Support for the control registers in the 68060.
252b5132 366
a40cbfa3
NC
367* Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to
368 provide for possible future gcc changes, for targets where gas provides some
369 features not available in the native assembler. If the native assembler is
370 used, it should become obvious pretty quickly what the problem is.
252b5132 371
a40cbfa3 372* Usage message is available with "--help".
252b5132 373
a40cbfa3
NC
374* The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3
375 also, but didn't get into the NEWS file.)
252b5132 376
a40cbfa3 377* Weak symbol support for a.out.
252b5132 378
a40cbfa3
NC
379* A bug in the listing code which could cause an infinite loop has been fixed.
380 Bugs in listings when generating a COFF object file have also been fixed.
252b5132 381
a40cbfa3
NC
382* Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by
383 Paul Kranenburg.
252b5132 384
a40cbfa3
NC
385* Improved Alpha support. Immediate constants can have a much larger range
386 now. Support for the 21164 has been contributed by Digital.
252b5132 387
a40cbfa3 388* Updated ns32k (pc532-mach, netbsd532) support from Ian Dall.
252b5132
RH
389
390Changes in 2.3:
391
a40cbfa3 392* Mach i386 support, by David Mackenzie and Ken Raeburn.
252b5132 393
a40cbfa3 394* RS/6000 and PowerPC support by Ian Taylor.
252b5132 395
a40cbfa3
NC
396* VMS command scripts (make-gas.com, config-gas.com) have been worked on a bit,
397 based on mail received from various people. The `-h#' option should work
398 again too.
252b5132 399
a40cbfa3
NC
400* HP-PA work, by Jeff Law. Note, for the PA, gas-2.3 has been designed to work
401 with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special
402 version of gcc-2.5.8 has been patched to work with gas-2.3. You can retrieve
403 this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu
404 in the "dist" directory.
252b5132 405
a40cbfa3
NC
406* Vax support in gas fixed for BSD, so it builds and seems to run a couple
407 simple tests okay. I haven't put it through extensive testing. (GNU make is
408 currently required for BSD 4.3 builds.)
252b5132 409
a40cbfa3
NC
410* Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is
411 based on code donated by CMU, which used an a.out-based format. I'm afraid
412 the alpha-a.out support is pretty badly mangled, and much of it removed;
413 making it work will require rewriting it as BFD support for the format anyways.
252b5132 414
a40cbfa3 415* Irix 5 support.
252b5132 416
a40cbfa3
NC
417* The test suites have been fixed up a bit, so that they should work with a
418 couple different versions of expect and dejagnu.
252b5132 419
a40cbfa3
NC
420* Symbols' values are now handled internally as expressions, permitting more
421 flexibility in evaluating them in some cases. Some details of relocation
422 handling have also changed, and simple constant pool management has been
423 added, to make the Alpha port easier.
252b5132 424
a40cbfa3
NC
425* New option "--statistics" for printing out program run times. This is
426 intended to be used with the gcc "-Q" option, which prints out times spent in
427 various phases of compilation. (You should be able to get all of them
428 printed out with "gcc -Q -Wa,--statistics", I think.)
252b5132
RH
429
430Changes in 2.2:
431
a40cbfa3 432* RS/6000 AIX and MIPS SGI Irix 5 support has been added.
252b5132 433
a40cbfa3
NC
434* Configurations that are still in development (and therefore are convenient to
435 have listed in configure.in) still get rejected without a minor change to
436 gas/Makefile.in, so people not doing development work shouldn't get the
437 impression that support for such configurations is actually believed to be
438 reliable.
252b5132 439
a40cbfa3
NC
440* The program name (usually "as") is printed when a fatal error message is
441 displayed. This should prevent some confusion about the source of occasional
442 messages about "internal errors".
252b5132 443
a40cbfa3
NC
444* ELF support is falling into place. Support for the 386 should be working.
445 Support for SPARC Solaris is in. HPPA support from Utah is being integrated.
252b5132 446
a40cbfa3
NC
447* Symbol values are maintained as expressions instead of being immediately
448 boiled down to add-symbol, sub-symbol, and constant. This permits slightly
449 more complex calculations involving symbols whose values are not alreadey
450 known.
252b5132 451
a40cbfa3
NC
452* DBX-style debugging info ("stabs") is now supported for COFF formats.
453 If any stabs directives are seen in the source, GAS will create two new
454 sections: a ".stab" and a ".stabstr" section. The format of the .stab
455 section is nearly identical to the a.out symbol format, and .stabstr is
456 its string table. For this to be useful, you must have configured GCC
457 to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB
458 that can use the stab sections (4.11 or later).
252b5132 459
a40cbfa3
NC
460* LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS
461 support is in progress.
252b5132
RH
462
463Changes in 2.1:
464
a40cbfa3
NC
465* Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been
466 incorporated, but not well tested yet.
252b5132 467
a40cbfa3
NC
468* Altered the opcode table split for m68k; it should require less VM to compile
469 with gcc now.
252b5132 470
a40cbfa3
NC
471* Some minor adjustments to add (Convergent Technologies') Miniframe support,
472 suggested by Ronald Cole.
252b5132 473
a40cbfa3
NC
474* HPPA support (running OSF only, not HPUX) has been contributed by Utah. This
475 includes improved ELF support, which I've started adapting for SPARC Solaris
476 2.x. Integration isn't completely, so it probably won't work.
252b5132 477
a40cbfa3 478* HP9000/300 support, donated by HP, has been merged in.
252b5132 479
a40cbfa3 480* Ian Taylor has finished the MIPS ECOFF (Ultrix, Irix) support.
252b5132 481
a40cbfa3 482* Better error messages for unsupported configurations (e.g., hppa-hpux).
252b5132 483
a40cbfa3 484* Test suite framework is starting to become reasonable.
252b5132
RH
485
486Changes in 2.0:
487
a40cbfa3 488* Mostly bug fixes.
252b5132 489
a40cbfa3 490* Some more merging of BFD and ELF code, but ELF still doesn't work.
252b5132
RH
491
492Changes in 1.94:
493
a40cbfa3
NC
494* BFD merge is partly done. Adventurous souls may try giving configure the
495 "--with-bfd-assembler" option. Currently, ELF format requires it, a.out
496 format accepts it; SPARC CPU accepts it. It's the default only for OS "elf"
497 or "solaris". (ELF isn't really supported yet. It needs work. I've got
498 some code from Utah for HP-PA ELF, and from DG for m88k ELF, but they're not
499 fully merged yet.)
252b5132 500
a40cbfa3
NC
501* The 68K opcode table has been split in half. It should now compile under gcc
502 without consuming ridiculous amounts of memory.
252b5132 503
a40cbfa3
NC
504* A couple data structures have been reduced in size. This should result in
505 saving a little bit of space at runtime.
252b5132 506
a40cbfa3
NC
507* Support for MIPS, from OSF and Ralph Campbell, has been merged in. The OSF
508 code provided ROSE format support, which I haven't merged in yet. (I can
509 make it available, if anyone wants to try it out.) Ralph's code, for BSD
510 4.4, supports a.out format. We don't have ECOFF support in just yet; it's
511 coming.
252b5132 512
a40cbfa3 513* Support for the Hitachi H8/500 has been added.
252b5132 514
a40cbfa3
NC
515* VMS host and target support should be working now, thanks chiefly to Eric
516 Youngdale.
252b5132
RH
517
518Changes in 1.93.01:
519
a40cbfa3 520* For m68k, support for more processors has been added: 68040, CPU32, 68851.
252b5132 521
a40cbfa3 522* For i386, .align is now power-of-two; was number-of-bytes.
252b5132 523
a40cbfa3
NC
524* For m68k, "%" is now accepted before register names. For COFF format, which
525 doesn't use underscore prefixes for C labels, it is required, so variable "a0"
526 can be distinguished from the register.
252b5132 527
a40cbfa3
NC
528* Last public release was 1.38. Lots of configuration changes since then, lots
529 of new CPUs and formats, lots of bugs fixed.
252b5132
RH
530
531\f
532Local variables:
533fill-column: 79
534End:
This page took 0.374574 seconds and 4 git commands to generate.