BSD 4_4_Lite1 development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 4 Jan 1991 03:12:59 +0000 (19:12 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 4 Jan 1991 03:12:59 +0000 (19:12 -0800)
Work on file usr/src/contrib/gas-1.38/output-file.c
Work on file usr/src/contrib/gas-1.38/messages.c
Work on file usr/src/contrib/gas-1.38/ChangeLog

Synthesized-from: CSRG/cd2/4.4BSD-Lite1

usr/src/contrib/gas-1.38/ChangeLog [new file with mode: 0644]
usr/src/contrib/gas-1.38/messages.c [new file with mode: 0644]
usr/src/contrib/gas-1.38/output-file.c [new file with mode: 0644]

diff --git a/usr/src/contrib/gas-1.38/ChangeLog b/usr/src/contrib/gas-1.38/ChangeLog
new file mode 100644 (file)
index 0000000..3e0e64f
--- /dev/null
@@ -0,0 +1,917 @@
+Fri Jan  4 12:48:22 EST 1991   Jay Fenlason (hack@ai.mit.edu)
+
+       * messages.c  Moved as_perror from input-scrub.c  Modified the
+       error messages to look better.
+
+       * output-file.c Don't call as_fatal, just call exit()
+
+       expr.c Slightly improve checking for foo-foo case in
+       clean_up_expression().  Detect foo: bar: ... foo-bar...
+
+Tue Dec  4 16:29:20 EST 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * m68k.c  Fixed an obscure bug involving AOFF mode with a
+       large constant displacement (Was forgetting to output the
+       extension word.)
+
+       make-gas.com  Added a three line patch from Eric Youngdale that
+       makes it possible to submit make-gas.com to a batch queue.
+
+Wed Nov 21 15:07:51 EST 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * vms.c  (VMS_TBT_Routine_END)  Add a four line patch from
+       Eric Youngdale.
+
+Tue Nov 13 14:02:15 EST 1990   Jay Fenlason (hack@ai.mti.edu)
+
+       * vms-dbg.c (VMS_DBG_record())  Another one character patch from
+       Eric Youngdale.
+
+Mon Oct 29 15:49:21 EST 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * read.c  Replace some as_warn calls with as_bad.
+
+Fri Oct 26 15:21:15 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * i386.c, i860.c, ns32k.c       Add const changes.
+
+Mon Oct 22 14:04:26 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * sparc.c       Add const changes.
+
+       * make-gas.com  define const= for VMS, since many older versions of
+       GCC don't work correctly with const under VMS.
+
+Thu Oct 18 12:44:11 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * i860.c i860-opcode.h  Added patches from rgb@mcc.com
+
+       * read.c, symbols.c, vms.c, + new_file vms-dbg-module.c
+       Added Eric Youngdale's <YOUNGDALE@v6550c.nrl.navy.mil> VMS debugging
+       patches, so debugging GCC output now works.
+
+       * hash.c (hash_grow)  Remember to blank out the wall entry in the new
+       hash table.  This is important on systems where malloc() returns
+       non-zero storage. . .
+
+Tue Oct 16 10:11:35 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * output-file.c (output_file_create)  if output filename is given as
+       '-', write to stdout.
+
+       * m68k.c Finally get the PCREL code to work right.  Add relaxation of
+       PCREL stuff  This small fix from Ken Woodland
+       (kenny%datacube.uucp@uunet.uu.net).
+
+       * m68k.c  Added some const declarations to constants.  (md_relax_table,
+       md_pseudo_table, etc. . .)
+
+Thu Oct 11 11:15:10 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * Makefile, read.c, write.c Include the i860 port.
+       (New files i860.c i860-opcode.h i860.h)
+
+       * m68k.c Fix some addressing modes, (AOFF, AINDEX, etc) to work in
+       PC relative mode.
+
+       * (all over)  Raeburn's const hacking.  This reduces the data-space size by
+       declaring many tables, etc, as 'const'.
+
+Thu Sep 27 13:43:49 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * m68k.c (get_num)  Fix so that 1:w is treated properly.
+
+       * Makefile  Replace references to a.out.h with a.out.gnu.h
+
+Tue Sep 25 15:50:36 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * sparc.c  (md_number_to_imm)  Fix so that RELOC_32 locations contain
+       zero, so that it will work with some sparc loaders which don't assume
+       that the locations in question do.  A xix line patch from Michael Bloom
+       (usc!srhqla!quad1!psivax!ttidca!mb@zaphod.mps.ohio-state.edu)
+
+Mon Sep 24 11:43:15 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * as.c  #include <sys/types.h> if _POSIX_SOURCE defined.  This because
+       <signal.h> uses pid_t that's defined in it.
+
+       * m68k.c reverse the sense of -l option, and allow :w and :l to
+       override the default size of AOFF indexes.
+
+       Also, allow -l to shorten branches to unknown labels from LONG to WORD.
+
+Thu Sep 13 17:05:09 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * vax.c (md_parse_option)  Don't print a warning msg if given -J
+
+Wed Sep  5 14:26:14 EDT 1990   Jay Fenlason
+
+       * expr.c  (operand)  Don't get garbaged high-order bits when given a
+       lot of leading zeroes.
+
+Tue Sep  4 11:40:21 EDT 1990   Jay Fenlason
+
+       * read.c (pseudo_set) Compain if we're setting the symbol to the
+       difference of two symbols which are in different frags.  (We can't
+       find out how far apart they are.)
+
+Wed Aug 15 12:18:58 EDT 1990   Jay Fenlason
+
+       * m68k.c (m68k_ip_op)  Dyke out the code that deals with parsing
+       :[wl] at the end of expressions since it is handled in get_num()
+       and this was putting the result in the wrong place anyway.
+       Corrected a couple of other references to ->isiz instead of con?->e_siz
+
+Mon Aug 13 15:53:46 EDT 1990   Jay Fenlason
+
+       * read.c  Handle .align specially on the sparc, or any other machine
+       where OTHER_ALIGN is defined.  Added option and comments about it
+       to Makefile.
+
+Fri Aug 10 12:24:33 EDT 1990   Jay Fenlason
+
+       * m68k.c (get_num)  Handle SEG_PASS1 expressions.
+
+Mon Aug  6 16:32:29 EDT 1990   Jay Fenlason
+
+       * write.c  (fixup_segment) Added two patches for the NS32k
+       and SEQUENT  A six line patch from Ian Dall
+       (asgard!aegir!hugin!augean!sibyl!ian@munnari.oz.au)
+
+Wed Aug  1 13:30:48 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * m68k.c  Include REGISTER_PREFIX ifdefs.
+
+       * write.c Include LOCAL_LABEL() and DOT_LABEL_PREFIX feature.
+
+       * vax.c (md_parse_option)  Accept -H option.
+
+       * vms.c New version of case hasher, etc.  These from Eric Youngdale
+         <YOUNGDALE@v6550c.nrl.navy.mil>
+
+Fri Jul 20 13:39:02 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * README        Added README.APOLLO and README.COFF stuff
+
+Wed Jul 18 16:29:22 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * Makefile  Added option for SEQUENT_COMPATABILITY
+
+       * ns32k.c  Add configurable syntax feature from
+               ian@sibyl.eleceng.ua.oz@augean.ua.oz.au
+               and SEQUENT_COMPATABILITY
+
+       * ns32k-opcode.h  Add configurable syntax feature.
+
+Mon Jul 16 11:44:14 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * write.c (relax_segment)  On ns32k, add fragP->fr_pcrel_adjust to
+       aim.
+               (fixup_segment)  On ns32k, don't subtract size from
+       add_number on pcrel external symbols.
+
+       * ns32k.c (md_relax_table)  Use correct max displacements.
+       This is a six-line patch from ian@sibyl.eleceng.ua.oz.au
+
+       * ns32k.c (md_atof, convert_iif)  Emit floating point numbers in
+       the correct byte order.  A seven line patch from
+       ian@sibyl.eleceng.ua.oz.au
+
+       * ns32k.c (all over)  Some lint fixes.
+
+Mon Jul  9 13:17:00 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * app.c (do_scrub_next_char)  If a comment is #{whitespace}
+       don't treat the next line as comment also.
+
+       * m68k.c (...)  Accept apc@(num:[wl]), etc.
+
+       * i386.c (md_assemble) Get bitfields correct when doing cross
+       assembly to 386.  A two line patch from Michael Bloom.
+       (usc!srhqla!quad1!ttidca!mb@zaphod.mps.ohio-state.edu).
+
+       * README.APOLLO a new file with vasta@apollo's name, address
+       and phone # in it.
+
+       * make-gas.com Deleted references to gdb source files.
+
+Fri Jul  6 14:34:27 EDT 1990   Jay Fenlason (hack@ai.mit.edu)
+
+       * i386.c  Ignore the .optim directive
+
+       * input-file.c  Change from _IOLBF to _IOFBF in setbuffer emulation
+       for SYSV.
+
+Mon Jun 18 15:36:49 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
+
+       * sparc.c #ifdef DONTDEF s_sparc_align, since it isn't called from
+         anywhere.
+
+Fri Jun 15 15:53:30 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
+
+       * vax.c (md_parse_option)  make the code agree with the documentation
+         on the behaviour of the -d option.
+
+Thu Jun  7 14:23:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
+
+       * atof-ieee.c  (gen_to_words)  Assemble 0r-0 correctly.
+
+       * Makefile Remove last references to gdb*.c files.
+
+       * version.c  New version 1.36
+
+Tue May 22 13:22:26 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
+
+       * Makefile  Mention a work-around for a possible problem with HPUX7.0
+
+Mon May 21 14:06:04 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+       * sparc.c (sparc_ip): Change error message from "not in hash table"
+       to "unknown opcode".
+
+Wed May 16 15:33:14 EDT 1990   hack@wookumz
+
+       * i386.c (i386_operand)  Print error msg if given an operand like
+       4(mumble) which we can't parse.
+
+       * m68k.c (md_assemble)  Add '3' to the list of operand-places that
+       can be found in 'symbol-dependent info'.  Also change
+       'confusing width' diagnostic to something more meaningful.
+
+Fri May 11 12:09:21 EDT 1990   hack@wookumz
+
+       app.c (do_scrub_next_char)  Don't flush the line after a line
+       consisting of a single '/'  A one-line patch from Mike Kupfer
+       (kupfer@orc.olivetti.com)
+
+       * i386.c (md_assemble)  Call frag_wane() before calling frag_new()
+       A one line patch from Steve Bleazard (steve@robobar.co.uk
+
+Tue May  8 12:56:25 EDT 1990   hack@wookumz
+
+       * atof-generic.c (atof-generic)  Modified the Infinity detection code
+         to accept 0rinfinity and 0r-infinity as well as 0rinf and 0r-inf
+
+Thu Apr 26 15:17:31 EDT 1990   hack@wookumz
+
+       * atof-ieee.c  Change value of NaNs to 0x7fff ffff (float) and
+       0x7fff ffff ffff ffff (double)  If you want some other value for
+       NaN, use .long and spell it out yourself.
+
+       atof-generic.c  (atof_generic)  Cleaned up code that detects NaN
+       and Inf.
+
+       vax.c (md_assemble)  print a useful error message if expression()
+       returns SEG_PASS1 or SEG_DIFFERENCE and we can't deal with those.
+
+Thu Apr 19 10:30:47 EDT 1990   hack@wookumz
+
+       * input-scrub.c (AFTER_STRING)  Make AFTER_STRING contain a null
+       so that the strstr() call when looking for "#NO_APP" after a "#APP"
+       will work.  A two character patch from Bruce Robertson
+       (bruce@heather.pooh.com)
+
+       * Makefile, i386.c  Use atof-ieee.c instead of atof-i386.c
+
+Mon Apr 16 16:20:55 EDT 1990   hack@wookumz
+
+       * m68k.c (md_relax_table)  Many of the offsets were off by two.
+       Fixed some generic spacing problems thoughout the file.
+
+Thu Apr 12 12:22:35 EDT 1990   hack@wookumz
+
+       * sparc.c  (md_ri_to_chars)  Handle little-endian cross assembly.
+
+       * write.c (relax_segment)  Compare addresses correctly to avoid
+         accidentally relaxing a branch that we don't have to.
+         These small changes from John Gilmore (gnu@toad.com)
+
+Fri Apr  6 12:52:15 EDT 1990   hack@wookumz
+
+       * Makefile, expr.c symbols.c  Correctly document the SUN_ASM_SYNTAX
+       option, and make it work.
+
+Tue Mar 20 12:46:59 EST 1990
+
+       * as.c (main)  Only trap SIGHUP, SIGINT, SIGPIPE, and SIGTERM,
+               and only if they aren't being ignored.  A three line patch
+               from Paul Eggert (eggert@twinsun.com)
+
+       * write.c (relax_segment)  Correct typo 'growth - ' should have been
+               growth = 
+
+       * atof-vax.c (next_bits, flonum_gen2vax)  Clean up by sharing some
+               variables.  While we're at it, fix next_bits so that it
+               doesn't use littlenums that don't exist. . .
+
+Tue Mar 13 16:23:21 EST 1990   hack@wookumz
+
+       * Rename atof-m68k.c atof-ieee.c
+
+       * Delete atof-ns32k.c
+
+       * m68k.c sparc.c ns32k.c atof-ieee.c  Call atof-ieee instead of
+               atof-m68k or atof-ns32k
+
+       * Makefile      Compile with atof-ieee.c instead of atof-ns32k.c or
+               atof-m68k.c
+
+Mon Mar 12 14:06:55 EST 1990   hack@wookumz
+
+       * as.c  If the signal handler gets called twice, exit immediatly.
+
+       * ns32k.c  Call gen_to_words with a pointer of the proper type, and
+         call md_number_to_chars to put the results in the proper byte-order.
+         Whoever wrote this code was *sloppy*!
+
+       * Makefile ns32k.o depends on ns32k.c
+
+       * vax.c  (md_parse_option)  If VMS, accept -+ and -h options.
+
+       * vms.c (VMS_Case_Hack_Symbol)  Replace #if NO_CASE_HACKING
+               with references to the -h option.  These small VMS patches
+               from Angel Li (angel@flipper.miami.edu).
+
+Thu Mar  8 19:18:59 EST 1990   hack@wookumz
+       * vms.c         Some trivial patches from Eric Youngdale
+                       (YOUNGDALE@v6550c.nrl.navy.mil)
+
+Wed Mar  7 17:12:09 EST 1990   hack@wookumz
+       * make-gas.com  (Define error as as_fatal when compiling vax.c and vms.c
+                       A two line patch from Eric Youngdale
+                       (YOUNGDALE@v6550c.nrl.navy.mil)
+
+Tue Mar  6 16:01:09 EST 1990   hack@wookumz
+
+       * Makefile  Include ns32k options in makefile.  A small patch from
+       David Taylor (taylor@think.com).
+
+       * as.c read.c write.c Makefile  #ifdef DONTDEF out all the gdb
+       symbol stuff, since it isn't used anymore and it doesn't work.
+
+Mon Mar  5 14:51:04 EST 1990   hack@wookumz
+
+       * i386.c (md_assemble) Replace memchr() with index().
+
+       * as.c  Trap signals 1 through NSIG, print an error msg, and don't
+       produce an object file.
+
+       * m68k.c Added a hack so that fsincosx fpx,fpy:fpz works.
+
+       * messages.c New function: as_bad  This is like as_warn, except
+       -W doesn't disable it, and calling it inhibits production of an
+       object file and causes a non-zero exit code.
+
+Tue Feb 13 14:25:53 EST 1990   hack@wookumz
+       * Makefile  Include G0 and LOADLIBES for Sequent Symmetry.
+       Based on a small patch from Johan Widen (jw@sics.se)
+
+Thu Feb  1 14:08:58 EST 1990   hack@wookumz
+       * m68k.c  Replace 'abort' with 'abort()' which will work.
+
+Wed Jan 24 17:15:08 EST 1990   hack@ai.mit.edu
+
+       * read.c  (ignore_rest_of_line)  Have it print the first junk char
+       in both decimal and %c form.
+
+       (read_a_source_file)  On bad pseudo-op, print out the unknown
+       pseudo-op's name.
+
+Tue Jan 23 13:12:48 EST 1990   hack@ai.mit.edu
+
+       * read.c (pseudo_set)   If the symbol is external, have it remain
+       external.
+
+       * i386-opcode.h  Allow jc as a synonym for jb and jnc as a syn for jnb.
+
+
+Wed Jan  3 09:35:31 EST 1990   hack@ai.mit.edu
+
+       * ns32k.c [cpureg_032]  Change register id of psr from 0x0b to 0x0d
+       * ns32k-opcode.h        Change shift-counts for lsh and lshd
+       to one byte instead of 2 and 4.
+       A Trivial patch from John F. Peters (think!ames!practic.com!jfp@eddie)
+
+Tue Dec  5 16:37:44 EST 1989   hack@ai.mit.edu
+
+       * ns32k.c (md_create_{long,short}_jump)  Six line patch from
+       John F Peters (think!ames!vine!practice.com!jfp) to use the
+       correct addressing mode and byte-order for broken-word stuff.
+
+       * write.c (write_object_file)  One line patch to call fix_new_ns32k
+       with the correct # of args.
+
+Fri Dec  1 16:44:21 EST 1989   hack@ai.mit.edu
+
+       * atof-generic.c, flonum-mult.c  A real fix for the trailing-zeroes
+       problem from Georg Feil (ghfeil@white.toronto.edu)  (two line change)
+
+Mon Nov 27 15:30:46 EST 1989   hack@ai.mit.edu
+
+       * i386-opcode.h  Fixed opcode-table entry for ljmp.  A one char
+       patch from eliot@mgm.mit.edu
+
+Mon Nov 20 12:41:28 EST 1989   hack@ai.mit.edu
+
+       * expr.c  Replace the generic_buffer hack with a more portable one */
+
+       * atof-generic.c (atof_generic)  Ignore trailing zeroes after a decimal
+       point.  For some reason trailing zeroes (but not trailing nonzeroes) were
+       causing loss of precision.  I don't know why. . .
+
+       * vms.c Change copyright notice.  Install changes from Kenneth Adelman
+       (adelman@tgv.com) for c++?  (A dozen lines or so)
+
+Mon Nov 13 11:48:44 EST 1989   hack@ai.mit.edu
+
+       * Makefile  Add BINDIR and use it to control where the executable is
+       installed.
+
+       * i386.c Use __builtin_alloca if possible (trivial patch from
+       Marco S. Hyman pacbell!dumbcat!marc)
+
+Mon Nov  6 18:24:47 EST 1989   hack@ai.mit.edu
+
+       * version.c  New version: 1.35 will be distributed with the
+       1.36 gcc release.
+
+Mon Oct 30 10:38:11 EST 1989   hack@ai.mit.edu
+
+       * atof-m68k.c (atof_m68k)  Don't put the bits[] array on the stack,
+       since it may be pointed to after atof-m68k exits.
+
+Tue Oct 24 11:15:57 EDT 1989   hack@ai.mit.edu
+
+       * atof-m68k.c  Added #define for bcopy on USG systems.
+       #ifdef TEST the print_gen() function.
+
+       * a.out.h  if USE_HP_INC_HDR then use ../binutils/hp-include/a.out.h
+
+Fri Oct 13 14:36:48 EDT 1989   hack@ai.mit.edu
+
+       * vax.c (all)  Ran vax through indent -gnu to make it readable.
+
+       vax.c (vip_op)  Correctly assemble code like jmp $*0x11223344
+       by setting vip_nbytes to 4 when using an immediate address.
+       I hope this works!
+
+       m68k.c (s_proc (new))  Added s_proc no-op pseudo-op.
+
+       Makefile  Added instructions for compiling on Sequent Symmetry
+       and HP 9000/300.
+
+       a.out.h Modified to compile on Sequent and HP above.  (HP port
+       based on a msg from asjl@comp.vuw.ac.nz (real name unknown)).
+
+Tue Oct 10 14:39:44 EDT 1989   hack@ai.mit.edu
+       * vax.c (vip_op)        Fixed a typo in an error msg and cleaned
+       up some spacing stuff.
+
+Wed Sep 27 19:07:12 EDT 1989   hack@ai.mit.edu
+
+       * app.c (do_scrub_next_char)    Fixed parsing of
+               # <line> "file" garbage
+       text so that it'll work again?  (8 line patch from Mike Hibler
+       (mike@cs.utah.edu))
+
+Mon Sep 18 16:26:01 EDT 1989   hack@ai.mit.edu
+
+       * app.c (do_scrub_next_char): Modify parsing of /* ... */ to work
+       on the text /* ****/
+
+       * sparc.c (sparc_ip):  Don't abort on insns that use the Alternate
+       Spaces.  Try to assemble them correctly.
+
+Thu Sep 14 11:42:44 EDT 1989   hack@ai.mit.edu
+
+       * sparc.c (md_number_to_imm)  Dozen line patch from jkp@sauna.hut.fi
+       (Jyrki Kuoppala) so that gas output will work with shared libraries.
+
+       * ns32k.c Include <string.h> instead of <strings.h> if USG defined.
+
+       (md_end)  free(freeptr_static) instead of free(freeptr) .
+
+       * atof-ns32k.c  Include as.h so that sysV stuff (bzero) will be
+       defined if needed.  These ns32k changes from
+       nixbur!mollers.pad@seismo.css.gov (Josef Moellers)
+
+Fri Sep  1 11:39:52 EDT 1989   hack@ai.mit.edu
+
+       * atof-m68k.c (gen_to_words)  Get the sign right on negative
+       floating-point numbers.
+
+Wed Aug 30 13:59:57 EDT 1989   hack@ai.mit.edu
+
+       * Makefile  Remove the rest of the $< entries that kill sun make
+
+Fri Aug 25 15:00:30 EDT 1989   Nobody You Know (hack@ai.mit.edu)
+
+       * atof-m68k.c (gen_to_words) deal with denormalized floating-point
+       numbers.
+
+Tue Aug 22 02:03:05 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
+
+       * Makefile (gas-dist.tar): Put ChangeLog in the tar file.
+
+       * version.c: Added comment telling Jay Fenl--I mean people--not to put
+       changes in version.c, but to use ChangeLog instead.
+
+       * version.c (version_string): Put "GNU" in all-caps.
+
+       * version.c: Moved all comments about changes to ChangeLog (this file).
+       Many anonymous entries have been attributed to Jay Fenlason (hack).
+
+Thu Aug 17 15:53:57 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
+
+       * Makefile: Removed $< references that seem
+       to choke some versions of make.
+
+       * frags.c (frag_grow): Fixed to deal with requests for very
+       large frags (larger than frags.chunk_size).
+
+       * app.c (do_scrub_next_char): Have it ignore any characters
+       after the filename in a # line "filename".
+
+       * sparc.c (s_common): On an error, don't print out
+       input_line_pointer past the end of the line where the error is.
+
+       * atof-generic.c (atof_generic): Accept any case for
+       inf and nan.
+
+       * m68k.c (m68_ip): Don't use PC-relative mode for alterable
+       addressing modes.
+
+Tue Aug 15 04:58:36 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
+
+       * sparc.c (md_begin): Rewrote this function to perform consistency
+       checks with the new opcode table.
+
+Fri Aug 11 16:01:16 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
+
+       * sparc-opcode.h (struct sparc_opcode): Replaced `mask' field with
+       `lose'; removed `last' field.  Updated all opcodes accordingly.
+       Fixed several opcodes that generated the wrong instructions.
+       sparc.c (md_begin, sparc_ip): Changed to use new struct sparc_opcode.
+
+Thu Aug  3 14:44:24 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
+
+       * Makefile (a32k): Use read- and write-ns32k.o
+       * ns32k.c (encode_operand): Make sure pcrel_adjust starts out zeroed.
+       * read.c (cons): Call fix_new_ns32k() if NS32K is defined.
+       * write.c (write_object_file): Ditto.
+       These so that .word sym-sym (etc) will produce values with
+       the proper byte-order.
+
+Wed Aug 2 12:55:?? 1989  Jay Fenlason (hack at apple-gunkies.ai.mit.edu)
+
+       * sparc.c (comment_chars[]): Removed '|' because it was causing
+       problems.  Probably not the best fix, since I suspect other
+       assemblers (68020) may get | in .stabs also, and the 68020 needs
+       the '|' comment character.
+
+Mon Jul 31 09:22:28 1989  Roland McGrath  (roland at apple-gunkies.ai.mit.edu)
+
+       * sparc.c (sparc_ip): Allow the characters [0123] in opcodes.
+
+Tue Jul 25 16:32:12 1989  Jay Fenlason  (hack)
+
+       * atof-generic.c (atof_generic): Tried to keep
+       size_of_digits_in_littlenum from going negative.
+
+       * sparc-opcode.h: Added duplicate [i+1] entries to go with
+       the [1+i] entries already there.  A kludgy fix, but it works.
+
+Mon Jul 24 17:20:03 1989  Jay Fenlason  (hack)
+
+       * write.c (relax_segment): Modified rs_org code so it won't
+       occasionally dump core.
+
+       * write.c (pseudo_set): Modified SEG_DIFFERENCE to (perhaps)
+       allow one to set a symbol to the difference of two other symbols.
+
+       * ns32k.c (convert_iif): Moved size_so_far+=size and size=0 inside
+        the check for a valid type.
+
+       * sparc-opcode.h: Modified the entries for std "q,[1+i]", "D,[1+i]",
+       and "Q,[1+i]".
+
+(In version 1.34)  Jay Fenlason  (hack)
+
+       * Makefile: Reorganized, added stuff to make asparc.
+
+       * sparc.c, sparc-opcode.h, sparc.h: Sparc port.
+
+       * write.c: Set the size of text and bss segments to a multiple of eight
+       bytes.
+
+       * m68k.c: Moved .single pseudo-op to machine independent part.
+
+       * atof-generic.c: Fixed type in #ifdef __GNUC__.
+
+       * sparc-opcode.h: Handle "mov REG, %y".
+
+       * make-gas.com: Know that error.c no longer exists.
+
+       * sparc.c: Handle [expr+reg].
+       Don't call getExpression when looking for an immediate and getting
+       something that starts with % and isn't %hi or %lo.
+
+       * Teach the 68k about long conditional branches.
+
+(In version 1.33)  Jay Fenlason  (hack)
+
+       * Use __builtin_alloca if available.
+
+       * README: Added more instructions for reporting bugs.
+
+       * ns32k-opcode.h: Changed the acbb, acbw, and acbd insns.
+
+       * vax.c: Replaced instances of LENGTH[STRING] with STRING[LENGTH].
+
+       * ns32k.c (encode_operand): Increased max size of bit field for exts
+       and inss instructions from 31 to 32 bits.
+
+       * flonum-mult.c (flonum_multip): Fixed typo.
+
+       * m68kc.: Allow #32 to be the same as #0 for bit-field ops.
+
+       * make-gas.com, version.c, hex-value.c, flonum-const.c: VMS fixes.
+
+       * ns32k.c, ns32k-opcode.h: More fixes from taylor@think.com.
+       Mostly typos in comments, etc.
+
+       * ns32k-opcode.h: Fixed size of immediate operands to andw and andd
+       instructions.
+
+(In version 1.32)  Jay Fenlason  (hack)
+
+       * read.c (s_set): Fixed misnamed variable.
+
+       * as.c: Don't hang if given an invalid option.
+
+       * m68k.c: Fixed bug in creating absolute long addresses for branches.
+
+       * ns3k*: Some small ns32k patches.
+
+       * m68k.c: Recognize 0rnan, 0rinf, 0r-inf.
+
+       * app.c: Don't dump core on unterminated strings.
+
+       * symbols.c: Give reasonable error messages.
+
+       * ns32k*: Allow -m32032 and -m32532 options.
+
+       * atof-*.c: Added support for NaN, Inf, and -Inf in atof_generic and
+       the various descriptions.
+
+       * m68k.c (add_fix): Replace occurrences of "width==" with
+       "(width)==".  This correct a precedence problem.
+
+       * write.c, struc-symbol.h, m68k-opcode.h, m-hpux.h, Makefile: Changes
+       for HP-UX from Chris Hanson (cph@kleph.ai.mit.edu).
+
+       * m68k-opcode.h: Reorder movem insns so gdb will see the ones using the
+       register list syntax first.
+
+       * symbols.c (colon): Give more useful error messages when something was
+       defined as a .comm and is now trying to be defined locally.
+       Also, redefining a symbol is a fatal, not a warning.
+
+       * m68k.c: Fixed a bug in using bignums as literal bit patterns for
+       floating-point numbers.
+
+(In version 1.31)  Jay Fenlason  (hack)
+
+       * i386*: More patches.
+
+       * Moved machine-dependent option parsing into the machine-dependent
+       source files.
+
+(In version 1.30)  Jay Fenlason  (hack)
+
+       * i386*: New new version.
+
+       * atof-m68k.c: Changed to be smaller, with somewhat better modularity.
+       Also fixed an obscure bug wherein next_bits would return random bits.
+
+       * m68k.c: Be more careful about creating PC-relative addressing modes
+       on the 68000 and 68010.
+
+       * frags.c (frag_new): Zero out the new frag.
+
+       * Don't choke on "foo= bar" or on formfeeds.
+
+       * read.c: Allow Sun-syntax local labels #ifdef SUN_ASM_SYNTAX.
+       * m-sun3.h: Defined SUN_ASM_SYNTAX.
+
+(In version 1.29)  Jay Fenlason  (hack)
+
+       * i386.c: Newer version that fixes a bug wherein a jump instruction
+       would be split between two frags.
+
+       * i386*: New version.
+
+       * m68k.c: #ifdef M_SUN and -m68010, produce Sun-2 executables.
+
+(In version 1.28)  Jay Fenlason  (hack)
+
+       * m68k.c: Added .single pseudo-op.
+
+       * Made ". = X" and ".set .,X" equivalent to ".org X".
+       The pseudo-symbol "." has the value of the location the assembler is
+       currently assembling to.
+
+(In version 1.27)  Jay Fenlason  (hack)
+
+       * Merged ns32k and i386 support.
+
+(In version 1.26)  Jay Fenlason  (hack)
+
+       * Added partial ns32k support.
+
+       * Added RMS's evil .word misfeature.  Invented the -k (kludge) option
+       to warn that this misfeature was used.
+
+       * Modified some files to get rid of warnings from GCC.
+
+       * Added fix so that / can also be a comment character by itself.
+
+(In version 1.25)  Jay Fenlason  (hack)
+
+       * Installed patches for VMS.
+
+       * as.h (SIZEOF_STRUCT_FRAG): Added space before backslash-newline.
+
+       * messages.c: Fixed typo.
+
+       * app.c: Handle : correctly.
+
+       * error.c: Removed; no longer used.
+
+       * m68k-opcode.h: Added fnop.
+       Fixed to correctly handle fmovem with a register list and
+       non-predecriment addressing mode.
+
+       * m68k-opcode.h: Fixed to know about long form of FBcc insns.
+
+       * write.c: Warn if a fixup ended up being wider than its field width.
+
+(In version 1.24)  Jay Fenlason  (hack)
+
+       * Accept and ignore -mc68010 and -m68010 switches.
+
+       * Correctly assemble long subroutine calls on the 68000 without using a
+       68020-specific instruction.
+
+       * When calling with no filenames, read stdin.
+
+(In version 1.23)  Jay Fenlason (hack)
+
+       * app.c: Rewritten.
+
+       * xmalloc.c, xrealloc.c: Replaced to work with GCC.
+
+(In version 1.22)  Jay Fenlason  (hack)
+
+       * write.c: Fixed a VMS bug.
+
+       * m68k.c: Fixed a bug having to do with turning absolute into
+       PC-relative.
+
+       * atof-m68k.c (atof_m68k, gen_to_words): Try to avoid a problem with
+       running off the end of the LITTLENUMS.
+
+       * vax.c: Fixed so parenthesized expressions work.
+
+       * atof-generic.c: Added a cast that fixes problems with some C
+       compilers.
+
+(In version 1.21)
+
+       * Changes for VMS support and correct bitfield order for
+       cross-assembly.
+
+(In version 1.20)
+
+       * m68k*: Fixed "fmovel #N, fpcr".  Added fpcr and fpsr to the list of
+       registers.
+
+(In version 1.19)
+
+       * m68k.c? (md_convert_frag): Don't put the fixups for absolute long to
+       PC-relative in the data segment.
+
+       * atof-generic.c: #include <alloca.h> #ifdef sparc.
+
+(In version 1.18)
+
+       * Re-fixed _vfprintf stuff (?).
+
+       * Made "movem REG, ADDR" work.
+
+       * Improved preprocessing, without temporary files.
+
+(In version 1.17)
+
+       * Don't produce an undefined empty symbol for ".globl foo," (a line
+       ending with a comma).
+
+       * Fixed a bug wherein ".long X" became ".long 0" on the Sparc.
+
+       * Fixed a bug which caused many "#APP" "#NO_APP" pairs to dump core.
+
+       * Fixed calls to _doprnt to call _vfprintf #ifndef NO_VARARGS.
+
+(In version 1.16)
+
+       * Merged HP-UX changes from Chris Hanson (cph@zurich.ai.mit.edu).
+
+       * flonum-multip.c: Renamed to flonum-mult.c.
+
+       * m-hpux.h: Created.
+
+       * m68k.c (bcopy): Fixed.
+
+(In version 1.15)
+
+       * struct-symbol.h: Renamed to struc-symbol.h.
+
+(In version 1.14)
+
+       * vax.c: Added a quick fix for the offset of fixed-width branches not
+       fitting in the field given.
+
+       * gdb-lines.c, read.c: Added support for .gdline and .gdbline
+       pseudo-ops.
+
+(In version 1.13)
+
+       * read.c, atof-generic.c: Fixed bugs in reading in floating-point
+       numbers.
+
+       * m68k-opcode.h: Made "fmovep a0@, fp0" work.
+
+(In version 1.12)
+
+       * write.c: Fixed an obscure bug in relaction that would occasionally
+       cause the assembler to stop relaxing when it really had at least one
+       more pass to do.
+
+(In version 1.11)
+
+       * m68k*: Allow register lists in fmovem.
+
+       * Added more floating-point exponents.
+
+       * Print an error message on exponent overflow.
+
+(In version 1.10)
+
+       * Fixed floating point bugs that made it generate incorrect numbers for
+       values over 10^16 or so.
+
+(In version 1.09)
+
+       * Fixed bug wherein you couldn't forward reference local label 0.
+
+(In version 1.08)
+
+       * m68k.c, m68k-opcode.h: Added support for fmovem with register lists.
+
+       * Fixed an obscure bug having to do with generating PC-relative
+       addressing mode for things in the middle of the instruction instead of
+       at the end.
+
+Wed Mar  1 15:29:24 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+
+       * *.*: Modified copyright notices to reflect new General Public
+       License. 
+
+       * Makefile: Added copyright notice.
+
+Fri Feb 17 09:42:01 1989  Jay Fenlason  (hack at spiff)
+
+       * Patched frags.c so that new frags start out bzero()ed.
+
+Thu Jan 26 14:23:44 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
+
+       * Added patches from pace to files as.h i386.c i386-opcode.h
+         imull foo,%eax no longer gets assembled into the 32-64 bit
+         multiply, which clobbers %edx behind gcc's back
+
+         jcxz/jecxz were backwards
+
+         There was a bug when using %ebp as a base register with no
+         displacement
+
+         Instructions like andb $0xffffff, %al used to put out too many
+         immediate bytes
+
+         The splitting jump instructions across frags could happen when
+         obstack_room()==6 too.
+\f
+Local Variables:
+mode: indented-text
+left-margin: 8
+version-control: never
+End:
diff --git a/usr/src/contrib/gas-1.38/messages.c b/usr/src/contrib/gas-1.38/messages.c
new file mode 100644 (file)
index 0000000..a7b1205
--- /dev/null
@@ -0,0 +1,238 @@
+/* messages.c - error reporter -
+   Copyright (C) 1987 Free Software Foundation, Inc.
+
+This file is part of GAS, the GNU Assembler.
+
+GAS is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 1, or (at your option)
+any later version.
+
+GAS is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GAS; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include <stdio.h>             /* define stderr */
+#ifdef VMS
+#include <errno.h>     /* Need this to make errno declaration right */
+#include <perror.h>    /* Need this to make sys_errlist/sys_nerr right */
+#endif /* VMS */
+
+#include "as.h"
+
+#ifndef NO_VARARGS
+#include <varargs.h>
+#endif
+
+/*
+               ERRORS
+
+       JF: this is now bogus.  We now print more standard error messages
+       that try to look like everyone else's.
+
+       We print the error message 1st, beginning in column 1.
+       All ancillary info starts in column 2 on lines after the
+       key error text.
+       We try to print a location in logical and physical file
+       just after the main error text.
+       Caller then prints any appendices after that, begining all
+       lines with at least 1 space.
+
+       Optionally, we may die.
+       There is no need for a trailing '\n' in your error text format
+       because we supply one.
+
+as_warn(fmt,args)  Like fprintf(stderr,fmt,args) but also call errwhere().
+
+as_fatal(fmt,args) Like as_warn() but exit with a fatal status.
+
+*/
+
+
+/* Nonzero if we've hit a 'bad error', and should not write an obj file,
+   and exit with a nonzero error code */
+
+int bad_error = 0;
+
+
+/*
+ *                     a s _ p e r r o r
+ *
+ * Like perror(3), but with more info.
+ */
+/* JF moved from input-scrub.c to here.  */
+void
+as_perror(gripe, filename)
+     char *    gripe;          /* Unpunctuated error theme. */
+     char *    filename;
+{
+  extern int errno;            /* See perror(3) for details. */
+  extern int sys_nerr;
+  extern char * sys_errlist[];
+
+  as_where();
+  fprintf (stderr,gripe,filename);
+  if (errno > sys_nerr)
+    fprintf (stderr, "Unknown error #%d.\n", errno);
+  else
+    fprintf (stderr, "%s.\n", sys_errlist [errno]);
+  errno = 0;                   /* After reporting, clear it. */
+}
+
+/*
+ *                     a s _ w a r n ( )
+ *
+ * Send to stderr a string (with bell) (JF: Bell is obnoxious!) as a warning, and locate warning
+ * in input file(s).
+ * Please only use this for when we have some recovery action.
+ * Please explain in string (which may have '\n's) what recovery was done.
+ */
+
+#ifdef NO_VARARGS
+/*VARARGS1*/
+as_warn(Format,args)
+char *Format;
+{
+  if ( ! flagseen ['W'])       /* -W supresses warning messages. */
+    {
+      as_where();
+      _doprnt (Format, &args, stderr);
+      (void)putc ('\n', stderr);
+      /* as_where(); */
+    }
+}
+#else
+void
+as_warn(Format,va_alist)
+char *Format;
+va_dcl
+{
+  va_list args;
+
+  if( ! flagseen['W'])
+    {
+      as_where();
+      va_start(args);
+      vfprintf(stderr, Format, args);
+      va_end(args);
+      (void) putc('\n', stderr);
+    }
+}
+#endif
+#ifdef DONTDEF
+void
+as_warn(Format,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an)
+char *format;
+{
+       if(!flagseen['W']) {
+               as_where();
+               fprintf(stderr,Format,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an);
+               (void)putc('\n',stderr);
+       }
+}
+#endif
+/*
+ *                     a s _ b a d ( )
+ *
+ * Send to stderr a string (with bell) (JF: Bell is obnoxious!) as a warning,
+ * and locate warning in input file(s).
+ * Please us when there is no recovery, but we want to continue processing
+ * but not produce an object file.
+ * Please explain in string (which may have '\n's) what recovery was done.
+ */
+
+#ifdef NO_VARARGS
+/*VARARGS1*/
+as_bad(Format,args)
+char *Format;
+{
+  bad_error=1;
+  as_where();
+  _doprnt (Format, &args, stderr);
+  (void)putc ('\n', stderr);
+  /* as_where(); */
+}
+#else
+void
+as_bad(Format,va_alist)
+char *Format;
+va_dcl
+{
+  va_list args;
+
+  bad_error=1;
+  as_where();
+  va_start(args);
+  vfprintf(stderr, Format, args);
+  va_end(args);
+  (void) putc('\n', stderr);
+}
+#endif
+#ifdef DONTDEF
+void
+as_bad(Format,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an)
+char *format;
+{
+       as_where();
+       bad_error=1;
+       fprintf(stderr,Format,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an);
+       (void)putc('\n',stderr);
+}
+#endif
+/*
+ *                     a s _ f a t a l ( )
+ *
+ * Send to stderr a string (with bell) (JF: Bell is obnoxious!) as a fatal
+ * message, and locate stdsource in input file(s).
+ * Please only use this for when we DON'T have some recovery action.
+ * It exit()s with a warning status.
+ */
+
+#ifdef NO_VARARGS
+/*VARARGS1*/
+as_fatal (Format, args)
+char *Format;
+{
+  as_where();
+  fprintf(stderr,"FATAL:");
+  _doprnt (Format, &args, stderr);
+  (void)putc ('\n', stderr);
+  /* as_where(); */
+  exit(42);                    /* What is a good exit status? */
+}
+#else
+void
+as_fatal(Format,va_alist)
+char *Format;
+va_dcl
+{
+  va_list args;
+
+  as_where();
+  va_start(args);
+  fprintf (stderr, "FATAL:");
+  vfprintf(stderr, Format, args);
+  (void) putc('\n', stderr);
+  va_end(args);
+  exit(42);
+}
+#endif
+#ifdef DONTDEF
+void
+as_fatal(Format,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an)
+char *Format;
+{
+  as_where();
+  fprintf (stderr, "FATAL:");
+  fprintf(stderr, Format,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an);
+  (void) putc('\n', stderr);
+  exit(42);
+}
+#endif
+
+/* end: messages.c */
diff --git a/usr/src/contrib/gas-1.38/output-file.c b/usr/src/contrib/gas-1.38/output-file.c
new file mode 100644 (file)
index 0000000..ff71f40
--- /dev/null
@@ -0,0 +1,81 @@
+/* output-file.c -  Deal with the output file
+   Copyright (C) 1987 Free Software Foundation, Inc.
+
+This file is part of GAS, the GNU Assembler.
+
+GAS is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 1, or (at your option)
+any later version.
+
+GAS is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GAS; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/*
+ * Confines all details of emitting object bytes to this module.
+ * All O/S specific crocks should live here.
+ * What we lose in "efficiency" we gain in modularity.
+ * Note we don't need to #include the "as.h" file. No common coupling!
+ */
+
+/* #include "style.h" */
+#include <stdio.h>
+
+void   as_perror();
+
+static FILE *
+stdoutput;
+
+void
+output_file_create (name)
+     char *            name;
+{
+  if(name[0]=='-' && name[1]=='\0')
+    stdoutput=stdout;
+  else if ( ! (stdoutput = fopen( name, "w" )) )
+    {
+      as_perror ("FATAL: Can't create %s", name);
+      exit(42);
+    }
+}
+
+
+
+void
+output_file_close (filename)
+     char *    filename;
+{
+  if ( EOF == fclose( stdoutput ) )
+    {
+      as_perror ("FATAL: Can't close %s", filename);
+      exit(42);
+    }
+  stdoutput = NULL;            /* Trust nobody! */
+}
+
+void
+output_file_append (where, length, filename)
+     char *            where;
+     long int          length;
+     char *            filename;
+{
+
+  for (; length; length--,where++)
+    {
+       (void)putc(*where,stdoutput);
+       if(ferror(stdoutput))
+      /* if ( EOF == (putc( *where, stdoutput )) ) */
+       {
+         as_perror("Failed to emit an object byte", filename);
+         as_fatal("Can't continue");
+       }
+    }
+}
+
+/* end: output-file.c */