1-*- text -*- 2 3Changes in 2.26: 4 5* Add a configure option --enable-compressed-debug-sections={all,gas} to 6 decide whether DWARF debug sections should be compressed by default. 7 8* Add support for the ARC EM/HS, and ARC600/700 architectures. Remove 9 assembler support for Argonaut RISC architectures. 10 11Changes in 2.26: 12 13* Symbol and label names can now be enclosed in double quotes (") which allows 14 them to contain characters that are not part of valid symbol names in high 15 level languages. 16 17* Added the correctly spelled -march=armv6kz, for ARMv6KZ support. The 18 previous spelling, -march=armv6zk, is still accepted. 19 20* Support for the ARMv8.1 architecture has been added to the Aarch64 port. 21 Support for the individual ARMv8.1 Adv.SIMD, LOR and PAN architecture 22 extensions has also been added to the Aarch64 port. 23 24* Support for the ARMv8.1 architecture has been added to the ARM port. Support 25 for the individual ARMv8.1 Adv.SIMD and PAN architecture extensions has also 26 been added to the ARM port. 27 28* Extend --compress-debug-sections option to support 29 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF 30 targets. 31 32* --compress-debug-sections is turned on for Linux/x86 by default. 33 34Changes in 2.25: 35 36* Add support for the AVR Tiny microcontrollers. 37 38* Replace support for openrisc and or32 with support for or1k. 39 40* Enhanced the ARM port to accept the assembler output from the CodeComposer 41 Studio tool. Support is enabled via the new command line option -mccs. 42 43* Add support for the Andes NDS32. 44 45Changes in 2.24: 46 47* Add support for the Texas Instruments MSP430X processor. 48 49* Add -gdwarf-sections command line option to enable per-code-section 50 generation of DWARF .debug_line sections. 51 52* Add support for Altera Nios II. 53 54* Add support for the Imagination Technologies Meta processor. 55 56* Add support for the v850e3v5. 57 58* Remove assembler support for MIPS ECOFF targets. 59 60Changes in 2.23: 61 62* Add support for the 64-bit ARM architecture: AArch64. 63 64* Add support for S12X processor. 65 66* Add support for the VLE extension to the PowerPC architecture. 67 68* Add support for the Freescale XGATE architecture. 69 70* Add support for .bundle_align_mode, .bundle_lock, and .bundle_unlock 71 directives. These are currently available only for x86 and ARM targets. 72 73* Add support for the Renesas RL78 architecture. 74 75* Add support for the Adapteva EPIPHANY architecture. 76 77* For x86, allow 'rep bsf', 'rep bsr', and 'rep ret' syntax. 78 79Changes in 2.22: 80 81* Add support for the Tilera TILEPro and TILE-Gx architectures. 82 83Changes in 2.21: 84 85* Gas no longer requires doubling of ampersands in macros. 86 87* Add support for the TMS320C6000 (TI C6X) processor family. 88 89* GAS now understands an extended syntax in the .section directive flags 90 for COFF targets that allows the section's alignment to be specified. This 91 feature has also been backported to the 2.20 release series, starting with 92 2.20.1. 93 94* Add support for the Renesas RX processor. 95 96* New command line option, --compress-debug-sections, which requests 97 compression of DWARF debug information sections in the relocatable output 98 file. Compressed debug sections are supported by readelf, objdump, and 99 gold, but not currently by Gnu ld. 100 101Changes in 2.20: 102 103* Added support for v850e2 and v850e2v3. 104 105* GNU/Linux targets now supports "gnu_unique_object" as a value in the .type 106 pseudo op. It marks the symbol as being globally unique in the entire 107 process. 108 109* ARM assembler now supports .inst[.nw] pseudo-ops to insert opcodes specified 110 in binary rather than text. 111 112* Add support for common symbol alignment to PE formats. 113 114* Add support for the new discriminator column in the DWARF line table, 115 with a discriminator operand for the .loc directive. 116 117* Add support for Sunplus score architecture. 118 119* The .type pseudo-op now accepts a type of STT_GNU_IFUNC which can be used to 120 indicate that if the symbol is the target of a relocation, its value should 121 not be use. Instead the function should be invoked and its result used as 122 the value. 123 124* Add support for Lattice Mico32 (lm32) architecture. 125 126* Add support for Xilinx MicroBlaze architecture. 127 128Changes in 2.19: 129 130* New pseudo op .cfi_val_encoded_addr, to record constant addresses in unwind 131 tables without runtime relocation. 132 133* New command line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which 134 adds compatibility with H'00 style hex constants. 135 136* New command line option, -msse-check=[none|error|warning], for x86 137 targets. 138 139* New sub-option added to the assembler's -a command line switch to 140 generate a listing output. The 'g' sub-option will insert into the listing 141 various information about the assembly, such as assembler version, the 142 command line options used, and a time stamp. 143 144* New command line option -msse2avx for x86 target to encode SSE 145 instructions with VEX prefix. 146 147* Add Intel XSAVE, EPT, MOVBE, AES, PCLMUL, AVX/FMA support for x86 target. 148 149* New command line options, -march=CPU[,+EXTENSION...], -mtune=CPU, 150 -mmnemonic=[att|intel], -msyntax=[att|intel], -mindex-reg, 151 -mnaked-reg and -mold-gcc, for x86 targets. 152 153* Support for generating wide character strings has been added via the new 154 pseudo ops: .string16, .string32 and .string64. 155 156* Support for SSE5 has been added to the i386 port. 157 158Changes in 2.18: 159 160* The GAS sources are now released under the GPLv3. 161 162* Support for the National Semiconductor CR16 target has been added. 163 164* Added gas .reloc pseudo. This is a low-level interface for creating 165 relocations. 166 167* Add support for x86_64 PE+ target. 168 169* Add support for Score target. 170 171Changes in 2.17: 172 173* Support for the Infineon XC16X has been added by KPIT Cummins Infosystems. 174 175* Support for ms2 architecture has been added. 176 177* Support for the Z80 processor family has been added. 178 179* Add support for the "@<file>" syntax to the command line, so that extra 180 switches can be read from <file>. 181 182* The SH target supports a new command line switch --enable-reg-prefix which, 183 if enabled, will allow register names to be optionally prefixed with a $ 184 character. This allows register names to be distinguished from label names. 185 186* Macros with a variable number of arguments are now supported. See the 187 documentation for how this works. 188 189* Added --reduce-memory-overheads switch to reduce the size of the hash 190 tables used, at the expense of longer assembly times, and 191 --hash-size=<NUMBER> to set the size of the hash tables used by gas. 192 193* Macro names and macro parameter names can now be any identifier that would 194 also be legal as a symbol elsewhere. For macro parameter names, this is 195 known to cause problems in certain sources when the respective target uses 196 characters inconsistently, and thus macro parameter references may no longer 197 be recognized as such (see the documentation for details). 198 199* Support the .f_floating, .d_floating, .g_floating and .h_floating directives 200 for the VAX target in order to be more compatible with the VAX MACRO 201 assembler. 202 203* New command line option -mtune=[itanium1|itanium2] for IA64 targets. 204 205Changes in 2.16: 206 207* Redefinition of macros now results in an error. 208 209* New command line option -mhint.b=[ok|warning|error] for IA64 targets. 210 211* New command line option -munwind-check=[warning|error] for IA64 212 targets. 213 214* The IA64 port now uses automatic dependency violation removal as its default 215 mode. 216 217* Port to MAXQ processor contributed by HCL Tech. 218 219* Added support for generating unwind tables for ARM ELF targets. 220 221* Add a -g command line option to generate debug information in the target's 222 preferred debug format. 223 224* Support for the crx-elf target added. 225 226* Support for the sh-symbianelf target added. 227 228* Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations 229 on pe[i]-i386; required for this target's DWARF 2 support. 230 231* Support for Motorola MCF521x/5249/547x/548x added. 232 233* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC 234 instrucitons. 235 236* New command line option -mno-shared for MIPS ELF targets. 237 238* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro 239 added to enter (and leave) alternate macro syntax mode. 240 241Changes in 2.15: 242 243* The MIPS -membedded-pic option (Embedded-PIC code generation) is 244 deprecated and will be removed in a future release. 245 246* Added PIC m32r Linux (ELF) and support to M32R assembler. 247 248* Added support for ARM V6. 249 250* Added support for sh4a and variants. 251 252* Support for Renesas M32R2 added. 253 254* Limited support for Mapping Symbols as specified in the ARM ELF 255 specification has been added to the arm assembler. 256 257* On ARM architectures, added a new gas directive ".unreq" that undoes 258 definitions created by ".req". 259 260* Support for Motorola ColdFire MCF528x added. 261 262* Added --gstabs+ switch to enable the generation of STABS debug format 263 information with GNU extensions. 264 265* Added support for MIPS64 Release 2. 266 267* Added support for v850e1. 268 269* Added -n switch for x86 assembler. By default, x86 GAS replaces 270 multiple nop instructions used for alignment within code sections 271 with multi-byte nop instructions such as leal 0(%esi,1),%esi. This 272 switch disables the optimization. 273 274* Removed -n option from MIPS assembler. It was not useful, and confused the 275 existing -non_shared option. 276 277Changes in 2.14: 278 279* Added support for MIPS32 Release 2. 280 281* Added support for Xtensa architecture. 282 283* Support for Intel's iWMMXt processor (an ARM variant) added. 284 285* An assembler test generator has been contributed and an example file that 286 uses it (gas/testsuite/gas/all/test-gen.c and test-exmaple.c). 287 288* Support for SH2E added. 289 290* GASP has now been removed. 291 292* Support for Texas Instruments TMS320C4x and TMS320C3x series of 293 DSP's contributed by Michael Hayes and Svein E. Seldal. 294 295* Support for the Ubicom IP2xxx microcontroller added. 296 297Changes in 2.13: 298 299* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400 300 and FR500 included. 301 302* Support for DLX processor added. 303 304* GASP has now been deprecated and will be removed in a future release. Use 305 the macro facilities in GAS instead. 306 307* GASP now correctly parses floating point numbers. Unless the base is 308 explicitly specified, they are interpreted as decimal numbers regardless of 309 the currently specified base. 310 311Changes in 2.12: 312 313* Support for Don Knuth's MMIX, by Hans-Peter Nilsson. 314 315* Support for the OpenRISC 32-bit embedded processor by OpenCores. 316 317* The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for 318 specifying the target instruction set. The old method of specifying the 319 target processor has been deprecated, but is still accepted for 320 compatibility. 321 322* Support for the VFP floating-point instruction set has been added to 323 the ARM assembler. 324 325* New psuedo op: .incbin to include a set of binary data at a given point 326 in the assembly. Contributed by Anders Norlander. 327 328* The MIPS assembler now accepts -march/-mtune. -mcpu has been deprecated 329 but still works for compatability. 330 331* The MIPS assembler no longer issues a warning by default when it 332 generates a nop instruction from a macro. The new command line option 333 -n will turn on the warning. 334 335Changes in 2.11: 336 337* Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff. 338 339* x86 gas now supports the full Pentium4 instruction set. 340 341* Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs. 342 343* Support for Motorola 68HC11 and 68HC12. 344 345* Support for Texas Instruments TMS320C54x (tic54x). 346 347* Support for IA-64. 348 349* Support for i860, by Jason Eckhardt. 350 351* Support for CRIS (Axis Communications ETRAX series). 352 353* x86 gas has a new .arch pseudo op to specify the target CPU architecture. 354 355* x86 gas -q command line option quietens warnings about register size changes 356 due to suffix, indirect jmp/call without `*', stand-alone prefixes, and 357 translating various deprecated floating point instructions. 358 359Changes in 2.10: 360 361* Support for the ARM msr instruction was changed to only allow an immediate 362 operand when altering the flags field. 363 364* Support for ATMEL AVR. 365 366* Support for IBM 370 ELF. Somewhat experimental. 367 368* Support for numbers with suffixes. 369 370* Added support for breaking to the end of repeat loops. 371 372* Added support for parallel instruction syntax (DOUBLEBAR_PARALLEL). 373 374* New .elseif pseudo-op added. 375 376* New --fatal-warnings option. 377 378* picoJava architecture support added. 379 380* Motorola MCore 210 processor support added. 381 382* A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386 383 assembly programs with intel syntax. 384 385* New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code. 386 387* Added -gdwarf2 option to generate DWARF 2 debugging information. 388 389* Full 16-bit mode support for i386. 390 391* Greatly improved instruction operand checking for i386. This change will 392 produce errors or warnings on incorrect assembly code that previous versions 393 of gas accepted. If you get unexpected messages from code that worked with 394 older versions of gas, please double check the code before reporting a bug. 395 396* Weak symbol support added for COFF targets. 397 398* Mitsubishi D30V support added. 399 400* Texas Instruments c80 (tms320c80) support added. 401 402* i960 ELF support added. 403 404* ARM ELF support added. 405 406Changes in 2.9: 407 408* Texas Instruments c30 (tms320c30) support added. 409 410* The assembler now optimizes the exception frame information generated by egcs 411 and gcc 2.8. The new --traditional-format option disables this optimization. 412 413* Added --gstabs option to generate stabs debugging information. 414 415* The -a option takes a new suboption, m (e.g., -alm) to expand macros in a 416 listing. 417 418* Added -MD option to print dependencies. 419 420Changes in 2.8: 421 422* BeOS support added. 423 424* MIPS16 support added. 425 426* Motorola ColdFire 5200 support added (configure for m68k and use -m5200). 427 428* Alpha/VMS support added. 429 430* m68k options --base-size-default-16, --base-size-default-32, 431 --disp-size-default-16, and --disp-size-default-32 added. 432 433* The alignment directives now take an optional third argument, which is the 434 maximum number of bytes to skip. If doing the alignment would require 435 skipping more than the given number of bytes, the alignment is not done at 436 all. 437 438* The ELF assembler has a new pseudo-op, .symver, used for symbol versioning. 439 440* The -a option takes a new suboption, c (e.g., -alc), to skip false 441 conditionals in listings. 442 443* Added new pseudo-op, .equiv; it's like .equ, except that it is an error if 444 the symbol is already defined. 445 446Changes in 2.7: 447 448* The PowerPC assembler now allows the use of symbolic register names (r0, 449 etc.) if -mregnames is used. Symbolic names preceded by a '%' (%r0, etc.) 450 can be used any time. PowerPC 860 move to/from SPR instructions have been 451 added. 452 453* Alpha Linux (ELF) support added. 454 455* PowerPC ELF support added. 456 457* m68k Linux (ELF) support added. 458 459* i960 Hx/Jx support added. 460 461* i386/PowerPC gnu-win32 support added. 462 463* SCO ELF support added. For OpenServer 5 targets (i386-unknown-sco3.2v5) the 464 default is to build COFF-only support. To get a set of tools that generate 465 ELF (they'll understand both COFF and ELF), you must configure with 466 target=i386-unknown-sco3.2v5elf. 467 468* m88k-motorola-sysv3* support added. 469 470Changes in 2.6: 471 472* Gas now directly supports macros, without requiring GASP. 473 474* Gas now has an MRI assembler compatibility mode. Use -M or --mri to select 475 MRI mode. The pseudo-op ``.mri 1'' will switch into the MRI mode until the 476 ``.mri 0'' is seen; this can be convenient for inline assembler code. 477 478* Added --defsym SYM=VALUE option. 479 480* Added -mips4 support to MIPS assembler. 481 482* Added PIC support to Solaris and SPARC SunOS 4 assembler. 483 484Changes in 2.4: 485 486* Converted this directory to use an autoconf-generated configure script. 487 488* ARM support, from Richard Earnshaw. 489 490* Updated VMS support, from Pat Rankin, including considerably improved 491 debugging support. 492 493* Support for the control registers in the 68060. 494 495* Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to 496 provide for possible future gcc changes, for targets where gas provides some 497 features not available in the native assembler. If the native assembler is 498 used, it should become obvious pretty quickly what the problem is. 499 500* Usage message is available with "--help". 501 502* The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3 503 also, but didn't get into the NEWS file.) 504 505* Weak symbol support for a.out. 506 507* A bug in the listing code which could cause an infinite loop has been fixed. 508 Bugs in listings when generating a COFF object file have also been fixed. 509 510* Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by 511 Paul Kranenburg. 512 513* Improved Alpha support. Immediate constants can have a much larger range 514 now. Support for the 21164 has been contributed by Digital. 515 516* Updated ns32k (pc532-mach, netbsd532) support from Ian Dall. 517 518Changes in 2.3: 519 520* Mach i386 support, by David Mackenzie and Ken Raeburn. 521 522* RS/6000 and PowerPC support by Ian Taylor. 523 524* VMS command scripts (make-gas.com, config-gas.com) have been worked on a bit, 525 based on mail received from various people. The `-h#' option should work 526 again too. 527 528* HP-PA work, by Jeff Law. Note, for the PA, gas-2.3 has been designed to work 529 with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special 530 version of gcc-2.5.8 has been patched to work with gas-2.3. You can retrieve 531 this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu 532 in the "dist" directory. 533 534* Vax support in gas fixed for BSD, so it builds and seems to run a couple 535 simple tests okay. I haven't put it through extensive testing. (GNU make is 536 currently required for BSD 4.3 builds.) 537 538* Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is 539 based on code donated by CMU, which used an a.out-based format. I'm afraid 540 the alpha-a.out support is pretty badly mangled, and much of it removed; 541 making it work will require rewriting it as BFD support for the format anyways. 542 543* Irix 5 support. 544 545* The test suites have been fixed up a bit, so that they should work with a 546 couple different versions of expect and dejagnu. 547 548* Symbols' values are now handled internally as expressions, permitting more 549 flexibility in evaluating them in some cases. Some details of relocation 550 handling have also changed, and simple constant pool management has been 551 added, to make the Alpha port easier. 552 553* New option "--statistics" for printing out program run times. This is 554 intended to be used with the gcc "-Q" option, which prints out times spent in 555 various phases of compilation. (You should be able to get all of them 556 printed out with "gcc -Q -Wa,--statistics", I think.) 557 558Changes in 2.2: 559 560* RS/6000 AIX and MIPS SGI Irix 5 support has been added. 561 562* Configurations that are still in development (and therefore are convenient to 563 have listed in configure.in) still get rejected without a minor change to 564 gas/Makefile.in, so people not doing development work shouldn't get the 565 impression that support for such configurations is actually believed to be 566 reliable. 567 568* The program name (usually "as") is printed when a fatal error message is 569 displayed. This should prevent some confusion about the source of occasional 570 messages about "internal errors". 571 572* ELF support is falling into place. Support for the 386 should be working. 573 Support for SPARC Solaris is in. HPPA support from Utah is being integrated. 574 575* Symbol values are maintained as expressions instead of being immediately 576 boiled down to add-symbol, sub-symbol, and constant. This permits slightly 577 more complex calculations involving symbols whose values are not alreadey 578 known. 579 580* DBX-style debugging info ("stabs") is now supported for COFF formats. 581 If any stabs directives are seen in the source, GAS will create two new 582 sections: a ".stab" and a ".stabstr" section. The format of the .stab 583 section is nearly identical to the a.out symbol format, and .stabstr is 584 its string table. For this to be useful, you must have configured GCC 585 to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB 586 that can use the stab sections (4.11 or later). 587 588* LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS 589 support is in progress. 590 591Changes in 2.1: 592 593* Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been 594 incorporated, but not well tested yet. 595 596* Altered the opcode table split for m68k; it should require less VM to compile 597 with gcc now. 598 599* Some minor adjustments to add (Convergent Technologies') Miniframe support, 600 suggested by Ronald Cole. 601 602* HPPA support (running OSF only, not HPUX) has been contributed by Utah. This 603 includes improved ELF support, which I've started adapting for SPARC Solaris 604 2.x. Integration isn't completely, so it probably won't work. 605 606* HP9000/300 support, donated by HP, has been merged in. 607 608* Ian Taylor has finished the MIPS ECOFF (Ultrix, Irix) support. 609 610* Better error messages for unsupported configurations (e.g., hppa-hpux). 611 612* Test suite framework is starting to become reasonable. 613 614Changes in 2.0: 615 616* Mostly bug fixes. 617 618* Some more merging of BFD and ELF code, but ELF still doesn't work. 619 620Changes in 1.94: 621 622* BFD merge is partly done. Adventurous souls may try giving configure the 623 "--with-bfd-assembler" option. Currently, ELF format requires it, a.out 624 format accepts it; SPARC CPU accepts it. It's the default only for OS "elf" 625 or "solaris". (ELF isn't really supported yet. It needs work. I've got 626 some code from Utah for HP-PA ELF, and from DG for m88k ELF, but they're not 627 fully merged yet.) 628 629* The 68K opcode table has been split in half. It should now compile under gcc 630 without consuming ridiculous amounts of memory. 631 632* A couple data structures have been reduced in size. This should result in 633 saving a little bit of space at runtime. 634 635* Support for MIPS, from OSF and Ralph Campbell, has been merged in. The OSF 636 code provided ROSE format support, which I haven't merged in yet. (I can 637 make it available, if anyone wants to try it out.) Ralph's code, for BSD 638 4.4, supports a.out format. We don't have ECOFF support in just yet; it's 639 coming. 640 641* Support for the Hitachi H8/500 has been added. 642 643* VMS host and target support should be working now, thanks chiefly to Eric 644 Youngdale. 645 646Changes in 1.93.01: 647 648* For m68k, support for more processors has been added: 68040, CPU32, 68851. 649 650* For i386, .align is now power-of-two; was number-of-bytes. 651 652* For m68k, "%" is now accepted before register names. For COFF format, which 653 doesn't use underscore prefixes for C labels, it is required, so variable "a0" 654 can be distinguished from the register. 655 656* Last public release was 1.38. Lots of configuration changes since then, lots 657 of new CPUs and formats, lots of bugs fixed. 658 659 660Copyright (C) 2012-2015 Free Software Foundation, Inc. 661 662Copying and distribution of this file, with or without modification, 663are permitted in any medium without royalty provided the copyright 664notice and this notice are preserved. 665 666Local variables: 667fill-column: 79 668End: 669