From 1a9c5bcdbc306f4218e0d4a0e93f5a62fe5eaed4 Mon Sep 17 00:00:00 2001 From: CSRG Date: Thu, 3 Jan 1991 19:12:59 -0800 Subject: [PATCH] BSD 4_4_Lite1 development 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 | 917 +++++++++++++++++++++++++ usr/src/contrib/gas-1.38/messages.c | 238 +++++++ usr/src/contrib/gas-1.38/output-file.c | 81 +++ 3 files changed, 1236 insertions(+) create mode 100644 usr/src/contrib/gas-1.38/ChangeLog create mode 100644 usr/src/contrib/gas-1.38/messages.c create mode 100644 usr/src/contrib/gas-1.38/output-file.c diff --git a/usr/src/contrib/gas-1.38/ChangeLog b/usr/src/contrib/gas-1.38/ChangeLog new file mode 100644 index 0000000000..3e0e64f37a --- /dev/null +++ b/usr/src/contrib/gas-1.38/ChangeLog @@ -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 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 if _POSIX_SOURCE defined. This because + 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 + + +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 + # "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 instead of 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 #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. + +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 index 0000000000..a7b1205287 --- /dev/null +++ b/usr/src/contrib/gas-1.38/messages.c @@ -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 /* define stderr */ +#ifdef VMS +#include /* Need this to make errno declaration right */ +#include /* Need this to make sys_errlist/sys_nerr right */ +#endif /* VMS */ + +#include "as.h" + +#ifndef NO_VARARGS +#include +#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 index 0000000000..ff71f40f9a --- /dev/null +++ b/usr/src/contrib/gas-1.38/output-file.c @@ -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 + +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 */ -- 2.20.1