| 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:
 | 
|---|