| 1 | -*- text -*- | 
|---|
| 2 |  | 
|---|
| 3 | Changes in 2.11: | 
|---|
| 4 |  | 
|---|
| 5 | x86 gas now supports the full Pentium4 instruction set. | 
|---|
| 6 |  | 
|---|
| 7 | Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs. | 
|---|
| 8 |  | 
|---|
| 9 | Support for Motorola 68HC11 and 68HC12. | 
|---|
| 10 |  | 
|---|
| 11 | Support for Texas Instruments TMS320C54x (tic54x). | 
|---|
| 12 |  | 
|---|
| 13 | Support for IA-64. | 
|---|
| 14 |  | 
|---|
| 15 | Support for i860, by Jason Eckhardt. | 
|---|
| 16 |  | 
|---|
| 17 | Support for CRIS (Axis Communications ETRAX series). | 
|---|
| 18 |  | 
|---|
| 19 | x86 gas has a new .arch pseudo op to specify the target CPU architecture. | 
|---|
| 20 |  | 
|---|
| 21 | x86 gas -q command line option quietens warnings about register size changes | 
|---|
| 22 | due to suffix, indirect jmp/call without `*', stand-alone prefixes, and | 
|---|
| 23 | translating various deprecated floating point instructions. | 
|---|
| 24 |  | 
|---|
| 25 | Changes in 2.10: | 
|---|
| 26 |  | 
|---|
| 27 | Support for the ARM msr instruction was changed to only allow an immediate | 
|---|
| 28 | operand when altering the flags field. | 
|---|
| 29 |  | 
|---|
| 30 | Support for ATMEL AVR. | 
|---|
| 31 |  | 
|---|
| 32 | Support for IBM 370 ELF.  Somewhat experimental. | 
|---|
| 33 |  | 
|---|
| 34 | Support for numbers with suffixes. | 
|---|
| 35 |  | 
|---|
| 36 | Added support for breaking to the end of repeat loops. | 
|---|
| 37 |  | 
|---|
| 38 | Added support for parallel instruction syntax (DOUBLEBAR_PARALLEL). | 
|---|
| 39 |  | 
|---|
| 40 | New .elseif pseudo-op added. | 
|---|
| 41 |  | 
|---|
| 42 | New --fatal-warnings option. | 
|---|
| 43 |  | 
|---|
| 44 | picoJava architecture support added. | 
|---|
| 45 |  | 
|---|
| 46 | Motorola MCore 210 processor support added. | 
|---|
| 47 |  | 
|---|
| 48 | A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386 | 
|---|
| 49 | assembly programs with intel syntax. | 
|---|
| 50 |  | 
|---|
| 51 | New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code. | 
|---|
| 52 |  | 
|---|
| 53 | Added -gdwarf2 option to generate DWARF 2 debugging information. | 
|---|
| 54 |  | 
|---|
| 55 | Full 16-bit mode support for i386. | 
|---|
| 56 |  | 
|---|
| 57 | Greatly improved instruction operand checking for i386.  This change will | 
|---|
| 58 | produce errors or warnings on incorrect assembly code that previous versions of | 
|---|
| 59 | gas accepted.  If you get unexpected messages from code that worked with older | 
|---|
| 60 | versions of gas, please double check the code before reporting a bug. | 
|---|
| 61 |  | 
|---|
| 62 | Weak symbol support added for COFF targets. | 
|---|
| 63 |  | 
|---|
| 64 | Mitsubishi D30V support added. | 
|---|
| 65 |  | 
|---|
| 66 | Texas Instruments c80 (tms320c80) support added. | 
|---|
| 67 |  | 
|---|
| 68 | i960 ELF support added. | 
|---|
| 69 |  | 
|---|
| 70 | ARM ELF support added. | 
|---|
| 71 |  | 
|---|
| 72 | Changes in 2.9: | 
|---|
| 73 |  | 
|---|
| 74 | Texas Instruments c30 (tms320c30) support added. | 
|---|
| 75 |  | 
|---|
| 76 | The assembler now optimizes the exception frame information generated by egcs | 
|---|
| 77 | and gcc 2.8.  The new --traditional-format option disables this optimization. | 
|---|
| 78 |  | 
|---|
| 79 | Added --gstabs option to generate stabs debugging information. | 
|---|
| 80 |  | 
|---|
| 81 | The -a option takes a new suboption, m (e.g., -alm) to expand macros in a | 
|---|
| 82 | listing. | 
|---|
| 83 |  | 
|---|
| 84 | Added -MD option to print dependencies. | 
|---|
| 85 |  | 
|---|
| 86 | Changes in 2.8: | 
|---|
| 87 |  | 
|---|
| 88 | BeOS support added. | 
|---|
| 89 |  | 
|---|
| 90 | MIPS16 support added. | 
|---|
| 91 |  | 
|---|
| 92 | Motorola ColdFire 5200 support added (configure for m68k and use -m5200). | 
|---|
| 93 |  | 
|---|
| 94 | Alpha/VMS support added. | 
|---|
| 95 |  | 
|---|
| 96 | m68k options --base-size-default-16, --base-size-default-32, | 
|---|
| 97 | --disp-size-default-16, and --disp-size-default-32 added. | 
|---|
| 98 |  | 
|---|
| 99 | The alignment directives now take an optional third argument, which is the | 
|---|
| 100 | maximum number of bytes to skip.  If doing the alignment would require skipping | 
|---|
| 101 | more than the given number of bytes, the alignment is not done at all. | 
|---|
| 102 |  | 
|---|
| 103 | The ELF assembler has a new pseudo-op, .symver, used for symbol versioning. | 
|---|
| 104 |  | 
|---|
| 105 | The -a option takes a new suboption, c (e.g., -alc), to skip false conditionals | 
|---|
| 106 | in listings. | 
|---|
| 107 |  | 
|---|
| 108 | Added new pseudo-op, .equiv; it's like .equ, except that it is an error if the | 
|---|
| 109 | symbol is already defined. | 
|---|
| 110 |  | 
|---|
| 111 | Changes in 2.7: | 
|---|
| 112 |  | 
|---|
| 113 | The PowerPC assembler now allows the use of symbolic register names (r0, etc.) | 
|---|
| 114 | if -mregnames is used.  Symbolic names preceded by a '%' (%r0, etc.) can be | 
|---|
| 115 | used any time.  PowerPC 860 move to/from SPR instructions have been added. | 
|---|
| 116 |  | 
|---|
| 117 | Alpha Linux (ELF) support added. | 
|---|
| 118 |  | 
|---|
| 119 | PowerPC ELF support added. | 
|---|
| 120 |  | 
|---|
| 121 | m68k Linux (ELF) support added. | 
|---|
| 122 |  | 
|---|
| 123 | i960 Hx/Jx support added. | 
|---|
| 124 |  | 
|---|
| 125 | i386/PowerPC gnu-win32 support added. | 
|---|
| 126 |  | 
|---|
| 127 | SCO ELF support added.  For OpenServer 5 targets (i386-unknown-sco3.2v5) the | 
|---|
| 128 | default is to build COFF-only support.  To get a set of tools that generate ELF | 
|---|
| 129 | (they'll understand both COFF and ELF), you must configure with | 
|---|
| 130 | target=i386-unknown-sco3.2v5elf. | 
|---|
| 131 |  | 
|---|
| 132 | m88k-motorola-sysv3* support added. | 
|---|
| 133 |  | 
|---|
| 134 | Changes in 2.6: | 
|---|
| 135 |  | 
|---|
| 136 | Gas now directly supports macros, without requiring GASP. | 
|---|
| 137 |  | 
|---|
| 138 | Gas now has an MRI assembler compatibility mode.  Use -M or --mri to select MRI | 
|---|
| 139 | mode.  The pseudo-op ``.mri 1'' will switch into the MRI mode until the ``.mri | 
|---|
| 140 | 0'' is seen; this can be convenient for inline assembler code. | 
|---|
| 141 |  | 
|---|
| 142 | Added --defsym SYM=VALUE option. | 
|---|
| 143 |  | 
|---|
| 144 | Added -mips4 support to MIPS assembler. | 
|---|
| 145 |  | 
|---|
| 146 | Added PIC support to Solaris and SPARC SunOS 4 assembler. | 
|---|
| 147 |  | 
|---|
| 148 | Changes in 2.4: | 
|---|
| 149 |  | 
|---|
| 150 | Converted this directory to use an autoconf-generated configure script. | 
|---|
| 151 |  | 
|---|
| 152 | ARM support, from Richard Earnshaw. | 
|---|
| 153 |  | 
|---|
| 154 | Updated VMS support, from Pat Rankin, including considerably improved debugging | 
|---|
| 155 | support. | 
|---|
| 156 |  | 
|---|
| 157 | Support for the control registers in the 68060. | 
|---|
| 158 |  | 
|---|
| 159 | Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to | 
|---|
| 160 | provide for possible future gcc changes, for targets where gas provides some | 
|---|
| 161 | features not available in the native assembler.  If the native assembler is | 
|---|
| 162 | used, it should become obvious pretty quickly what the problem is. | 
|---|
| 163 |  | 
|---|
| 164 | Usage message is available with "--help". | 
|---|
| 165 |  | 
|---|
| 166 | The GNU Assembler Preprocessor (gasp) is included.  (Actually, it was in 2.3 | 
|---|
| 167 | also, but didn't get into the NEWS file.) | 
|---|
| 168 |  | 
|---|
| 169 | Weak symbol support for a.out. | 
|---|
| 170 |  | 
|---|
| 171 | A bug in the listing code which could cause an infinite loop has been fixed. | 
|---|
| 172 | Bugs in listings when generating a COFF object file have also been fixed. | 
|---|
| 173 |  | 
|---|
| 174 | Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by Paul | 
|---|
| 175 | Kranenburg. | 
|---|
| 176 |  | 
|---|
| 177 | Improved Alpha support.  Immediate constants can have a much larger range now. | 
|---|
| 178 | Support for the 21164 has been contributed by Digital. | 
|---|
| 179 |  | 
|---|
| 180 | Updated ns32k (pc532-mach, netbsd532) support from Ian Dall. | 
|---|
| 181 |  | 
|---|
| 182 | Changes in 2.3: | 
|---|
| 183 |  | 
|---|
| 184 | Mach i386 support, by David Mackenzie and Ken Raeburn. | 
|---|
| 185 |  | 
|---|
| 186 | RS/6000 and PowerPC support by Ian Taylor. | 
|---|
| 187 |  | 
|---|
| 188 | VMS command scripts (make-gas.com, config-gas.com) have been worked on a bit, | 
|---|
| 189 | based on mail received from various people.  The `-h#' option should work again | 
|---|
| 190 | too. | 
|---|
| 191 |  | 
|---|
| 192 | HP-PA work, by Jeff Law.  Note, for the PA, gas-2.3 has been designed to work | 
|---|
| 193 | with gdb-4.12 and gcc-2.6.  As gcc-2.6 has not been released yet, a special | 
|---|
| 194 | version of gcc-2.5.8 has been patched to work with gas-2.3.  You can retrieve | 
|---|
| 195 | this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu | 
|---|
| 196 | in the "dist" directory. | 
|---|
| 197 |  | 
|---|
| 198 | Vax support in gas fixed for BSD, so it builds and seems to run a couple simple | 
|---|
| 199 | tests okay.  I haven't put it through extensive testing.  (GNU make is | 
|---|
| 200 | currently required for BSD 4.3 builds.) | 
|---|
| 201 |  | 
|---|
| 202 | Support for the DEC Alpha, running OSF/1 (ECOFF format).  The gas support is | 
|---|
| 203 | based on code donated by CMU, which used an a.out-based format.  I'm afraid the | 
|---|
| 204 | alpha-a.out support is pretty badly mangled, and much of it removed; making it | 
|---|
| 205 | work will require rewriting it as BFD support for the format anyways. | 
|---|
| 206 |  | 
|---|
| 207 | Irix 5 support. | 
|---|
| 208 |  | 
|---|
| 209 | The test suites have been fixed up a bit, so that they should work with a | 
|---|
| 210 | couple different versions of expect and dejagnu. | 
|---|
| 211 |  | 
|---|
| 212 | Symbols' values are now handled internally as expressions, permitting more | 
|---|
| 213 | flexibility in evaluating them in some cases.  Some details of relocation | 
|---|
| 214 | handling have also changed, and simple constant pool management has been added, | 
|---|
| 215 | to make the Alpha port easier. | 
|---|
| 216 |  | 
|---|
| 217 | New option "--statistics" for printing out program run times.  This is intended | 
|---|
| 218 | to be used with the gcc "-Q" option, which prints out times spent in various | 
|---|
| 219 | phases of compilation.  (You should be able to get all of them printed out with | 
|---|
| 220 | "gcc -Q -Wa,--statistics", I think.) | 
|---|
| 221 |  | 
|---|
| 222 | ---------------------------------------------------------------- | 
|---|
| 223 |  | 
|---|
| 224 | Changes in 2.2: | 
|---|
| 225 |  | 
|---|
| 226 | RS/6000 AIX and MIPS SGI Irix 5 support has been added. | 
|---|
| 227 |  | 
|---|
| 228 | Configurations that are still in development (and therefore are convenient to | 
|---|
| 229 | have listed in configure.in) still get rejected without a minor change to | 
|---|
| 230 | gas/Makefile.in, so people not doing development work shouldn't get the | 
|---|
| 231 | impression that support for such configurations is actually believed to be | 
|---|
| 232 | reliable. | 
|---|
| 233 |  | 
|---|
| 234 | The program name (usually "as") is printed when a fatal error message is | 
|---|
| 235 | displayed.  This should prevent some confusion about the source of occasional | 
|---|
| 236 | messages about "internal errors". | 
|---|
| 237 |  | 
|---|
| 238 | ELF support is falling into place.  Support for the 386 should be working. | 
|---|
| 239 | Support for SPARC Solaris is in.  HPPA support from Utah is being integrated. | 
|---|
| 240 |  | 
|---|
| 241 | Symbol values are maintained as expressions instead of being immediately boiled | 
|---|
| 242 | down to add-symbol, sub-symbol, and constant.  This permits slightly more | 
|---|
| 243 | complex calculations involving symbols whose values are not alreadey known. | 
|---|
| 244 |  | 
|---|
| 245 | DBX-style debugging info ("stabs") is now supported for COFF formats. | 
|---|
| 246 | If any stabs directives are seen in the source, GAS will create two new | 
|---|
| 247 | sections: a ".stab" and a ".stabstr" section.  The format of the .stab | 
|---|
| 248 | section is nearly identical to the a.out symbol format, and .stabstr is | 
|---|
| 249 | its string table.  For this to be useful, you must have configured GCC | 
|---|
| 250 | to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB | 
|---|
| 251 | that can use the stab sections (4.11 or later). | 
|---|
| 252 |  | 
|---|
| 253 | LynxOS, on i386 and m68k platforms, is now supported.  SPARC LynxOS | 
|---|
| 254 | support is in progress. | 
|---|
| 255 |  | 
|---|
| 256 | ---------------------------------------------------------------- | 
|---|
| 257 |  | 
|---|
| 258 | Changes in 2.1: | 
|---|
| 259 |  | 
|---|
| 260 | Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been | 
|---|
| 261 | incorporated, but not well tested yet. | 
|---|
| 262 |  | 
|---|
| 263 | Altered the opcode table split for m68k; it should require less VM to compile | 
|---|
| 264 | with gcc now. | 
|---|
| 265 |  | 
|---|
| 266 | Some minor adjustments to add (Convergent Technologies') Miniframe support, | 
|---|
| 267 | suggested by Ronald Cole. | 
|---|
| 268 |  | 
|---|
| 269 | HPPA support (running OSF only, not HPUX) has been contributed by Utah.  This | 
|---|
| 270 | includes improved ELF support, which I've started adapting for SPARC Solaris | 
|---|
| 271 | 2.x.  Integration isn't completely, so it probably won't work. | 
|---|
| 272 |  | 
|---|
| 273 | HP9000/300 support, donated by HP, has been merged in. | 
|---|
| 274 |  | 
|---|
| 275 | Ian Taylor has finished the MIPS ECOFF (Ultrix, Irix) support. | 
|---|
| 276 |  | 
|---|
| 277 | Better error messages for unsupported configurations (e.g., hppa-hpux). | 
|---|
| 278 |  | 
|---|
| 279 | Test suite framework is starting to become reasonable. | 
|---|
| 280 |  | 
|---|
| 281 | ---------------------------------------------------------------- | 
|---|
| 282 |  | 
|---|
| 283 | Changes in 2.0: | 
|---|
| 284 |  | 
|---|
| 285 | Mostly bug fixes. | 
|---|
| 286 |  | 
|---|
| 287 | Some more merging of BFD and ELF code, but ELF still doesn't work. | 
|---|
| 288 |  | 
|---|
| 289 | ---------------------------------------------------------------- | 
|---|
| 290 |  | 
|---|
| 291 | Changes in 1.94: | 
|---|
| 292 |  | 
|---|
| 293 | BFD merge is partly done.  Adventurous souls may try giving configure the | 
|---|
| 294 | "--with-bfd-assembler" option.  Currently, ELF format requires it, a.out format | 
|---|
| 295 | accepts it; SPARC CPU accepts it.  It's the default only for OS "elf" or | 
|---|
| 296 | "solaris".  (ELF isn't really supported yet.  It needs work.  I've got some | 
|---|
| 297 | code from Utah for HP-PA ELF, and from DG for m88k ELF, but they're not fully | 
|---|
| 298 | merged yet.) | 
|---|
| 299 |  | 
|---|
| 300 | The 68K opcode table has been split in half.  It should now compile under gcc | 
|---|
| 301 | without consuming ridiculous amounts of memory. | 
|---|
| 302 |  | 
|---|
| 303 | A couple data structures have been reduced in size.  This should result in | 
|---|
| 304 | saving a little bit of space at runtime. | 
|---|
| 305 |  | 
|---|
| 306 | Support for MIPS, from OSF and Ralph Campbell, has been merged in.  The OSF | 
|---|
| 307 | code provided ROSE format support, which I haven't merged in yet.  (I can make | 
|---|
| 308 | it available, if anyone wants to try it out.)  Ralph's code, for BSD 4.4, | 
|---|
| 309 | supports a.out format.  We don't have ECOFF support in just yet; it's coming. | 
|---|
| 310 |  | 
|---|
| 311 | Support for the Hitachi H8/500 has been added. | 
|---|
| 312 |  | 
|---|
| 313 | VMS host and target support should be working now, thanks chiefly to Eric | 
|---|
| 314 | Youngdale. | 
|---|
| 315 |  | 
|---|
| 316 | ---------------------------------------------------------------- | 
|---|
| 317 |  | 
|---|
| 318 | Changes in 1.93.01: | 
|---|
| 319 |  | 
|---|
| 320 | For m68k, support for more processors has been added: 68040, CPU32, 68851. | 
|---|
| 321 |  | 
|---|
| 322 | For i386, .align is now power-of-two; was number-of-bytes. | 
|---|
| 323 |  | 
|---|
| 324 | For m68k, "%" is now accepted before register names.  For COFF format, which | 
|---|
| 325 | doesn't use underscore prefixes for C labels, it is required, so variable "a0" | 
|---|
| 326 | can be distinguished from the register. | 
|---|
| 327 |  | 
|---|
| 328 | Last public release was 1.38.  Lots of configuration changes since then, lots | 
|---|
| 329 | of new CPUs and formats, lots of bugs fixed. | 
|---|
| 330 |  | 
|---|
| 331 |  | 
|---|
| 332 |  | 
|---|
| 333 | Local variables: | 
|---|
| 334 | fill-column: 79 | 
|---|
| 335 | End: | 
|---|