03b1477f5d
* config/tc-arm.c (ARM_CEXT_XSCALE): Replaces ARM_EXT_XSCALE. All uses changed. (ARM_CEXT_MAVERICK): Similarly. (ARM_ANY): Now means any core instruction. (CPU_DEFAULT): Default to ARM_ANY. (uses_apcs_26, atcps, support_interwork, uses_apcs_float) (pic_code): Declare for all object types. Make type int. (legacy_cpu, legacy_fpu, mcpu_cpu_opt, mcpu_fpu_opt, march_cpu_opt) (march_fpu_opt, mfpu_opt): Declare. (md_longopts): Tidy up conditional definitions. (arm_opts, arm_cpus, arm_archs, arm_fpus, arm_extensions) (arm_long_opts): New tables. (arm_parse_cpu, arm_parse_arch, arm_parse_fpu): New functions. (arm_parse_extension): New function. (md_parse_option): Rewrite using new table-driven system. (md_show_usage): Use new table-driven system. (md_begin): Calculate cpu_variant from command line option data. * doc/as.texinfo (ARM ISA options): Docuement new ARM-specific command-line options. * doc/c-arm.texi: Likewise. Testsuite: * gas/arm/vfp1.d: Use new command-line options. * gas/arm/vfp1xD.d: Likewise. * gas/arm/arm.exp (vfp-bad): Likewise. * gas/arm/maverick.d: Likewise.
352 lines
12 KiB
Plaintext
352 lines
12 KiB
Plaintext
-*- text -*-
|
||
The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for
|
||
specifying the target instruction set. The old method of specifying the
|
||
target processor has been deprecated, but is still accepted for
|
||
compatibility.
|
||
|
||
Support for the VFP floating-point instruction set has been added to
|
||
the ARM assembler.
|
||
|
||
New psuedo op: .incbin to include a set of binary data at a given point
|
||
in the assembly. Contributed by Anders Norlander.
|
||
|
||
The MIPS assembler now accepts -march/-mtune. -mcpu has been deprecated
|
||
but still works for compatability.
|
||
|
||
The MIPS assembler no longer issues a warning by default when it
|
||
generates a nop instruction from a macro. The new command line option
|
||
-n will turn on the warning.
|
||
|
||
Changes in 2.11:
|
||
|
||
x86 gas now supports the full Pentium4 instruction set.
|
||
|
||
Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs.
|
||
|
||
Support for Motorola 68HC11 and 68HC12.
|
||
|
||
Support for Texas Instruments TMS320C54x (tic54x).
|
||
|
||
Support for IA-64.
|
||
|
||
Support for i860, by Jason Eckhardt.
|
||
|
||
Support for CRIS (Axis Communications ETRAX series).
|
||
|
||
x86 gas has a new .arch pseudo op to specify the target CPU architecture.
|
||
|
||
x86 gas -q command line option quietens warnings about register size changes
|
||
due to suffix, indirect jmp/call without `*', stand-alone prefixes, and
|
||
translating various deprecated floating point instructions.
|
||
|
||
Changes in 2.10:
|
||
|
||
Support for the ARM msr instruction was changed to only allow an immediate
|
||
operand when altering the flags field.
|
||
|
||
Support for ATMEL AVR.
|
||
|
||
Support for IBM 370 ELF. Somewhat experimental.
|
||
|
||
Support for numbers with suffixes.
|
||
|
||
Added support for breaking to the end of repeat loops.
|
||
|
||
Added support for parallel instruction syntax (DOUBLEBAR_PARALLEL).
|
||
|
||
New .elseif pseudo-op added.
|
||
|
||
New --fatal-warnings option.
|
||
|
||
picoJava architecture support added.
|
||
|
||
Motorola MCore 210 processor support added.
|
||
|
||
A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386
|
||
assembly programs with intel syntax.
|
||
|
||
New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code.
|
||
|
||
Added -gdwarf2 option to generate DWARF 2 debugging information.
|
||
|
||
Full 16-bit mode support for i386.
|
||
|
||
Greatly improved instruction operand checking for i386. This change will
|
||
produce errors or warnings on incorrect assembly code that previous versions of
|
||
gas accepted. If you get unexpected messages from code that worked with older
|
||
versions of gas, please double check the code before reporting a bug.
|
||
|
||
Weak symbol support added for COFF targets.
|
||
|
||
Mitsubishi D30V support added.
|
||
|
||
Texas Instruments c80 (tms320c80) support added.
|
||
|
||
i960 ELF support added.
|
||
|
||
ARM ELF support added.
|
||
|
||
Changes in 2.9:
|
||
|
||
Texas Instruments c30 (tms320c30) support added.
|
||
|
||
The assembler now optimizes the exception frame information generated by egcs
|
||
and gcc 2.8. The new --traditional-format option disables this optimization.
|
||
|
||
Added --gstabs option to generate stabs debugging information.
|
||
|
||
The -a option takes a new suboption, m (e.g., -alm) to expand macros in a
|
||
listing.
|
||
|
||
Added -MD option to print dependencies.
|
||
|
||
Changes in 2.8:
|
||
|
||
BeOS support added.
|
||
|
||
MIPS16 support added.
|
||
|
||
Motorola ColdFire 5200 support added (configure for m68k and use -m5200).
|
||
|
||
Alpha/VMS support added.
|
||
|
||
m68k options --base-size-default-16, --base-size-default-32,
|
||
--disp-size-default-16, and --disp-size-default-32 added.
|
||
|
||
The alignment directives now take an optional third argument, which is the
|
||
maximum number of bytes to skip. If doing the alignment would require skipping
|
||
more than the given number of bytes, the alignment is not done at all.
|
||
|
||
The ELF assembler has a new pseudo-op, .symver, used for symbol versioning.
|
||
|
||
The -a option takes a new suboption, c (e.g., -alc), to skip false conditionals
|
||
in listings.
|
||
|
||
Added new pseudo-op, .equiv; it's like .equ, except that it is an error if the
|
||
symbol is already defined.
|
||
|
||
Changes in 2.7:
|
||
|
||
The PowerPC assembler now allows the use of symbolic register names (r0, etc.)
|
||
if -mregnames is used. Symbolic names preceded by a '%' (%r0, etc.) can be
|
||
used any time. PowerPC 860 move to/from SPR instructions have been added.
|
||
|
||
Alpha Linux (ELF) support added.
|
||
|
||
PowerPC ELF support added.
|
||
|
||
m68k Linux (ELF) support added.
|
||
|
||
i960 Hx/Jx support added.
|
||
|
||
i386/PowerPC gnu-win32 support added.
|
||
|
||
SCO ELF support added. For OpenServer 5 targets (i386-unknown-sco3.2v5) the
|
||
default is to build COFF-only support. To get a set of tools that generate ELF
|
||
(they'll understand both COFF and ELF), you must configure with
|
||
target=i386-unknown-sco3.2v5elf.
|
||
|
||
m88k-motorola-sysv3* support added.
|
||
|
||
Changes in 2.6:
|
||
|
||
Gas now directly supports macros, without requiring GASP.
|
||
|
||
Gas now has an MRI assembler compatibility mode. Use -M or --mri to select MRI
|
||
mode. The pseudo-op ``.mri 1'' will switch into the MRI mode until the ``.mri
|
||
0'' is seen; this can be convenient for inline assembler code.
|
||
|
||
Added --defsym SYM=VALUE option.
|
||
|
||
Added -mips4 support to MIPS assembler.
|
||
|
||
Added PIC support to Solaris and SPARC SunOS 4 assembler.
|
||
|
||
Changes in 2.4:
|
||
|
||
Converted this directory to use an autoconf-generated configure script.
|
||
|
||
ARM support, from Richard Earnshaw.
|
||
|
||
Updated VMS support, from Pat Rankin, including considerably improved debugging
|
||
support.
|
||
|
||
Support for the control registers in the 68060.
|
||
|
||
Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to
|
||
provide for possible future gcc changes, for targets where gas provides some
|
||
features not available in the native assembler. If the native assembler is
|
||
used, it should become obvious pretty quickly what the problem is.
|
||
|
||
Usage message is available with "--help".
|
||
|
||
The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3
|
||
also, but didn't get into the NEWS file.)
|
||
|
||
Weak symbol support for a.out.
|
||
|
||
A bug in the listing code which could cause an infinite loop has been fixed.
|
||
Bugs in listings when generating a COFF object file have also been fixed.
|
||
|
||
Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by Paul
|
||
Kranenburg.
|
||
|
||
Improved Alpha support. Immediate constants can have a much larger range now.
|
||
Support for the 21164 has been contributed by Digital.
|
||
|
||
Updated ns32k (pc532-mach, netbsd532) support from Ian Dall.
|
||
|
||
Changes in 2.3:
|
||
|
||
Mach i386 support, by David Mackenzie and Ken Raeburn.
|
||
|
||
RS/6000 and PowerPC support by Ian Taylor.
|
||
|
||
VMS command scripts (make-gas.com, config-gas.com) have been worked on a bit,
|
||
based on mail received from various people. The `-h#' option should work again
|
||
too.
|
||
|
||
HP-PA work, by Jeff Law. Note, for the PA, gas-2.3 has been designed to work
|
||
with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special
|
||
version of gcc-2.5.8 has been patched to work with gas-2.3. You can retrieve
|
||
this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu
|
||
in the "dist" directory.
|
||
|
||
Vax support in gas fixed for BSD, so it builds and seems to run a couple simple
|
||
tests okay. I haven't put it through extensive testing. (GNU make is
|
||
currently required for BSD 4.3 builds.)
|
||
|
||
Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is
|
||
based on code donated by CMU, which used an a.out-based format. I'm afraid the
|
||
alpha-a.out support is pretty badly mangled, and much of it removed; making it
|
||
work will require rewriting it as BFD support for the format anyways.
|
||
|
||
Irix 5 support.
|
||
|
||
The test suites have been fixed up a bit, so that they should work with a
|
||
couple different versions of expect and dejagnu.
|
||
|
||
Symbols' values are now handled internally as expressions, permitting more
|
||
flexibility in evaluating them in some cases. Some details of relocation
|
||
handling have also changed, and simple constant pool management has been added,
|
||
to make the Alpha port easier.
|
||
|
||
New option "--statistics" for printing out program run times. This is intended
|
||
to be used with the gcc "-Q" option, which prints out times spent in various
|
||
phases of compilation. (You should be able to get all of them printed out with
|
||
"gcc -Q -Wa,--statistics", I think.)
|
||
|
||
----------------------------------------------------------------
|
||
|
||
Changes in 2.2:
|
||
|
||
RS/6000 AIX and MIPS SGI Irix 5 support has been added.
|
||
|
||
Configurations that are still in development (and therefore are convenient to
|
||
have listed in configure.in) still get rejected without a minor change to
|
||
gas/Makefile.in, so people not doing development work shouldn't get the
|
||
impression that support for such configurations is actually believed to be
|
||
reliable.
|
||
|
||
The program name (usually "as") is printed when a fatal error message is
|
||
displayed. This should prevent some confusion about the source of occasional
|
||
messages about "internal errors".
|
||
|
||
ELF support is falling into place. Support for the 386 should be working.
|
||
Support for SPARC Solaris is in. HPPA support from Utah is being integrated.
|
||
|
||
Symbol values are maintained as expressions instead of being immediately boiled
|
||
down to add-symbol, sub-symbol, and constant. This permits slightly more
|
||
complex calculations involving symbols whose values are not alreadey known.
|
||
|
||
DBX-style debugging info ("stabs") is now supported for COFF formats.
|
||
If any stabs directives are seen in the source, GAS will create two new
|
||
sections: a ".stab" and a ".stabstr" section. The format of the .stab
|
||
section is nearly identical to the a.out symbol format, and .stabstr is
|
||
its string table. For this to be useful, you must have configured GCC
|
||
to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB
|
||
that can use the stab sections (4.11 or later).
|
||
|
||
LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS
|
||
support is in progress.
|
||
|
||
----------------------------------------------------------------
|
||
|
||
Changes in 2.1:
|
||
|
||
Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been
|
||
incorporated, but not well tested yet.
|
||
|
||
Altered the opcode table split for m68k; it should require less VM to compile
|
||
with gcc now.
|
||
|
||
Some minor adjustments to add (Convergent Technologies') Miniframe support,
|
||
suggested by Ronald Cole.
|
||
|
||
HPPA support (running OSF only, not HPUX) has been contributed by Utah. This
|
||
includes improved ELF support, which I've started adapting for SPARC Solaris
|
||
2.x. Integration isn't completely, so it probably won't work.
|
||
|
||
HP9000/300 support, donated by HP, has been merged in.
|
||
|
||
Ian Taylor has finished the MIPS ECOFF (Ultrix, Irix) support.
|
||
|
||
Better error messages for unsupported configurations (e.g., hppa-hpux).
|
||
|
||
Test suite framework is starting to become reasonable.
|
||
|
||
----------------------------------------------------------------
|
||
|
||
Changes in 2.0:
|
||
|
||
Mostly bug fixes.
|
||
|
||
Some more merging of BFD and ELF code, but ELF still doesn't work.
|
||
|
||
----------------------------------------------------------------
|
||
|
||
Changes in 1.94:
|
||
|
||
BFD merge is partly done. Adventurous souls may try giving configure the
|
||
"--with-bfd-assembler" option. Currently, ELF format requires it, a.out format
|
||
accepts it; SPARC CPU accepts it. It's the default only for OS "elf" or
|
||
"solaris". (ELF isn't really supported yet. It needs work. I've got some
|
||
code from Utah for HP-PA ELF, and from DG for m88k ELF, but they're not fully
|
||
merged yet.)
|
||
|
||
The 68K opcode table has been split in half. It should now compile under gcc
|
||
without consuming ridiculous amounts of memory.
|
||
|
||
A couple data structures have been reduced in size. This should result in
|
||
saving a little bit of space at runtime.
|
||
|
||
Support for MIPS, from OSF and Ralph Campbell, has been merged in. The OSF
|
||
code provided ROSE format support, which I haven't merged in yet. (I can make
|
||
it available, if anyone wants to try it out.) Ralph's code, for BSD 4.4,
|
||
supports a.out format. We don't have ECOFF support in just yet; it's coming.
|
||
|
||
Support for the Hitachi H8/500 has been added.
|
||
|
||
VMS host and target support should be working now, thanks chiefly to Eric
|
||
Youngdale.
|
||
|
||
----------------------------------------------------------------
|
||
|
||
Changes in 1.93.01:
|
||
|
||
For m68k, support for more processors has been added: 68040, CPU32, 68851.
|
||
|
||
For i386, .align is now power-of-two; was number-of-bytes.
|
||
|
||
For m68k, "%" is now accepted before register names. For COFF format, which
|
||
doesn't use underscore prefixes for C labels, it is required, so variable "a0"
|
||
can be distinguished from the register.
|
||
|
||
Last public release was 1.38. Lots of configuration changes since then, lots
|
||
of new CPUs and formats, lots of bugs fixed.
|
||
|
||
|
||
Local variables:
|
||
fill-column: 79
|
||
End:
|