mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-24 01:33:32 +08:00
7e047ac2c1
* as.c: Include sb.h and macro.h. (max_macro_next): New global variable. (main): Call macro_init. (macro_expr): New static function. * as.h (max_macro_nest): Declare. * read.c (line_label): Rename from mri_line_label. Change all uses. (potable): Add exitm, irp, irpc, macro, mexit, rept. (read_a_source_file): Always clear line_label at the start of a line, not just when flag_mri or LABELS_WITHOUT_COLONS. Fixup MRI/LABELS_WITHOUT_COLONS handling. In MRI mode, permit label: equ val. Set line_label when calling colon. In MRI mode, a leading '.' does not imply a pseudo-op. Check for macro expansion before calling md_assemble. (s_irp): New function. (get_line_sb): New static function. (s_macro): New function. (s_mexit): New function. (s_rept): New function. * read.h (line_label): Rename from mri_line_label. (s_irp, s_rept): Declare. (s_macro, s_mexit): Declare. * input-scrub.c: Include sb.h. (sb_index, from_sb): New static variables. (macro_nest): New static variable. (struct input_save): Add sb_index and from_sb fields. Change next_saved_file field to be struct input_save *. (next_saved_file): Changed to be struct input_save *. (input_scrub_push): Change to return type struct input_save *. Save sb_index and from_sb. (input_scrub_pop): Change parameter type to struct input_save *. Restore sb_index and from_sb. (input_scrub_include_sb): New function. (input_scrub_next_buffer): Handle reading from from_sb. (bump_line_counters): Only increment lines if not using from_sb. * config/tc-m68k.c (opt_table): Add nest. (opt_nest): New static function. * gasp.c: Include sb.h and macro.h. Move all sb related functions and definitions to sb.h and sb.c. Move all macro related functions and definitions to macro.h and macro.c. * sb.h, sb.c: New files, extracted from gasp.c. * macro.h, macro.c: Likewise. * Makefile.in (OBJS): Add sb.o and macro.o (GASPOBJS): Define. (gasp.new): Depend upon $(GASPOBJS). Use $(GASPOBJS) to link. (TARG_CPU_DEP_m68k): Depend upon subsegs.h. (gasp.o): Depend upon sb.h and macro.h. (sb.o): New target. (macro.o): New target. (as.o): Depend upon sb.h and macro.h. (input-scrub.o): Depend upon sb.h. (read.o): Depend upon sb.h and macro.h.
200 lines
7.4 KiB
Plaintext
200 lines
7.4 KiB
Plaintext
-*- text -*-
|
||
|
||
Changes since 2.5:
|
||
|
||
Gas now directly supports macros, without requiring GASP.
|
||
|
||
Gas now has an MRI assembler compatibility mode.
|
||
|
||
Added -mips4 support to MIPS assembler.
|
||
|
||
Added PIC support to Solaris and SPARC SunOS 4 assembler.
|
||
|
||
Changes since 2.3:
|
||
|
||
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 since 2.2:
|
||
|
||
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 since 2.1:
|
||
|
||
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 for 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 for 2.0:
|
||
|
||
Mostly bug fixes.
|
||
|
||
Some more merging of BFD and ELF code, but ELF still doesn't work.
|
||
|
||
----------------------------------------------------------------
|
||
|
||
Changes for 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 for 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:
|