Remove a.out support from base. Bumb WARNS to 6 for ldconfig.
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Thu, 4 Nov 2004 13:14:11 +0000 (13:14 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Thu, 4 Nov 2004 13:14:11 +0000 (13:14 +0000)
212 files changed:
gnu/usr.bin/Makefile
gnu/usr.bin/as/CONTRIBUTORS [deleted file]
gnu/usr.bin/as/COPYING [deleted file]
gnu/usr.bin/as/ChangeLog [deleted file]
gnu/usr.bin/as/Makefile [deleted file]
gnu/usr.bin/as/Makefile.in [deleted file]
gnu/usr.bin/as/NOTES [deleted file]
gnu/usr.bin/as/NOTES.config [deleted file]
gnu/usr.bin/as/README [deleted file]
gnu/usr.bin/as/README-vms [deleted file]
gnu/usr.bin/as/README.coff [deleted file]
gnu/usr.bin/as/README.pic [deleted file]
gnu/usr.bin/as/README.rich [deleted file]
gnu/usr.bin/as/VERSION [deleted file]
gnu/usr.bin/as/app.c [deleted file]
gnu/usr.bin/as/as.1 [deleted file]
gnu/usr.bin/as/as.1aout [deleted file]
gnu/usr.bin/as/as.c [deleted file]
gnu/usr.bin/as/as.h [deleted file]
gnu/usr.bin/as/atof-generic.c [deleted file]
gnu/usr.bin/as/bignum-copy.c [deleted file]
gnu/usr.bin/as/bignum.h [deleted file]
gnu/usr.bin/as/bit_fix.h [deleted file]
gnu/usr.bin/as/cond.c [deleted file]
gnu/usr.bin/as/config-gas.com [deleted file]
gnu/usr.bin/as/config/Makefile.hp300 [deleted file]
gnu/usr.bin/as/config/Makefile.i386 [deleted file]
gnu/usr.bin/as/config/Makefile.pc532 [deleted file]
gnu/usr.bin/as/config/Makefile.sparc [deleted file]
gnu/usr.bin/as/config/Makefile.vax [deleted file]
gnu/usr.bin/as/config/aout.h [deleted file]
gnu/usr.bin/as/config/atof-ieee.c [deleted file]
gnu/usr.bin/as/config/atof-ns32k.c [deleted file]
gnu/usr.bin/as/config/atof-tahoe.c [deleted file]
gnu/usr.bin/as/config/atof-vax.c [deleted file]
gnu/usr.bin/as/config/coff.h [deleted file]
gnu/usr.bin/as/config/cplus-dem.c [deleted file]
gnu/usr.bin/as/config/ho-ansi.h [deleted file]
gnu/usr.bin/as/config/ho-decstation.h [deleted file]
gnu/usr.bin/as/config/ho-generic.h [deleted file]
gnu/usr.bin/as/config/ho-hpux.h [deleted file]
gnu/usr.bin/as/config/ho-i386.h [deleted file]
gnu/usr.bin/as/config/ho-i386aix.h [deleted file]
gnu/usr.bin/as/config/ho-rs6000.h [deleted file]
gnu/usr.bin/as/config/ho-sun3.h [deleted file]
gnu/usr.bin/as/config/ho-sun386.h [deleted file]
gnu/usr.bin/as/config/ho-sun4.h [deleted file]
gnu/usr.bin/as/config/ho-sunos.h [deleted file]
gnu/usr.bin/as/config/ho-sysv.h [deleted file]
gnu/usr.bin/as/config/ho-vax.h [deleted file]
gnu/usr.bin/as/config/ho-vms.h [deleted file]
gnu/usr.bin/as/config/mh-i386 [deleted file]
gnu/usr.bin/as/config/mh-i386aix [deleted file]
gnu/usr.bin/as/config/mh-i386v4 [deleted file]
gnu/usr.bin/as/config/mt-ebmon29k [deleted file]
gnu/usr.bin/as/config/mt-h8300 [deleted file]
gnu/usr.bin/as/config/mt-h8300hds [deleted file]
gnu/usr.bin/as/config/mt-i386aix [deleted file]
gnu/usr.bin/as/config/mt-mips [deleted file]
gnu/usr.bin/as/config/mt-rs6000 [deleted file]
gnu/usr.bin/as/config/obj-aout.c [deleted file]
gnu/usr.bin/as/config/obj-aout.h [deleted file]
gnu/usr.bin/as/config/obj-bfd-sunos.c [deleted file]
gnu/usr.bin/as/config/obj-bfd-sunos.h [deleted file]
gnu/usr.bin/as/config/obj-bout.c [deleted file]
gnu/usr.bin/as/config/obj-bout.h [deleted file]
gnu/usr.bin/as/config/obj-coff.c [deleted file]
gnu/usr.bin/as/config/obj-coff.h [deleted file]
gnu/usr.bin/as/config/obj-coffbfd.c [deleted file]
gnu/usr.bin/as/config/obj-coffbfd.h [deleted file]
gnu/usr.bin/as/config/obj-generic.c [deleted file]
gnu/usr.bin/as/config/obj-generic.h [deleted file]
gnu/usr.bin/as/config/obj-ieee.c [deleted file]
gnu/usr.bin/as/config/obj-ieee.h [deleted file]
gnu/usr.bin/as/config/obj-vms.c [deleted file]
gnu/usr.bin/as/config/obj-vms.h [deleted file]
gnu/usr.bin/as/config/tc-a29k.c [deleted file]
gnu/usr.bin/as/config/tc-a29k.h [deleted file]
gnu/usr.bin/as/config/tc-generic.c [deleted file]
gnu/usr.bin/as/config/tc-generic.h [deleted file]
gnu/usr.bin/as/config/tc-h8300.c [deleted file]
gnu/usr.bin/as/config/tc-h8300.h [deleted file]
gnu/usr.bin/as/config/tc-i386.c [deleted file]
gnu/usr.bin/as/config/tc-i386.h [deleted file]
gnu/usr.bin/as/config/tc-i860.c [deleted file]
gnu/usr.bin/as/config/tc-i860.h [deleted file]
gnu/usr.bin/as/config/tc-i960.c [deleted file]
gnu/usr.bin/as/config/tc-i960.h [deleted file]
gnu/usr.bin/as/config/tc-m68851.h [deleted file]
gnu/usr.bin/as/config/tc-m68k.c [deleted file]
gnu/usr.bin/as/config/tc-m68k.h [deleted file]
gnu/usr.bin/as/config/tc-m68kmote.h [deleted file]
gnu/usr.bin/as/config/tc-m88k.c [deleted file]
gnu/usr.bin/as/config/tc-m88k.h [deleted file]
gnu/usr.bin/as/config/tc-mips.c [deleted file]
gnu/usr.bin/as/config/tc-mips.h [deleted file]
gnu/usr.bin/as/config/tc-ns32k.c [deleted file]
gnu/usr.bin/as/config/tc-ns32k.h [deleted file]
gnu/usr.bin/as/config/tc-rs6000.c [deleted file]
gnu/usr.bin/as/config/tc-rs6000.h [deleted file]
gnu/usr.bin/as/config/tc-sparc.c [deleted file]
gnu/usr.bin/as/config/tc-sparc.h [deleted file]
gnu/usr.bin/as/config/tc-tahoe.c [deleted file]
gnu/usr.bin/as/config/tc-tahoe.h [deleted file]
gnu/usr.bin/as/config/tc-vax.c [deleted file]
gnu/usr.bin/as/config/tc-vax.h [deleted file]
gnu/usr.bin/as/config/te-dpx2.h [deleted file]
gnu/usr.bin/as/config/te-generic.h [deleted file]
gnu/usr.bin/as/config/te-hpux.h [deleted file]
gnu/usr.bin/as/config/te-i386aix.h [deleted file]
gnu/usr.bin/as/config/te-ic960.h [deleted file]
gnu/usr.bin/as/config/te-sco386.h [deleted file]
gnu/usr.bin/as/config/te-sequent.h [deleted file]
gnu/usr.bin/as/config/te-sun3.h [deleted file]
gnu/usr.bin/as/config/te-sysv32.h [deleted file]
gnu/usr.bin/as/config/vax-inst.h [deleted file]
gnu/usr.bin/as/configdos.bat [deleted file]
gnu/usr.bin/as/configure.in [deleted file]
gnu/usr.bin/as/debug.c [deleted file]
gnu/usr.bin/as/expr.c [deleted file]
gnu/usr.bin/as/expr.h [deleted file]
gnu/usr.bin/as/flo-const.c [deleted file]
gnu/usr.bin/as/flo-copy.c [deleted file]
gnu/usr.bin/as/flonum-mult.c [deleted file]
gnu/usr.bin/as/flonum.h [deleted file]
gnu/usr.bin/as/frags.c [deleted file]
gnu/usr.bin/as/frags.h [deleted file]
gnu/usr.bin/as/gas-format.el [deleted file]
gnu/usr.bin/as/hash.c [deleted file]
gnu/usr.bin/as/hash.h [deleted file]
gnu/usr.bin/as/hex-value.c [deleted file]
gnu/usr.bin/as/input-file.c [deleted file]
gnu/usr.bin/as/input-file.h [deleted file]
gnu/usr.bin/as/input-scrub.c [deleted file]
gnu/usr.bin/as/link.cmd [deleted file]
gnu/usr.bin/as/listing.c [deleted file]
gnu/usr.bin/as/listing.h [deleted file]
gnu/usr.bin/as/make-gas.com [deleted file]
gnu/usr.bin/as/makefile.dos [deleted file]
gnu/usr.bin/as/messages.c [deleted file]
gnu/usr.bin/as/obj.h [deleted file]
gnu/usr.bin/as/obstack.c [deleted file]
gnu/usr.bin/as/obstack.h [deleted file]
gnu/usr.bin/as/opcode/ChangeLog [deleted file]
gnu/usr.bin/as/opcode/a29k.h [deleted file]
gnu/usr.bin/as/opcode/h8300.h [deleted file]
gnu/usr.bin/as/opcode/i386.h [deleted file]
gnu/usr.bin/as/opcode/i860.h [deleted file]
gnu/usr.bin/as/opcode/i960.h [deleted file]
gnu/usr.bin/as/opcode/m68k.h [deleted file]
gnu/usr.bin/as/opcode/m88k.h [deleted file]
gnu/usr.bin/as/opcode/mips.h [deleted file]
gnu/usr.bin/as/opcode/np1.h [deleted file]
gnu/usr.bin/as/opcode/ns32k.h [deleted file]
gnu/usr.bin/as/opcode/pn.h [deleted file]
gnu/usr.bin/as/opcode/pyr.h [deleted file]
gnu/usr.bin/as/opcode/sparc.h [deleted file]
gnu/usr.bin/as/opcode/tahoe.h [deleted file]
gnu/usr.bin/as/opcode/vax.h [deleted file]
gnu/usr.bin/as/output-file.c [deleted file]
gnu/usr.bin/as/output-file.h [deleted file]
gnu/usr.bin/as/read.c [deleted file]
gnu/usr.bin/as/read.h [deleted file]
gnu/usr.bin/as/struc-symbol.h [deleted file]
gnu/usr.bin/as/subsegs.c [deleted file]
gnu/usr.bin/as/subsegs.h [deleted file]
gnu/usr.bin/as/symbols.c [deleted file]
gnu/usr.bin/as/symbols.h [deleted file]
gnu/usr.bin/as/tc.h [deleted file]
gnu/usr.bin/as/testscripts/doboth [deleted file]
gnu/usr.bin/as/testscripts/doobjcmp [deleted file]
gnu/usr.bin/as/testscripts/dostriptest [deleted file]
gnu/usr.bin/as/testscripts/dotest [deleted file]
gnu/usr.bin/as/testscripts/dounsortreloc [deleted file]
gnu/usr.bin/as/testscripts/dounsortsymbols [deleted file]
gnu/usr.bin/as/version.c [deleted file]
gnu/usr.bin/as/write.c [deleted file]
gnu/usr.bin/as/write.h [deleted file]
gnu/usr.bin/as/xmalloc.c [deleted file]
gnu/usr.bin/as/xrealloc.c [deleted file]
gnu/usr.bin/ld/Makefile [deleted file]
gnu/usr.bin/ld/PORTING [deleted file]
gnu/usr.bin/ld/ld.1 [deleted file]
gnu/usr.bin/ld/ld.1aout [deleted file]
gnu/usr.bin/ld/ld.c [deleted file]
gnu/usr.bin/ld/ld.h [deleted file]
gnu/usr.bin/ld/lib.c [deleted file]
gnu/usr.bin/ld/rrs.c [deleted file]
gnu/usr.bin/ld/sparc/md-static-funcs.c [deleted file]
gnu/usr.bin/ld/sparc/md.c [deleted file]
gnu/usr.bin/ld/sparc/md.h [deleted file]
gnu/usr.bin/ld/sparc/mdprologue.S [deleted file]
gnu/usr.bin/ld/symbol.c [deleted file]
gnu/usr.bin/ld/symseg.h [deleted file]
gnu/usr.bin/ld/warnings.c [deleted file]
gnu/usr.bin/ld/xbits.c [deleted file]
libexec/rtld-aout/Makefile [deleted file]
libexec/rtld-aout/dynamic.h [deleted file]
libexec/rtld-aout/i386/md-static-funcs.c [deleted file]
libexec/rtld-aout/i386/md.c [deleted file]
libexec/rtld-aout/i386/md.h [deleted file]
libexec/rtld-aout/i386/mdprologue.S [deleted file]
libexec/rtld-aout/md-prologue.c [deleted file]
libexec/rtld-aout/rtld.1aout [deleted file]
libexec/rtld-aout/rtld.c [deleted file]
libexec/rtld-aout/shlib.c [deleted file]
libexec/rtld-aout/shlib.h [deleted file]
libexec/rtld-aout/support.c [deleted file]
libexec/rtld-aout/support.h [deleted file]
sbin/ldconfig/Makefile
sbin/ldconfig/ldconfig.8
sbin/ldconfig/ldconfig.c

index d608a5d..25ce8e1 100644 (file)
@@ -1,5 +1,5 @@
 # $FreeBSD: src/gnu/usr.bin/Makefile,v 1.51 2000/01/16 00:11:34 obrien Exp $
-# $DragonFly: src/gnu/usr.bin/Makefile,v 1.13 2004/10/27 16:34:32 joerg Exp $
+# $DragonFly: src/gnu/usr.bin/Makefile,v 1.14 2004/11/04 13:14:11 joerg Exp $
 #
 # Note that gcc2 is only built under the i386 architecture.  Other
 # architectures require gcc3.
@@ -15,8 +15,8 @@ SUBDIR+= binutils214 cc34
 .ORDER: binutils214 cc34
 
 .if ${MACHINE_ARCH} == "i386"
-SUBDIR+=binutils cc as ld
-.ORDER: binutils cc as ld
+SUBDIR+=binutils cc
+.ORDER: binutils cc
 .endif
 
 .if !defined(NOPERL) && exists(${.CURDIR}/perl)
diff --git a/gnu/usr.bin/as/CONTRIBUTORS b/gnu/usr.bin/as/CONTRIBUTORS
deleted file mode 100644 (file)
index cfcc7bc..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-(This file under construction).
-
-If you've contributed to gas and your name isn't listed here, it is
-not meant as a slight.  I just don't know about it.  Email me,
-rich@cygnus.com and I'll correct the situation.
-
-Dean Elsnor wrote the original gas for vax.
-
-Jay Fenalson maintained gas for a while.
-
-K. Richard Pixley currently maintains gas.
diff --git a/gnu/usr.bin/as/COPYING b/gnu/usr.bin/as/COPYING
deleted file mode 100644 (file)
index a43ea21..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-       Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program 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 2 of the License, or
-    (at your option) any later version.
-
-    This program 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 this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/gnu/usr.bin/as/ChangeLog b/gnu/usr.bin/as/ChangeLog
deleted file mode 100644 (file)
index db77234..0000000
+++ /dev/null
@@ -1,429 +0,0 @@
-Sun Mar  1 17:02:06 1992  K. Richard Pixley  (rich@cygnus.com)
-
-       * README: updated to 1.92.3, included mail announcement.
-
-Sat Feb 29 00:53:16 1992  K. Richard Pixley  (rich@cygnus.com)
-
-       * tc-sparc.c (md_apply_fix): relocation overflow checks.
-
-       * atof-generic.c (atof_generic): recognize 99e999 as infinity for
-         older, broken, compilers.
-
-       * version.c: bump to 1.92.3, drop "Cygnus".
-
-       * input-scrub.c (as_where): use myname (which comes from argv[0])
-         as part of all error messages.
-
-       * mess-dose renaming:
-         flonum-copy.c -> flo-copy.c 
-         flonum-const.c -> flo-const.c
-         config/a.out.gnu.h -> config/aout.h
-         config/coff.gnu.h -> config/coff.h
-
-       * Makefile.in, obj-aout.h, obj-coff.h: reflect file renaming.
-
-       * output-file.c (output_file_create): add "b" to the fopen to
-         humor mess-dos.
-
-       * configure.in: tahoe needs atof-tahoe.
-
-       * config/tc-tahoe.[hc], config/atof-tahoe.c, opcode/tahoe.h: new
-         files.  This is kinda blind cause I don't have anything to run
-         through it or compare against.
-
-       * read.c (read_a_source_file), expr.c (operand): fix a very old
-         bug in label reading exposed by m88k.  Also, m88k can't have a
-         pseudo "set".
-
-       * config/m88k.[hc]: freshen copyrights, version 2 gpl, update to
-         current gas.
-
-       * config/m88k-opcode.h moved to opcode/m88k.h
-
-       * read.c: NO_DOT_PSEUDOS from hacks unfinished work.
-
-       * opcode/m68k.h: Sun's JFcc aliases appear to be variable length.
-         Make them so.
-
-       * opcode/a29k.h: remove rcsid.
-
-       * config/te-sun3.h: remove semicolon typo.
-
-       * config/obj-vms.c: another patch from eric youngdale.
-
-       * write.c: white space only.
-
-       * config/tc-i960.c: change from intel for header flags.
-
-       * config/te-sequent.h, config/obj-aout.h: first cut at building
-         sequent headers.
-
-       * config/tc-ns32k.c: patches from Jyrki Kuoppala <jkp@cs.hut.fi>.
-
-       * struct-symbol.h: removed redundant decl of N_TYPE_seg.
-
-       * config/tc-sparc.c (sparc_ip), opcode/sparc.h: changes from chris
-         torek to correct a problem with "neg".  some white space.
-
-       * confic/tc-m68k.c: a fix pulled from hack's unfinished work and
-         my mail archives.  Try again to get pcrel working.  Fix stupid
-         botch on cpu_type comparison.
-
-       * config/tc-sparc.c: .empty pseudo-op from
-         gordoni@cs.adelaide.edu.au.
-
-       * opcode/sparc.h: some new aliases from chris torek.
-
-       * opcode/i386.h: some new aliases and opcodes.  also patches from
-         Steve Bleazard <steve@robobar.co.uk>.
-
-       * config/te-hpux.h: new file.
-
-       * configure.in: when targetting hpux, use te-hpux.h.
-
-       * config/obj-aout.c (obj-pre-write-hook), config/obj-bout.[ch]
-         (obj-pre-write-hook), config/obj-coff.[ch] (obj-pre-write-hook),
-         config/obj-generic.h, config/obj-vms.h, write.c
-         (write_object_file): move magic number fiddling out of write.c
-         and into obj-pre-write-hook.
-
-       * config/tc-i860.c: gcc -Wall cleanup.
-
-Fri Feb 28 00:30:36 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
-
-       * configure.in: if target is sun3, use te-sun3.h.
-
-       * config/tc-m68k.h, config/te-sun3.h: moved #define of
-         default_magic_number_for_object_file from former to latter.
-
-       * config/te-sun3.h: removed sun_asm_syntax and te_sun3, they
-         aren't used.
-
-       * all: white space changes.
-         " -> " becomes "->"
-         "foo [" becomes "foo["
-         "a . b" becomes "a.b"
-         "\(if\|for\|while\|switch\)(" become "\\1("
-         "\\([^\n]\\)[ \t]*\\([=!+-*/<>]\\)=[ \t]*" become "\\1 \\2= "
-
-       * read.c, write.c, config/tc-i386.c: white space and comments
-         only.
-
-       * config/obj-vms.c: convert PUT_LONG and PUT_SHORT to squirt byte
-         swapped numbers.
-
-       * as.c, flonum-const.c, hex-value.c, input-file.c, version.c,
-         config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
-
-       * config/ho-vms.h: added HO_VMS.
-
-Thu Feb 27 18:25:11 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
-
-       * config/ChangeLog: removed.  entries merged into this file.
-
-       * config/ho-vms.h: new file.  Move the VMS stuff out of ho-vax.h
-         into ho-vms.h.
-
-       * configure.in: use ho-i386v4 for i386-sysvr4.
-
-       * config/ho-i386v4: new file.
-
-Tue Feb 25 19:54:04 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
-
-       * config/obj-vms.c (VMS_write_object_file): Add work-around
-         for g++ compiler bug involving external vtables.
-
-Mon Feb 24 22:19:10 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
-
-       * README-vms: Describe how to get a VMS obj file to a vms machine 
-       via NFS.
-
-       * configure.in: For i386-sysv*, use gas_host=i386.
-
-       * Makefile.in: Remove continuation line markers when the next line 
-       is blank.
-
-       * read.c (line_comment_chars): Make external.
-
-       * input-file.c: Remove redundant include of <assert.h>.
-
-       * config/ho-vax.h [VMS]: Include <ctype.h> and <perror.h>.
-
-       * config/obj-vms.h: Remove said includes.  Add RELOC_32 to
-       reloc_type to prevent compilation error.
-
-       * config/obj-vms.c: Change bcopy to memcpy throughout.
-         (VMS_local_stab_Parse): Fix typo.
-         (VMS_local_stab_Parse, VMS_RSYM_Parse, Define_Local_Symbols, 
-          Define_Routine, VMS_write_object_file): Allow 'f' for functions
-          as well as 'F'.
-
-Mon Feb 24 03:48:04 1992  K. Richard Pixley  (rich@cygnus.com)
-
-       * README: updated to reflect current testing status.
-
-       * README.rich, NOTES, NOTES.config: updated slightly, marked as
-         "under construction".
-
-       * CONTRIBUTORS: new file.
-
-       * README-vms: options to configure are now -options=, not
-         +options=.
-
-       * version.c: bumped version to 1.92.2.
-
-Mon Feb 24 03:27:00 1992  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
-
-       * config.sub: Added vms as a target system. (So people do not
-         have to try to figure out that "vax-dec-vms" would work).
-
-       * configure.in: Added vms as a target os, and object file format.
-         (Useless on a vms system, but this is for people who want to
-         cross assemble).
-
-       * config-gas.com: New file.  Script for VMS systems to set up the
-         configuration to build gas for VMS, and create config.status.
-
-       * make-gas.com: Redone to work with the bfd-gas scheme.
-
-       * as.c: Add const modifier to version_string.
-
-       * atof-vax.c: Remove redundant include of flonum.h.  (This is also
-         included via as.h).
-
-       * expr.c: Add "const" modifier to hex_value.
-
-       * read.c: Add "const" modifier to line_comment_chars, and 
-         line_separator_chars.  Make use of the -1 switch for backward
-         compatibility with gcc 1.nn.
-         (s_ignore): remove redundant declaration of is_end_of_line.
-
-       * symbols.c: Finish conversion to S_* macros in the VMS only
-         parts of the program.  Add "const" modifier to
-         md_[long,short]_jump_size. Remove declaration of const_flag
-         (which will be declared in obj-vms.h).
-
-       * write.c: Add "const" modifier to md_[long,short]_jump_size.
-         Fix arguments to VMS_write_object_file.
-
-       * obj-vms.h: New file (sort of). Mostly canibalized from other
-         files, using:
-
-         - objrecdef.h: Removed structure definition that we do not use,
-           and removed dollar signs from identifiers, since Unix System 5
-           does not like them.
-
-         - obj-aout.h:  Took S_*, some H_* macros, and a number of
-           symbol definitions.
-
-         - a.out.hp.h:  Took nlist structure.  We do not really use this
-           per se, but it is easiest to let gas think that we do.  When we
-           write the object file, we just pick out the parts that we need.
-
-         - stab.h: Just included it, since on non VMS and non a.out systems
-           we have no guarantee of having it. (Define N_* symbols).
-
-       *obj-vms.c: Renamed from vms.c.  Did the following:
-
-         - Reworked to use the S_* macros.
-
-         - Add "const" modifier to version_string.
-
-         - Added global[ref,def,value] support
-
-         - (VMS_Store_PIC_Symbol_Reference):fix a bug with static constants.
-
-         - Remove a few redunant includes - all are now included through as.h.
-
-         - (obj_crawl_symbol_chain): Clean up (a lot), and remove non-VMS
-           code.  Add definition for obj_read_begin_hook.
-
-         - Borrow the stab[s,d,n] routines from obj-aout.c.  
-
-         - Borrow the seg_N_TYPE and N_TYPE_seg arrays from aout.c
-
-         - Use <fab.h>,<rab.h> and <xab.h> instead of <vms/fabdef.h>
-           <vms/rabdef.h> and <vms/xabdef.h>, for more consistent results.
-           (Some peoples <vms/*.h> files are different than others).
-
-         - Merged vms-dbg.c into obj-vms.c.  Modified to use 
-           the S_* macros.  Added code to remove the psect hack from
-           variable names before writing them to the debugger records.
-
-
-
-         The following patches make cross assembly possible.
-
-       * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
-         "ifdef OBJ_VMS".
-
-       * vms.c:
-
-         - Wrap the #include of some VMS system dependent headers
-           with "ifdef VMS".
-
-         - (get_VMS_time_on_unix): Add new routine.  Generates current
-           time in VMS format to be written into object file.
-
-         - (Write_VMS_MHD_Records): Use get_VMS_time_on_unix if we are not
-           running on a VMS system.
-
-         - (Flush_VMS_Object_Record_Buffer): Add code to write correct
-           record format when running on a non-VMS system.
-
-         - (Create_VMS_Object_File): Use different mode if running under
-           unix.
-
-         - (VMS_TBT_Source_File): If we are not running on a VMS system,
-           write a source file record for the debugger that looks reasonable.
-
-Mon Feb 24 02:06:00 1992  K. Richard Pixley  (rich@cygnus.com)
-
-       * Makefile.in: remove $(srcdir)/../include from INCLUDES.  It
-         isn't needed.
-
-       * README: updated with current state.
-
-       * read.c (stringer): read arbitrary expressions between the commas
-         and treat them as ".byte" values.  At least some i860 assembler
-         does this so now we do too.  Also white space throughout.
-
-       * expr.c, expr.h, frags.c, symbols.c, write.c: white space only.
-
-Mon Feb 24 01:45:40 1992  K. Richard Pixley  (rich@cygnus.com)
-
-       * config/te-sequent.h, config/tc-ns32k.h, config/tc-ns32k.c:
-         SEQUENT_COMPATIBILITY -> TE_SEQUENT.
-
-       * config/obj-aout.c: if OLD_GAS and i386, then screw up the magic
-         number.
-
-       * config/obj-bout.c: do not include aout/stab_gnu.h if NO_LISTING.
-
-       * config/obj-bout.h: added enum reloc_type.
-
-       * config/tc-i386.c: on OLD_GAS, .align is power of two, rather
-         than bytes.
-
-       * config/tc-i386.h: on OLD_GAS, the filler byte should be zero
-         rather than NOOP.
-
-       * config/tc-i860.c: relocs are 12bytes on this target.  Also white
-         space.
-
-       * config/tc-m68kmote.c: removed.  Not ready yet.
-
-       * config/a.out.gnu.h, config/tc-a29k.c, config/tc-m68k.c,
-         config/tc-ns32k.c: white space only.
-
-       * config/tc-a29k.h, config/tc-i860.h, config/tc-i960.h,
-         config/tc-m68k.h, config/tc-ns32k.h, config/tc-sparc.h,
-         config/tc-vax.h: NO_LISTING
-
-       * config/tc-m68k.h, config/tc-i860.h, config/tc-vax.h:
-         REVERSE_SORT_RELOCS if OLD_GAS.
-
-       * config/mt-m68k: removed.  not needed.
-
-Fri Feb 21 06:22:15 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
-
-       * config/obj-aout.c: do not include stab.gnu.h if NO_LISTING.
-
-       * config/tc-i860.c, config/a.out.gnu.h: move i860 relocs to a proper place.
-
-       * config/a.out.h: removed.
-
-Fri Feb 21 06:21:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
-
-       * Makefile.in: put header files before C source for TAGS; remove
-         references to non-existent syscalls.h.
-
-       * read.c, write.c subsegs.c: back out the .bss changes.
-
-Fri Feb 21 02:17:22 1992  Minh Tran-Le (TRANLE@INTELLICORP.COM)
-
-       * config/tc-i386.c: config/tc-i386.c: added handling of the
-         following opcodes: i/o opcodes - inb, inw, outb and outw.
-         string manipulation with att syntax - scmp, slod, smov, ssca,
-         ssto.
-
-Fri Feb 21 01:53:50 1992  Minh Tran-Le (TRANLE@INTELLICORP.COM)
-
-       * config/obj-coff.c: (for aix386) Moved the symbols .text, .data
-         and .bss to just after .file .
-
-         In obj_crawl_symbol_chain() where it tries to put the external
-         symbols apart, with the condition:
-           (!S_IS_DEFINED(symbolP) &&
-            !S_IS_DEBUG(symbolP) &&
-            !SF_GET_STATICS(symbolP))
-         it was moving too many symbols out. So I switch it back to the
-         condition:
-           (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
-
-         In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
-         so that we don't use the F_RELFLG which make the linker complain
-         that somebody has stripped the relocation info.
-
-         Also, the AIX ld program require that the relocation table
-         is sorted by r_vaddr like the standard ATT assembler does.
-
-         [he also changed the sizeof(struct ...)'s into the coff
-         style FOOSZ macros.  I'm not sure this is right, but I can't
-         remember why.  xoxorich.]
-
-Fri Feb 21 01:08:48 1992  Minh Tran-Le (TRANLE@INTELLICORP.COM)
-
-       * symbols.c (local_label_name): symbols now start with ^A.
-
-       * read.c, subsegs.c, write.c obj-coff.c: added handling of
-         `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
-         generate these sections.  .align: will use NOP_OPCODE or 0
-         for padding. This is just for being nice to the
-         disassembler.
-
-       * expr.c (operand): changed to generate local label "\001L0"
-         starting with a ^A so that it is recognized as a local label.
-
-       * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
-
-Fri Feb 21 01:08:48 1992  K. Richard Pixley  (rich@cygnus.com)
-
-       * Makefile.in, configure.in, doc: use the doc.  Build it, install
-         it, clean it, etc.
-
-Tue Feb 18 02:21:25 1992  K. Richard Pixley  (rich at cygnus.com)
-
-       * read.c: white space and comments only.
-
-       * configure.in: use the new atof-ns32.c for ns32k.
-
-       * write.c: comment change only.
-
-Tue Feb 18 02:11:10 1992  K. Richard Pixley  (rich at cygnus.com)
-
-       * config/tc-m88k.[hc]: pulled in from hack's unfinished work.  These
-         aren't yet integrated.
-
-       * config/tc-i860.[hc]: blew off the dust.  Something must still be
-         done about conflicting relocation types.
-
-       * config/tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub
-         with the real thing.
-
-       * config/tc-i960.c, tc-sparc.c: white space and comments only.
-
-       * config/tc-a29k.h: delete duplicate macro definition.
-
-       * new file config/atof-ns32k.c copied from hack's last unreleased
-         gas.
-
-Mon Feb 17 07:51:06 1992  K. Richard Pixley  (rich at cygnus.com)
-
-       * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
-         rather than abort.
-                                      
-       * nearly everything.  flush ChangeLog, package as gas-1.92.1.
-         ChangeLog's prior to this are sketchy at best.  I have logs.
-         They just aren't ChangeLogs.
-
diff --git a/gnu/usr.bin/as/Makefile b/gnu/usr.bin/as/Makefile
deleted file mode 100644 (file)
index 79ab5b1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#      from: @(#)Makefile      6.1 (Berkeley) 3/3/91
-# $FreeBSD: src/gnu/usr.bin/as/Makefile,v 1.18.2.1 2001/04/25 12:03:26 ru Exp $
-# $DragonFly: src/gnu/usr.bin/as/Attic/Makefile,v 1.4 2004/01/28 16:41:17 joerg Exp $
-
-.include "config/Makefile.$(MACHINE_ARCH)"
-
-.if !defined (gas_hosttype)
-gas_hosttype=$(MACHINE_ARCH)
-.endif
-.if !defined (gas_target)
-gas_target=$(MACHINE_ARCH)
-.endif
-.if !defined (gas_objformat)
-gas_objformat=aout
-.endif
-
-ADDINCLUDE=-I${.OBJDIR}
-
-PROG=          as
-BINDIR=        /usr/libexec/binutils212/aout
-MAN=           as.1aout
-SRCS+=         app.c as.c atof-generic.c bignum-copy.c \
-               cond.c expr.c flo-const.c flo-copy.c flonum-mult.c \
-               frags.c hash.c hex-value.c input-file.c input-scrub.c \
-               listing.c messages.c obstack.c output-file.c read.c subsegs.c \
-               symbols.c version.c write.c xmalloc.c xrealloc.c \
-               obj-$(gas_objformat).c ${CONF_HEADERS}
-CFLAGS+=       -I$(.CURDIR) ${ADDINCLUDE} -I$(.CURDIR)/config \
-               -DOLD_GAS -DSIGTY=void -Derror=as_fatal \
-               -DSUB_SEGMENT_ALIGN=4 -DFREEBSD_AOUT
-
-CONF_HEADERS=  targ-cpu.h obj-format.h host.h targ-env.h
-
-.PATH: $(.CURDIR)/config
-
-targ-cpu.h: Makefile config/Makefile.$(MACHINE_ARCH) $(.CURDIR)/config/tc-$(gas_target).h
-       @cmp -s $(.CURDIR)/config/tc-$(gas_target).h targ-cpu.h || \
-           ( ${ECHO} "updating ${.TARGET}..." ; /bin/rm -f targ-cpu.h ; \
-           cp $(.CURDIR)/config/tc-$(gas_target).h targ-cpu.h )
-
-obj-format.h: Makefile config/Makefile.$(MACHINE_ARCH) $(.CURDIR)/config/obj-$(gas_objformat).h
-       @cmp -s $(.CURDIR)/config/obj-$(gas_objformat).h obj-format.h || \
-           ( ${ECHO} "updating ${.TARGET}..." ; /bin/rm -f obj-format.h ; \
-           cp $(.CURDIR)/config/obj-$(gas_objformat).h obj-format.h )
-
-.if exists ($(.CURDIR)/config/ho-$(gas_hosttype).h)
-config_hostfile=       $(.CURDIR)/config/ho-$(gas_hosttype).h
-.else
-config_hostfile=       $(.CURDIR)/config/ho-generic.h
-.endif
-
-host.h: Makefile config/Makefile.$(MACHINE_ARCH) $(config_hostfile)
-       @cmp -s $(config_hostfile) host.h || \
-           ( ${ECHO} "updating ${.TARGET}..." ; /bin/rm -f host.h ; \
-           cp $(config_hostfile) host.h )
-
-.if exists ($(.CURDIR)/config/te-$(MACHINE_ARCH).h)
-config_targenvfile=    $(.CURDIR)/config/te-$(MACHINE_ARCH).h
-.else
-config_targenvfile=    $(.CURDIR)/config/te-generic.h
-.endif
-
-targ-env.h: Makefile config/Makefile.$(MACHINE_ARCH) $(config_targenvfile)
-       @cmp -s $(config_targenvfile) targ-env.h || \
-           ( ${ECHO} "updating ${.TARGET}..." ; /bin/rm -f targ-env.h ; \
-           cp $(config_targenvfile) targ-env.h )
-
-CLEANFILES+= ${CONF_HEADERS}
-
-.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/as/Makefile.in b/gnu/usr.bin/as/Makefile.in
deleted file mode 100644 (file)
index 944d434..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-# $FreeBSD: src/gnu/usr.bin/as/Makefile.in,v 1.6 1999/08/27 23:34:10 peter Exp $
-# $DragonFly: src/gnu/usr.bin/as/Attic/Makefile.in,v 1.2 2003/06/17 04:25:44 dillon Exp $
-
-# Makefile for GNU Assembler
-#   Copyright (C) 1987-1992 Free Software Foundation, Inc.
-
-#This file is part of GNU GAS.
-
-#GNU 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 2, or (at your option)
-#any later version.
-
-#GNU 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 GNU GAS; see the file COPYING.  If not, write to
-#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# The targets for external use include:
-# all, doc, proto, install, uninstall, includes, TAGS,
-# clean, cleanconfig, realclean, stage1, stage2, stage3, stage4.
-
-# Variables that exist for you to override.
-# See below for how to change them for certain systems.
-
-srcdir = .
-
-prefix = /usr/local
-
-bindir = $(prefix)/bin
-datadir = $(prefix)/lib
-libdir = $(prefix)/lib
-mandir = $(datadir)/man
-man1dir = $(mandir)/man1
-man2dir = $(mandir)/man2
-man3dir = $(mandir)/man3
-man4dir = $(mandir)/man4
-man5dir = $(mandir)/man5
-man6dir = $(mandir)/man6
-man7dir = $(mandir)/man7
-man8dir = $(mandir)/man8
-man9dir = $(mandir)/man9
-infodir = $(datadir)/info
-includedir = $(prefix)/include
-docdir = $(datadir)/doc
-
-SHELL = /bin/sh
-
-INSTALL = install -c
-INSTALL_PROGRAM = $(INSTALL)
-INSTALL_DATA = $(INSTALL)
-
-AR = ar
-AR_FLAGS = qv
-BISON = bison
-MAKEINFO = makeinfo
-RANLIB = ranlib
-MINUS_G = -g
-
-# Lists of files for various purposes.
-
-REAL_SOURCES = \
-       $(srcdir)/app.c \
-       $(srcdir)/as.c \
-       $(srcdir)/atof-generic.c \
-       $(srcdir)/bignum-copy.c \
-       $(srcdir)/cond.c \
-       $(srcdir)/expr.c \
-       $(srcdir)/flo-const.c \
-       $(srcdir)/flo-copy.c \
-       $(srcdir)/flonum-mult.c \
-       $(srcdir)/frags.c \
-       $(srcdir)/hash.c \
-       $(srcdir)/hex-value.c \
-       $(srcdir)/input-file.c \
-       $(srcdir)/input-scrub.c \
-       $(srcdir)/messages.c \
-       $(srcdir)/obstack.c \
-       $(srcdir)/output-file.c \
-       $(srcdir)/read.c \
-       $(srcdir)/strerror.c \
-       $(srcdir)/strstr.c \
-       $(srcdir)/subsegs.c \
-       $(srcdir)/symbols.c \
-       $(srcdir)/version.c \
-       $(srcdir)/write.c \
-       $(srcdir)/listing.c \
-       $(srcdir)/xmalloc.c \
-       $(srcdir)/xrealloc.c
-
-# in an expedient order
-LINKED_SOURCES = \
-       targ-cpu.c \
-       obj-format.c \
-       atof-targ.c
-
-SOURCES = $(LINKED_SOURCES) $(REAL_SOURCES)
-
-REAL_HEADERS = \
-       $(srcdir)/as.h \
-       $(srcdir)/bignum.h \
-       $(srcdir)/expr.h \
-       $(srcdir)/flonum.h \
-       $(srcdir)/frags.h \
-       $(srcdir)/hash.h \
-       $(srcdir)/input-file.h \
-       $(srcdir)/listing.h \
-       $(srcdir)/tc.h \
-       $(srcdir)/obj.h \
-       $(srcdir)/obstack.h \
-       $(srcdir)/read.h \
-       $(srcdir)/struc-symbol.h \
-       $(srcdir)/subsegs.h \
-       $(srcdir)/symbols.h \
-       $(srcdir)/write.h
-
-LINKED_HEADERS = \
-       a.out.gnu.h \
-       a.out.h \
-       host.h \
-       targ-env.h \
-       targ-cpu.h \
-       obj-format.h \
-       atof-targ.h
-
-HEADERS = $(LINKED_HEADERS) $(REAL_HEADERS)
-
-OBJS = \
-       targ-cpu.o \
-       obj-format.o \
-       atof-targ.o \
-       app.o \
-       as.o \
-       atof-generic.o \
-       bignum-copy.o \
-       cond.o \
-       expr.o \
-       flo-const.o \
-       flo-copy.o \
-       flonum-mult.o \
-       frags.o \
-       hash.o \
-       hex-value.o \
-       input-file.o \
-       input-scrub.o \
-       messages.o \
-       obstack.o \
-       output-file.o \
-       read.o \
-       strerror.o \
-       strstr.o \
-       subsegs.o \
-       symbols.o \
-       version.o \
-       write.o \
-       listing.o \
-       xmalloc.o \
-       xrealloc.o
-
-#### host, target, and site specific Makefile frags come in here.
-
-all: as.new
-       (cd doc ; $(MAKE) all)
-
-info:
-       (cd doc ; $(MAKE) info)
-
-install-info:
-       (cd doc ; $(MAKE) install-info)
-
-clean-info:
-       (cd doc ; $(MAKE) clean-info)
-
-# Now figure out from those variables how to compile and link.
-
-# This is the variable actually used when we compile.
-ALL_CFLAGS = $(MINUS_G) $(INTERNAL_CFLAGS) $(CFLAGS) $(HDEFINES) $(TDEFINES) -DPIC -DOLD_GAS
-
-# How to link with both our special library facilities
-# and the system's installed libraries.
-
-LIBS = $(HLIBS)
-
-# Specify the directories to be searched for header files.
-# Both . and srcdir are used, in that order,
-# so that tm.h and config.h will be found in the compilation
-# subdirectory rather than in the source directory.
-INCLUDES = -I. -I$(srcdir) -I$(srcdir)/config # -I$(srcdir)/../include
-SUBDIR_INCLUDES = -I.. -I$(srcdir) -I$(srcdir)/config
-
-# Always use -I$(srcdir)/config when compiling.
-.c.o:
-       $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $<
-
-# This tells GNU make version 3 not to export all the variables
-# defined in this file into the environment.
-.NOEXPORT:
-
-# Files to be copied away after each stage in building.
-STAGESTUFF = *.o as.new
-
-as.new: $(OBJS) $(LIBDEPS)
-       -mv -f as.new as.old
-       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o as.new $(OBJS) $(LIBS)
-
-config.status:
-       @echo You must configure gas.  Look at the INSTALL file for details.
-       @false
-
-# Compiling object files from source files.
-
-app.o : app.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-as.o : as.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-atof-generic.o : atof-generic.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-bignum-copy.o : bignum-copy.c as.h host.h \
-  targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-cond.o : cond.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-
-debug.o : debug.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-  subsegs.h
-expr.o : expr.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-
-flo-const.o : flo-const.c flonum.h bignum.h
-flo-copy.o : flo-copy.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-flonum-mult.o : flonum-mult.c flonum.h bignum.h
-frags.o : frags.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-  subsegs.h
-hash.o : hash.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-hex-value.o : hex-value.c
-input-file.o : input-file.c as.h host.h \
-   targ-env.h obj-format.h targ-cpu.h \
-   struc-symbol.h write.h flonum.h bignum.h expr.h \
-  frags.h hash.h read.h symbols.h tc.h obj.h input-file.h
-input-scrub.o : input-scrub.c /usr/include/errno.h /usr/include/sys/errno.h \
-  as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-  input-file.h
-listing.o : listing.c as.h host.h targ-env.h flonum.h bignum.h \
-  listing.h obj-format.h targ-cpu.h struc-symbol.h write.h expr.h \
-  frags.h hash.h read.h symbols.h tc.h obj.h input-file.h
-messages.o : messages.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-obstack.o : obstack.c
-output-file.o : output-file.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-  output-file.h
-read.o : read.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
-
-strstr.o : strstr.c
-subsegs.o : subsegs.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-  subsegs.h
-symbols.o : symbols.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-   subsegs.h
-version.o : version.c
-write.o : write.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h  struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
-  subsegs.h  output-file.h
-xmalloc.o : xmalloc.c
-xrealloc.o : xrealloc.c
-atof-targ.o : atof-targ.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h \
-  symbols.h tc.h obj.h
-obj-format.o : obj-format.c as.h host.h targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h \
-  symbols.h tc.h obj.h
-targ-cpu.o : targ-cpu.c targ-env.h obj-format.h \
-  targ-cpu.h struc-symbol.h \
-  write.h flonum.h bignum.h expr.h frags.h hash.h read.h \
-  symbols.h tc.h obj.h $(TARG_CPU_DEPENDENTS)
-
-# Remake the info files.
-
-doc: $(srcdir)/as.info
-
-$(srcdir)/as.info: $(srcdir)/doc/as.texinfo
-       (cd doc; make as.info; mv -f as.info $srcdir)
-
-clean:
-       (cd doc ; $(MAKE) clean)
-       -rm -f $(STAGESTUFF) core
-
-# Like clean but also delete the links made to configure gas.
-distclean: clean
-       -rm -f config.status Makefile host.h targ-env.h targ-cpu.h \
-               targ-cpu.c obj-format.h obj-format.c atof-targ.c \
-               gas.aux gas.cps gas.fns gas.info gas.kys gas.pgs \
-               gas.tps gas.vrs TAGS gas.info* gas.?? gas.??s gas.log \
-               gas.toc gas.*aux *.dvi
-
-# Entry points `install', `includes' and `uninstall'.
-
-# Copy the files into directories where they will be run.
-install:
-       if [ "$(host_alias)" = "$(target_alias)" ] ; then \
-               $(INSTALL_PROGRAM) as.new $(bindir)/as ; \
-       else \
-               $(INSTALL_PROGRAM) as.new $(bindir)/as-$(target_alias) ; \
-       fi
-
-# Create the installation directory.
-install-dir:
-       -mkdir $(libdir)
-       -mkdir $(libdir)/gcc
-       -mkdir $(libdir)/gcc/$(target)
-       -mkdir $(libdir)/gcc/$(target)/$(version)
-
-# Cancel installation by deleting the installed files.
-uninstall:
-       -rm -rf $(libsubdir)
-       -rm -rf $(bindir)/as
-       -rm -rf $(mandir)/gas.$(manext)
-
-
-# These exist for maintenance purposes.
-
-tags TAGS: force
-       etags $(REAL_HEADERS) $(REAL_SOURCES) $(srcdir)/config/*.[hc] $(srcdir)/README $(srcdir)/Makefile.in
-
-bootstrap: as.new force
-       $(MAKE) stage1
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage1/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new
-       $(MAKE) stage2
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new
-       $(MAKE) comparison against=stage2
-
-bootstrap2: force
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage1/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new
-       $(MAKE) stage2
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new
-       $(MAKE) comparison against=stage2
-
-bootstrap3: force
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new
-       $(MAKE) comparison against=stage2
-
-# Copy the object files from a particular stage into a subdirectory.
-stage1: force
-       -mkdir stage1
-       -mv -f $(STAGESTUFF) stage1
-       if [ -f stage1/as.new -a ! -f stage1/as ] ; then (cd stage1 ; ln -s as.new as) ; fi
-
-stage2: force
-       -mkdir stage2
-       -mv -f $(STAGESTUFF) stage2
-       if [ -f stage2/as.new -a ! -f stage2/as ] ; then (cd stage2 ; ln -s as.new as) ; fi
-
-stage3: force
-       -mkdir stage3
-       -mv -f $(STAGESTUFF) stage3
-       if [ -f stage3/as.new -a ! -f stage3/as ] ; then (cd stage3 ; ln -s as.new as) ; fi
-
-against=stage2
-
-comparison: force
-       for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done
-
-de-stage1: force
-       - (cd stage1 ; rm -f as ; mv -f * ..)
-       - rmdir stage1
-
-de-stage2: force
-       - (cd stage2 ; rm -f as ; mv -f * ..)
-       - rmdir stage2
-
-de-stage3: force
-       - (cd stage3 ; rm -f as ; mv -f * ..)
-       - rmdir stage3
-
-#In GNU Make, ignore whether `stage*' exists.
-.PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap
-
-force:
-
-Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
-       $(SHELL) ./config.status
-
diff --git a/gnu/usr.bin/as/NOTES b/gnu/usr.bin/as/NOTES
deleted file mode 100644 (file)
index 9f18fac..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-to do:
-
-remove DONTDEF
-remove the ifdef's from fx_callj tests?
-what are callj tests?
-space tighten sparc alignment.
-fix number_to_chars, & family to have no side effects.
-md_ => tp_
-multiple segments.
-share b.out with a.out.
-
-regress:
-
-+-inf
-
-stack:
diff --git a/gnu/usr.bin/as/NOTES.config b/gnu/usr.bin/as/NOTES.config
deleted file mode 100644 (file)
index a511519..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-(This file under construction).
-
-
-                     The GAS Configuration Plan
-
-Theory:
-
-The goal of the new configuration scheme is to bury all object format,
-target processor, and host machine dependancies in object, target, and
-host specific files.  That is, to move as many #ifdef's as possible
-out of the gas common code.
-
-Here's how it works.  There is a .h and a .c file for each object file
-format, a .h and a .c file for each target processor, and a .h for
-each host.  configure creates {sym}links in the current directory to
-the appropriate files in the config directory.
-
-Implementation:
-
-host.h is a {sym}link to .../config/ho-yourhost.h.  It is intended to
-be used to hide host compiler, system header file, and system library
-differences between host machines.  If your host needs actual c source
-files, then either: these are generally useful functions, in which
-case you should probably build a local library outside of the gas
-source tree, or someone, perhaps me, is confused about what is needed
-by different hosts.
-
-obj-format.h is a {sym}link to .../config/obj-something.h.  It is
-intended to hide object file format differences from the bulk of gas,
-and from most of the cpu backend.
-
-All gas .c files include as.h.
-
-as.h #define's "gas", includes host.h, defines a number of gas
-specific structures and types, and then includes tp.h, obj.h, and
-target-environment.h.
-
-te-something.h defines a target environment specific preprocessor
-flag, eg, TE_SUN, and then includes obj-format.h.
-
-obj-format.h defines an object format specific preprocessor flag, eg,
-OBJ_AOUT, OBJ_BOUT, OBJ_COFF, includes "target-processor.h", and then
-defines the object specific macros, functions, types, and structures.
-
-target-processor.h 
-
-target-processor.
-
-Porting:
-
-There appear to be four major types of ports; new hosts, new target
-processors, new object file formats, and new target environments.
diff --git a/gnu/usr.bin/as/README b/gnu/usr.bin/as/README
deleted file mode 100644 (file)
index 73b7605..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-This is a pre-alpha version of the GNU assembler, version 1.92.3.
-
-(this is a copy of the mail announcement.  Real README follows below.)
-
-This session I merged the m88k support.  It configures, builds, and
-assembles things, including some gcc2 output.  I have no way of
-knowing if the output is right.
-
-I've merged the tahoe support.  It configures and builds.  I couldn't
-build the cygnus version of gcc2 for this machine, so I have no idea
-whether gas is assembling anything at all for it.
-
-I've walked through my bug and patch archives.  Gas now makes a
-tolerable guess at a.out headers for hpux and sequent, although I have
-no way to know if these are right yet.
-
-Ming tran-le's changes for 386aix will probably drop out soon.  He
-needs multiple segments and I don't plan to get that in before the
-real release.
-
-Eric youngdale's help with vms has been invaluable.  According to him,
-this gas is doing vms.  I didn't quite get a cross to vms working and
-don't plan to spend any more time on it.
-
-The gas manual is included in the distribution, configuration, and
-Makefiles.  It should build, be printable, and readable through info.
-
-I have not yet verified that this gas has all of the unreleased
-changes that hack made after the last gas release.  At this point I
-plan to ignore these until those bugs are re-reported in an alpha or
-full release I don't think it's worth my time.
-
-I have not yet verified any hosts other than sun4, although I have
-three-staged sun3 native.
-
-I have not updated the configuration doc.
-
-I do not plan to bring in any new backends for the upcoming release
-unless someone hands them to me on a platter as eric did for vms.  I
-merged the m88k and tahoe ports because they were simple for me at
-this point, but would have been difficult for someone else.  I may yet
-do this for the ncube support as well.
-
-I've looked at the osf stuff and discarded it for this release.  I'm
-not sure I like what they've done for macho object format and without
-macho headers, I can't even build their version.
-
-I've looked at the utah stuff and discarded it for this release.
-They, too, have made some sweeping changes to support their object
-format that I'm not sure were necessary.  In any case, merging this
-would be too much work for me right now.
-
-I've looked at the tron port.  It's remarkably clean and it's a.out
-format.  I don't plan to merge this for the full release for two
-reasons.  First, it's so clean, they will be able to add their stuff
-on top and build a seperate distribution without much trouble.
-Second, I'm get responses from them, and hope that they will be able
-to do the merge.
-
-
-To do before alpha:
-
-* merge patches and address bugs as they arrive.
-
-* kill a remaining bug.  The following input:
-
-       .text
-a      .word   3
-b      .word   4
-c      .half   b-a
-
-kills most risc ports.  I believe that this represents a failing of
-the internal representation of relocs (aka fixS's). The fix is
-relatively straightforward and I intend to make it.
-
-* add autoconf style configuration for hosts (not targets).
-
-* test via three-staging (preferably with gcc2) on all a.out based
-  machines to which I have access.
-
-* update/clean out README's and build a brief porting guide.
-
-There is still a copyright issue on the coff back end, so it may need
-to be pulled for the full release.  If this gets resolved, I hope to
-see coff run personally on at least one native machine before full
-release.
-
-
-Real README:
-
-This is a pre-alpha version of the GNU assembler, version 1.92.3.
-
-A number of things have changed and the wonderful world of gas looks
-very different.  There's still a lot of irrelevant garbage lying
-around that will be cleaned up soon.  The gas manual now builds and
-installs, but internal documentation is still scarce, as are logs of
-the changes made since the last gas release.  My apologies, and I'll
-try to get something useful
-
-At this point I believe gas to be ansi only code for most target
-cpu's.  That is, there should be relatively few, if any host system
-dependencies.  Most of my recent effort has been spent testing and
-dusting off ports for which Cygnus hasn't had recent need.
-
-Hosting has recently been tested on only:
-
-       sun4
-       sun3
-
-I believe that gas can currently be targetted for:
-
-       sun4
-       sun3
-
-and "ports" for other cpu's and object file formats from the following
-set are probably trivial at this point:
-
-       a.out
-
-       a29k
-       i386
-       i860
-       i960
-       m68k
-       m88k
-       ns32k
-       tahoe
-       sparc
-       vax
-
-I have tested most of these in "generic" a.out configurations so I
-feel pretty confident in them.  If anything else works, it's an
-accident.
-
-Some ports now generate object files that are somewhat differently
-shaped, but should be more correct.  Specifically:
-
-* Most a.out ports now sort the relocation table in numerically
-  ascending order.  In previous versions of gas, the relocation table
-  was sorted in descending order.  To get the previous functionality,
-  compile with -DREVERSE_SORT_RELOCS.
-
-* ns32k: The last gas I have from hack simply looks broken for ns32k.
-  I think this one works, but don't have an assembler that I trust
-  against which to compare.
-
-* i386: now uses ".align x" to mean x bytes rather than 2^x bytes.  It
-  also pads with the noop instruction rather than zeroes.
-
-In all cases, compiling with -DOLD_GAS will produce an assembler that
-should produce object files that are bitwise identical to the previous
-version of gas.
-
-
-
-                           NEW FEATURES!
-
-
-This isn't a complete catalog.  I've forgotten what all has been done.
-
-* support for i960, a29k, m88k, and tahoe.
-
-* support for 68030 and 68040, including the ability to limit the
-  instructions that gas will accept.  ie, you can assemble for EXACTLY
-  68000 and no more.
-
-* object file formats have been broken out into separate backends.
-
-* a new "backend" has been created to represent the target
-  environment.  That is, gas now mimics various other assemblers
-  rather than creating it's own requirements.  A side effect of this
-  is that this version of gas may not behave the same way as previous
-  versions.
-
-* ansi.  gas is now strictly ansi code so host ports should be
-  trivial.
-
-
-
-                       REPORTING BUGS IN GAS
-
-
-Bugs in THIS RELEASE of gas should be reported directly to
-rich@cygnus.com.  NOT to bug-gnu-utils@prep.ai.mit.edu.
-
-If you report a bug in GAS, please remember to include:
-
-A description of exactly what went wrong.
-
-How GAS was configured,
-
-The Operating System GAS was running under.
-
-The options given to GAS.
-
-The actual input file that caused the problem.
-
-It is silly to report a bug in GAS without including an input file for
-GAS.  Don't ask us to generate the file just because you made it from
-files you think we have access to.
-
-1. You might be mistaken.
-2. It might take us a lot of time to install things to regenerate that file.
-3. We might get a different file from the one you got, and might not see any
-bug.
-
-To save us these delays and uncertainties, always send the input file
-for the program that failed.
-
-If the input file is very large, and you are on the internet, you may
-want to make it avaliable for anonymous FTP instead of mailing it.  If you
-do, include instructions for FTP'ing it in your bug report.
diff --git a/gnu/usr.bin/as/README-vms b/gnu/usr.bin/as/README-vms
deleted file mode 100644 (file)
index 796c603..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-       This document explains a couple of things that are specific to VMS.
-There are currently two "chapters", the first deals with cross-assembly 
-issues, and the second deals with the VMS debugger and GNU-CC.
-
-
-***********************************************************************
-****************** Notes for Cross Assembly with VMS ******************
-***********************************************************************
-
-       If you wish to build gas on a non-VMS system to cross-assemble, 
-you should use:
-
-configure ${hosttype} -target=vms
-
-and then follow the usual procedure.  The object files generated on
-Unix will be correct from a binary point of view, but the real trick is
-getting them to the VMS machine.  The format of the object file is
-a variable-length record, but each record contains binary data.  gas
-writes the records in the same format that VMS would expect,
-namely a two-byte count followed by that number of bytes.
-
-       If you try to copy the file to a VMS system using ftp, the ftp
-protocol will screw up the file by looking for nulls (record terminator for
-unix) and it will insert it's own record terminators at that point.  This
-will obviously corrupt the file. 
-
-       If you try to transfer the file with ftp in binary mode, the
-file itself will not be corrupt, but VMS will think that the file contains
-fixed-length records of 512 bytes.  You can use the public-domain FILE 
-utility to change this with a command like:
-
-$FILE foo.o/type=variable
-
-If you do not have this utility available, the following program can be 
-used to perform this task:
-
-       #include <fab.h>
-       
-       #define RME$C_SETRFM 1
-        
-       struct FAB * fab;
-       
-       main(int argc, char * argv[]){
-               int i, status;
-               fab = (struct FAB*) malloc(sizeof(struct FAB));
-               *fab = cc$rms_fab;      /* initialize FAB*/
-               fab->fab$b_fac = FAB$M_PUT;
-               fab->fab$l_fop |= FAB$M_ESC;
-               fab->fab$l_ctx = RME$C_SETRFM;
-               fab->fab$w_ifi = 0;
-               for(i=1;i<argc;i++){
-                 printf("Setting %s to variable length records.\n",argv[i]);
-                 fab->fab$l_fna = argv[i];
-                 fab->fab$b_fns = strlen(argv[i]);
-                 status = sys$open(fab,0,0);
-                 if((status & 7) != 1) lib$signal(status);
-                 fab->fab$b_rfm = FAB$C_VAR;
-                 status = sys$modify(fab,0,0);
-                 if((status & 7) != 1) lib$signal(status);
-                 status = sys$close(fab,0,0);
-                 if((status & 7) != 1) lib$signal(status);
-               };
-       }
-
-       If you have NFS running on the VMS system, what you need to do
-depends upon which NFS software you are running on the VMS system.  There
-are a number of different TCP/IP packages for VMS available, and only very
-limited testing has been performed.   In the tests that has been done so
-far, the contents of the file will always be correct when transferring the
-file via NFS, but the record attributes may or may not be correct. 
-
-       One proprietary TCP/IP/NFS package for VMS is known to 
-automatically fix the record attributes of the object file if you NFS mount
-a unix disk from the VMS system, and if the file has a ".obj" extension on
-the unix system.  Other TCP/IP packages might do this for you as well, but
-they have not been checked.
-
-No matter what method you use to get the file to the VMS system, it is
-always a good idea to check to make sure that it is the correct type by
-doing a "$dir/full" on the object file. The desired record attributes will
-be "None".  Undesirable record attributes will be "Stream-LF" or anything
-else. 
-
-Once you get the files on the VMS system, you can check their integrity 
-with the "$anal/obj" command.  (Naturally at some point you should rename
-the .o files to .obj).  As far as the debugger is concerned, the records 
-will be correct, but the debugger will not be able to find the source files,
-since it only has the file name, and not the full directory specification.
-You must give the debugger some help by telling it which directories to 
-search for the individual files - once you have done this you should be 
-able to proceed normally.
-
-       It is a good idea to use names for your files which will be valid
-under VMS, since otherwise you will have no way of getting the debugger to
-find the source file when deugging.
-
-The reason for this is that the object file normally contins specific
-information that the debugger can use to positively identify a file, and if
-you are assembling on a unix system this information simply does not exist
-in a meaningful way.  You must help the debugger by using the "SET FILE="
-command to tell the debugger where to look for source files. The debugger
-records will be correct, except that the debugger will not be initially
-able to find the source files.  You can use the "SET FILE" command to tell
-the debugger where to look for the source files. 
-
-I have only tested this with a SVr4 i486 machine, and everything seems to
-work OK, with the limited testing that I have done.  Other machines may
-or may not work.  You should read the chapters on cross-compilers in the gcc
-manual before fooling with this.  Since gas does not need to do any floating
-point arithmetic, the floating point constants that are generated here should
-be correct - the only concern is with constant folding in the main compiler.
-The range and precision of floats and doubles are similar on the 486 (with 
-a builtin 80387) and the VAX, although there is a factor of 2 to 4
-difference in the range.  The double, as implemented on the 486, is quite
-similar to the G_FLOAT on the VAX. 
-
-***********************************************************************
-****************** Notes for using GNU CC with the VMS debugger********
-***********************************************************************
-
-
-       1) You should be aware that GNU-C, as with any other decent compiler,
-will do things when optimization is turned on that you may not expect. 
-Sometimes intermediate results are not written to variables, if they are only
-used in one place, and sometimes variables that are not used at all will not be
-written to the symbol table.  Also, parameters to inline functions are often
-inaccessible. You can see the assembly code equivalent by using KP7 in the
-debugger, and from this you can tell if in fact a variable should have the
-value that you expect.  You can find out if a variable lives withing a register
-by doing a 'show symbol/addr'.
-
-       2) Overly complex data types, such as:
-
-int (*(*(*(*(*(* sarr6)[1])[1])[2])[3])[4])[5];
-
-will not be debugged properly, since the debugging record overflows an internal
-debugger buffer.  gcc-as will convert these to *void as far as the debugger
-symbol table is concerned, which will avoid any problems, and the assembler
-will give you a message informing you that this has happened.
-
-       3) You must, of course, compile and link with /debug.  If you link
-without debug, you still get traceback table in the executable, but there is no
-symbol table for variables.
-
-       4) Included in the patches to VMS.C are fixes to two bugs that are
-unrelated to the changes that I have made.  One of these made it impossible to
-debug small programs sometimes, and the other caused the debugger to become
-confused about which routine it was in, and give this incorrect info in
-tracebacks.
-
-       5) If you are using the GNU-C++ compiler, you should modify the
-compiler driver file GNU_CC:[000000]GCC.COM (or GXX.COM).  If you have a
-seperate GXX.COM, then you need to change one line in GXX.COM to:
-$ if f$locate("D",p2) .ne. P2_Length then Debug = " ""-G0"""
-                                       Notice zero--->  ^
-If you are using a GCC.COM that does both C and C++, add the following lines to
-GCC.COM:
-
-$!
-$! Use old style debugging records for VMS
-$!
-$ if (Debug.nes."" ).and. Plus then Debug = " ""-G0"""
-
-after the variables Plus and Debug are set.  The reason for this, is that C++
-compiler by default generates debugging records that are more complex,
-with many new syntactical elements that allow for the new features of the
-language.  The -G0 switch tells the C++ compiler to use the old style debugging
-records.  Until the debugger understands C++ there is not any point to try and
-use the expanded syntax.
-
-       6) When you have nested scopes, i.e.:
-main(){
-       int i;
-       {int i;
-               {int i;
-};};}
-and you say "EXAM i" the debugger needs to figure out which variable you
-actually want to reference.  I have arranged things to define a block to the
-debugger when you use brackets to enter a new scope, so in the example above,
-the variables would be described as:
-TEST\main\i
-TEST\main\$0\i
-TEST\main\$0\$0\i
-At each level, the block name is a number with a dollar sign prefix, the
-numbers start with 0 and count upward.  When you say EXAM i, the debugger looks
-at the current PC, and decides which block it is currently in.  It works from
-the innermost level outward until it finds a block that has the variable "i"
-defined.  You can always specify the scope explicitly.
-
-       7)  With C++, there can be a lot of inline functions, and it would be
-rather restrictive to force the user to debug the program by converting all of
-the inline functions to normal functions.  What I have done is to essentially
-"add" (with the debugger) source lines from the include files that contain the
-inline functions.  Thus when you step into an inline function it appears as if
-you have called the function, and you can examine variables and so forth. 
-There are several *very* important differences, however.  First of all, since
-there is no function call involved, you cannot step over the inline function
-call - you always step into it. Secondly, since the same source lines are used
-in many locations, there is a seperate copy of the source for *each* usage. 
-Without this, breakpoints do not work, since we must have a 1-to-1 mapping
-between source lines and PC.
-       Since you cannot step over inline function calls, it can be a real pain
-if you are not really interested in what is going on for that function call.
-What I have done is to use the "-D" switch for the assembler to toggle the
-following behavior.  With the "-D" switch, all inline functions are included in
-the object file, and you can debug everything.  Without the "-D" switch
-(default case with VMS implementation), inline functions are included *only* if
-they did not come from system header files (i.e. from GNU_CC_INCLUDE: or
-GNU_GXX_INCLUDE:).  Thus, without the switch the user only debugs his/her own
-inline functions, and not the system ones. (This is especially useful if you do
-a lot of stream I/O in C++).  This probably will not provide enough granularity
-for many users, but for now this is still somewhat experimental, and I would
-like to reflect upon it and get some feedback before I go any further. 
-Possible solutions include an interactive prompting, a logical name, or a new
-command line option in gcc.c (which is then passed through somehow to the guts
-of the assembler).
-       The inline functions from header files appear after the source code
-for the source file.  This has the advantage that the source file itself is
-numbered with the same line numbers that you get with an editor.  In addition,
-the entire header file is not included, since the assembler makes a list of
-the min and max source lines that are used, and only includes those lines from
-the first to the last actually used. (It is easy to change it to include the
-whole file).
-
-       8) When you are debugging C++ objects, the object "this" is refered to
-as "$this".  Actually, the compiler writes it as ".this", but the period is
-not good for the debugger, so I have a routine to convert it to a $.  (It
-actually converts all periods to $, but only for variables, since this was
-intended to allow us to access "this".
-
-       9) If you use the asm("...") keyword for global symbols, you will not
-be able to see that symbol with the debugger.  The reason is that there are two
-records for the symbol stored in the data structures of the assembler.  One
-contains the info such as psect number and offset, and the other one contains
-the information having to do with the data type of the variable.  In order to
-debug as symbol, you need to be able to coorelate these records, and the only
-way to do this is by name.  The record with the storage attributes will take
-the name used in the asm directive, and the record that specifies the data type
-has the actual variable name, and thus when you use the asm directive to change
-a variable name, the symbol becomes invisible.
-
-       10) Older versions of the compiler ( GNU-C 1.37.92 and earlier) place
-global constants in the text psect.  This is unfortunate, since to the linker
-this appears to be an entry point.  I sent a patch to the compiler to RMS,
-which will generate a .const section for these variables, and patched the
-assembler to put these variables into a psect just like that for normal
-variables, except that they are marked NOWRT.  static constants are still
-placed in the text psect, since there is no need for any external access.
diff --git a/gnu/usr.bin/as/README.coff b/gnu/usr.bin/as/README.coff
deleted file mode 100644 (file)
index 46c61cd..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-The coff patches intend to do the following :
-
-   . Generate coff files very compatible with vanilla linker.
-   . Understands coff debug directives.
-
-Here are the guidelines of the work I have done :
-
-   . Encapsulate format dependent code in macros where it is possible.
-   . Where not possible differenciate with #ifdef
-   . try not to change the calling conventions of the existing functions. 
-       I made one exception : symbol_new. I would be pleased to hear about
-       a better solution. (symbols.c)
-   . Extend the use of N_TYPE_seg seg_N_TYPE tables so that segments can
-       be manipulated without using their format dependent name. (subsegs.c)
-   . Write a function to parse the .def debug directives
-   . Write two small peaces of code to handle the .ln directive.
-   . In write.c try to move all the cross compilation specifics (md_..) to
-     format dependent files.
-   . Encapsulate the data structures using generic types, macros calls.
-   . Added too much code to resolve the complexity of the symbol table
-     generated. Most of the code deals with debug stuff.
-   . Create another makefile, shorter, cleaner.
-   . Create a config.gas shell script to mimic the gcc,gdb... configuration
-       mechanism. This reduce the complexity of the makefile.
-   . Isolate the format dependent code in two files 
-       coff.c coff.h
-       aout.c aout.h
-       elf.c elf.h    [ Not yet ;-]
-   . added a little stack management routine for coff in file stack.c
-   . isolate os specific flags in m- files
-
-If further development is planed on it is should solve the following problems :
-
-   . Encapsulate DESC & OTHER tests in a macro call. I'm not aware
-       of their exact semantics.
-   . Clean up the seg_N_TYPE N_TYPE_seg naming scheme
-   . Try to remove as much reference to segment dependent names as possible
-   . Find a cleaner solution for symbol_new.
-   . Report the modifications on vax, ns32k, sparc machine dependent files.
-       To acheive this goal, search for \<N_, sy_, symbol_new and symbolS.
-   . Allow an arbitrary number of segments (spare sections .ctor .dtor .bletch)
-   . Find a way to extend the debug information without breaking sdb
-     compatibility. Mainly intended for G++.
-   . should it do something to generate shared libraries objects ?
-
-I have tested this code on the following processor/os. gcc-1.37.1 was
-   used for all the tests.
-
-386    SCO unix ODT
-       gcc-1.37.1, gas, emacs-18.55
-
-386    Esix rev C
-       gas-1.37/write.s
-
-386    Ix 2.02
-       gas, all the X11R4 mit clients
-
-386    CTIX 3.2
-       xsol (X11R4 solitary game), gas
-
-68030  unisoft 1.3     
-       the kernel (V.3.2) + tcp/ip extensions
-       bash-1.05, bison-1.11, compress-4.0, cproto, shar-3.49, diff-1.14,
-       dist-18.55, flex-2.3, gas-1.37, gcc-1.37.1, gdb-3.6, grep-1.5,
-       kermit, make-3.58, makedep, patch, printf, makeinfo, g++-1.37.1,
-       tar-1.08, texi2roff, uuencode, uutraf-1.2, libg++-1.37.2, groff-0.5
-
-68020  sunos 3.5 (no, not coff, just to be sure that I didn't
-                       introduce errors)
-       gcc-1.37.1, gas, emacs-18.55, gdb-3.6, bison-1.11, diff-1.14, 
-       make-3.58, tar-1.08
-
-68030   sunos 4.0.3 (idem)
-       gas
-
-I would be glad to hear about new experiences
-
-       Loic  (loic@adesign.uucp or loic@afp.uucp)
-
diff --git a/gnu/usr.bin/as/README.pic b/gnu/usr.bin/as/README.pic
deleted file mode 100644 (file)
index adde6fe..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-A few short notes on PIC support.
-
-. References to the symbol "_GLOBAL_OFFSET_TABLE_" are special. These always
-  PC relative to the start of the current instruction. Also, they occur
-  in "complex" expressions in function prologs, eg.
-
-       move    _GLOBAL_OFFSET_TABLE_ + (. - L1 ), %some_register
-
-  The expression parser can't handle these generically, so the expression
-  above is recognised as a special case.
-
-. Some archs have special PIC assembler syntax to reference static and global
-  data. This is handled in targ-cpu.c.
-
-. Correct relocation_info must be output (eg. fields r_jmptable and r_baserel).
-
-. Internal labels must be output in the symbol table if they are referred to
-  by PIC instructions. The linker must allocate a GOT slot for them.
-. The former meaning of the -k switch ("WORKING_DOT" stuff), has been nuked
-  in favour of enabling PIC code recognition.
-
-
--pk
-
diff --git a/gnu/usr.bin/as/README.rich b/gnu/usr.bin/as/README.rich
deleted file mode 100644 (file)
index 5a2ecc4..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-(This file is under construction.)
-
-
-                The Code Pedigree of This Directory
-
-
-This directory contains a big merge of several development lines of
-gas as well as a few bug fixes and some configuration that I've added
-in order to retain my own sanity.
-
-A little history.
-
-The only common baseline of all versions was gas-1.31.
-
-From 1.31, Intel branched off and added:
-
-       support for the Intel 80960 (i960) processor.
-       support for b.out object files.
-       some bug fixes.
-       sloppy mac MPW support
-       Intel gnu/960 makefiles and version numbering.
-
-Many of the bug fixes found their way into the main development line
-prior to 1.36.  ALL intel changes were ifdef'd I80960.  This was good
-as it isolated the changes, but bad in that it connected the b.out
-support to the i960 support, and bad in that the bug fixes were only
-active in the i960+b.out executables of gas, (although most of these
-were nicely marked with comments indicating that they were probably
-general bug fixes.)
-
-To pick up the main FSF development line again, along the way to 1.36,
-several new processors were added, many bugs fixed, and the world was
-a somewhat better place in general.
-
-From gas-1.36, Loic at Axis Design (france!) encapsulated object
-format specific actions, added coff versions of those encapsulations,
-and a config.gas style configuration and Makefile.  This was a big
-change and a lot of work.
-
-Then along came the FIRST FSF release of gas-1.37.  I say this because
-there have been at least two releases of gas-1.37.  Only two of them
-do we care about for this story, so let's call them gas-1.37.1 and
-gas-1.37.2.
-
-Here starts the confusion.  Firstly, gas-1.37.1 did not compile.
-
-In the meantime, John Gilmore at Cygnus Support had been hacking
-gas-1.37.1.  He got it to compile.  He added support for the AMD 29000
-processor.  AND he started encapsulating some of the a.out specific
-pieces of code mostly into functions.  AND he rebuilt the relocation
-info to be generic.  AND he restructured somewhat so that for a single
-host, cross assemblers could be built for all targets in the same
-directory.  Useful work but a considerable nuisance because the a29k
-changes were not partitioned from the encapsulation changes, the
-encapsulation changes were incomplete, and the encapsulation required
-functions where alternate structuring might have used macros. Let's
-call this version gas-1.37.1+a29k.
-
-By the time gas-1.37.2 was "released", (remember that it TOO was
-labelled by FSF as gas-1.37), it compiled, but it also added i860
-support and ansi style const declarations.
-
-At this point, Loic rolled his changes into gas-1.37.2.
-
-What I've done.
-
-I collected all the stray versions of gas that sounded relevant to my
-goals of cross assembly and alternate object file formats and the FSF
-releases from which the stray versions had branched.
-
-I rolled the Intel i960 changes from 1.31 into versions that I call
-1.34+i960, 1.36+i960, and then 1.37.1+i960.
-
-Then I merged 1.37.1+i960 with 1.37.1+a29k to produce what I call
-1.37.1+i960+a29k or 1.37.3.
-
-From 1.37.3, I pulled in Loic's stuff.  This wasn't easy as Loic's
-stuff hit all the same points as John's encapsulations.  Loic's goal
-was to split the a.out from coff dependancies for native assembly on
-coff, while John's was to split for multiple cross assembly from a
-single host.
-
-Loic's config arranged files much like emacs into m-*, etc.  I've
-rearranged these somewhat.
-
-Theory:
-
-The goal of the new configuration scheme is to bury all object format,
-target processor, and host machine dependancies in object, target, and
-host specific files.  That is, to move all #ifdef's out of the gas
-common code.
-
-Here's how it works.  There is a .h and a .c file for each object file
-format, a .h and a .c file for each target processor, and a .h for
-each host.  config.gas creates {sym}links in the current directory to
-the appropriate files in the config directory.  config.gas also serves
-as a list of triplets {host, target, object-format} that have been
-tested at one time or another.  I also recommend that config.gas be
-used to document triplet specific notes as to purpose of the triplet,
-etc.
-
-Implementation:
-
-host.h is a {sym}link to .../config/xm-yourhost.h.  It is intended to
-be used to hide host compiler, system header file, and system library
-differences between host machines.  If your host needs actual c source
-files, then either: these are generally useful functions, in which
-case you should probably build a local library outside of the gas
-source tree, or someone, perhaps me, is confused about what is needed
-by different hosts.
-
-obj-format.h is a {sym}link to .../config/obj-something.h.  It is intended
-
-All gas .c files include as.h.
-
-as.h #define's "gas", includes host.h, defines a number of gas
-specific structures and types, and then includes tp.h, obj.h, and
-target-environment.h.
-
-target-environment.h defines a target environment specific
-preprocessor flag, eg, TE_SUN, and then includes obj-format.h.
-
-obj-format.h defines an object format specific preprocessor flag, eg,
-OBJ_AOUT, OBJ_BOUT, OBJ_COFF, includes "target-processor.h", and then
-defines the object specific macros, functions, types, and structures.
-
-target-processor.h 
-
-target-processor.
-
-Porting:
-
-There appear to be four major types of ports; new hosts, new target
-processors, new object file formats, and new target environments.
-
-
------
-
-reloc now stored internally as generic. (symbols too?) (segment types
-vs. names?)
-
-I don't mean to overlook anyone here.  There have also been several
-other development lines here that I looked at and elected to bypass.
-Specifically, xxx's stabs in coff stuff was particularly tempting.
diff --git a/gnu/usr.bin/as/VERSION b/gnu/usr.bin/as/VERSION
deleted file mode 100644 (file)
index a3f79bb..0000000
+++ /dev/null
@@ -1 +0,0 @@
-1.92.3
diff --git a/gnu/usr.bin/as/app.c b/gnu/usr.bin/as/app.c
deleted file mode 100644 (file)
index ee94d19..0000000
+++ /dev/null
@@ -1,746 +0,0 @@
-/* This is the Assembler Pre-Processor
-   Copyright (C) 1987, 1990, 1991, 1992, 1994 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 2, 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.  */
-
-/* Modified by Allen Wirfs-Brock, Instantiations Inc 2/90 */
-/* App, the assembler pre-processor.  This pre-processor strips out excess
-   spaces, turns single-quoted characters into a decimal constant, and turns
-   # <number> <filename> <garbage> into a .line <number>\n.file <filename>
-   pair.  This needs better error-handling.  */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/app.c,v 1.7 1999/08/27 23:34:10 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/app.c,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-#include <stdio.h>
-#include "as.h"                        /* For BAD_CASE() only */
-
-#if (__STDC__ != 1)
-#ifndef const
-#define const  /* empty */
-#endif
-#endif
-
-static char lex[256];
-static const char symbol_chars[] =
-"$._ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
-
-#define LEX_IS_SYMBOL_COMPONENT                1
-#define LEX_IS_WHITESPACE              2
-#define LEX_IS_LINE_SEPARATOR          3
-#define LEX_IS_COMMENT_START           4
-#define LEX_IS_LINE_COMMENT_START      5
-#define        LEX_IS_TWOCHAR_COMMENT_1ST      6
-#define        LEX_IS_TWOCHAR_COMMENT_2ND      7
-#define        LEX_IS_STRINGQUOTE              8
-#define        LEX_IS_COLON                    9
-#define        LEX_IS_NEWLINE                  10
-#define        LEX_IS_ONECHAR_QUOTE            11
-#define IS_SYMBOL_COMPONENT(c)         (lex[c] == LEX_IS_SYMBOL_COMPONENT)
-#define IS_WHITESPACE(c)               (lex[c] == LEX_IS_WHITESPACE)
-#define IS_LINE_SEPARATOR(c)           (lex[c] == LEX_IS_LINE_SEPARATOR)
-#define IS_COMMENT(c)                  (lex[c] == LEX_IS_COMMENT_START)
-#define IS_LINE_COMMENT(c)             (lex[c] == LEX_IS_LINE_COMMENT_START)
-#define        IS_NEWLINE(c)                   (lex[c] == LEX_IS_NEWLINE)
-
-static int process_escape PARAMS ((int));
-
-/* FIXME-soon: The entire lexer/parser thingy should be
-   built statically at compile time rather than dynamically
-   each and every time the assembler is run.  xoxorich. */
-
-void
-do_scrub_begin ()
-{
-  const char *p;
-
-  lex[' '] = LEX_IS_WHITESPACE;
-  lex['\t'] = LEX_IS_WHITESPACE;
-  lex['\n'] = LEX_IS_NEWLINE;
-  lex[';'] = LEX_IS_LINE_SEPARATOR;
-  lex['"'] = LEX_IS_STRINGQUOTE;
-#ifndef TC_HPPA
-  lex['\''] = LEX_IS_ONECHAR_QUOTE;
-#endif
-  lex[':'] = LEX_IS_COLON;
-
-
-
-#ifdef SINGLE_QUOTE_STRINGS
-  lex['\''] = LEX_IS_STRINGQUOTE;
-#endif
-
-  /* Note that these override the previous defaults, e.g. if ';' is a
-     comment char, then it isn't a line separator.  */
-  for (p = symbol_chars; *p; ++p)
-    {
-      lex[(unsigned char) *p] = LEX_IS_SYMBOL_COMPONENT;
-    }                          /* declare symbol characters */
-
-  for (p = comment_chars; *p; p++)
-    {
-      lex[(unsigned char) *p] = LEX_IS_COMMENT_START;
-    }                          /* declare comment chars */
-
-  for (p = line_comment_chars; *p; p++)
-    {
-      lex[(unsigned char) *p] = LEX_IS_LINE_COMMENT_START;
-    }                          /* declare line comment chars */
-
-  for (p = line_separator_chars; *p; p++)
-    {
-      lex[(unsigned char) *p] = LEX_IS_LINE_SEPARATOR;
-    }                          /* declare line separators */
-
-  /* Only allow slash-star comments if slash is not in use */
-  if (lex['/'] == 0)
-    {
-      lex['/'] = LEX_IS_TWOCHAR_COMMENT_1ST;
-    }
-  /* FIXME-soon.  This is a bad hack but otherwise, we can't do
-     c-style comments when '/' is a line comment char. xoxorich. */
-  if (lex['*'] == 0)
-    {
-      lex['*'] = LEX_IS_TWOCHAR_COMMENT_2ND;
-    }
-}                              /* do_scrub_begin() */
-
-FILE *scrub_file;
-
-int
-scrub_from_file ()
-{
-  return getc (scrub_file);
-}
-
-void
-scrub_to_file (ch)
-     int ch;
-{
-  ungetc (ch, scrub_file);
-}                              /* scrub_to_file() */
-
-char *scrub_string;
-char *scrub_last_string;
-
-int
-scrub_from_string ()
-{
-  return scrub_string == scrub_last_string ? EOF : *scrub_string++;
-}                              /* scrub_from_string() */
-
-void
-scrub_to_string (ch)
-     int ch;
-{
-  *--scrub_string = ch;
-}                              /* scrub_to_string() */
-
-/* Saved state of the scrubber */
-static int state;
-static int old_state;
-static char *out_string;
-static char out_buf[20];
-static int add_newlines = 0;
-
-/* Data structure for saving the state of app across #include's.  Note that
-   app is called asynchronously to the parsing of the .include's, so our
-   state at the time .include is interpreted is completely unrelated.
-   That's why we have to save it all.  */
-
-struct app_save
-  {
-    int state;
-    int old_state;
-    char *out_string;
-    char out_buf[sizeof (out_buf)];
-    int add_newlines;
-    char *scrub_string;
-    char *scrub_last_string;
-    FILE *scrub_file;
-  };
-
-char *
-app_push ()
-{
-  register struct app_save *saved;
-
-  saved = (struct app_save *) xmalloc (sizeof (*saved));
-  saved->state = state;
-  saved->old_state = old_state;
-  saved->out_string = out_string;
-  memcpy (saved->out_buf, out_buf, sizeof (out_buf));
-  saved->add_newlines = add_newlines;
-  saved->scrub_string = scrub_string;
-  saved->scrub_last_string = scrub_last_string;
-  saved->scrub_file = scrub_file;
-
-  /* do_scrub_begin() is not useful, just wastes time. */
-  return (char *) saved;
-}
-
-void
-app_pop (arg)
-     char *arg;
-{
-  register struct app_save *saved = (struct app_save *) arg;
-
-  /* There is no do_scrub_end (). */
-  state = saved->state;
-  old_state = saved->old_state;
-  out_string = saved->out_string;
-  memcpy (out_buf, saved->out_buf, sizeof (out_buf));
-  add_newlines = saved->add_newlines;
-  scrub_string = saved->scrub_string;
-  scrub_last_string = saved->scrub_last_string;
-  scrub_file = saved->scrub_file;
-
-  free (arg);
-}                              /* app_pop() */
-
-/* @@ This assumes that \n &c are the same on host and target.  This is not
-   necessarily true.  */
-static int
-process_escape (ch)
-     int ch;
-{
-  switch (ch)
-    {
-    case 'b':
-      return '\b';
-    case 'f':
-      return '\f';
-    case 'n':
-      return '\n';
-    case 'r':
-      return '\r';
-    case 't':
-      return '\t';
-    case '\'':
-      return '\'';
-    case '"':
-      return '\"';
-    default:
-      return ch;
-    }
-}
-int
-do_scrub_next_char (get, unget)
-     int (*get) ();
-     void (*unget) ();
-{
-  /*State 0: beginning of normal line
-         1: After first whitespace on line (flush more white)
-         2: After first non-white (opcode) on line (keep 1white)
-         3: after second white on line (into operands) (flush white)
-         4: after putting out a .line, put out digits
-         5: parsing a string, then go to old-state
-         6: putting out \ escape in a "d string.
-         7: After putting out a .appfile, put out string.
-         8: After putting out a .appfile string, flush until newline.
-         9: After seeing symbol char in state 3 (keep 1white after symchar)
-        10: After seeing whitespace in state 9 (keep white before symchar)
-        11: After seeing a symbol character in state 0 (eg a label definition)
-        -1: output string in out_string and go to the state in old_state
-        -2: flush text until a '*' '/' is seen, then go to state old_state
-         */
-
-  /* I added states 9 and 10 because the MIPS ECOFF assembler uses
-     constructs like ``.loc 1 20''.  This was turning into ``.loc
-     120''.  States 9 and 10 ensure that a space is never dropped in
-     between characters which could appear in a identifier.  Ian
-     Taylor, ian@cygnus.com.
-
-     I added state 11 so that something like "Lfoo add %r25,%r26,%r27" works
-     correctly on the PA (and any other target where colons are optional).
-     Jeff Law, law@cs.utah.edu.  */
-
-  register int ch, ch2 = 0;
-  int not_cpp_line = 0;
-
-  switch (state)
-    {
-    case -1:
-      ch = *out_string++;
-      if (*out_string == 0)
-       {
-         state = old_state;
-         old_state = 3;
-       }
-      return ch;
-
-    case -2:
-      for (;;)
-       {
-         do
-           {
-             ch = (*get) ();
-           }
-         while (ch != EOF && ch != '\n' && ch != '*');
-         if (ch == '\n' || ch == EOF)
-           return ch;
-
-         /* At this point, ch must be a '*' */
-         while ((ch = (*get) ()) == '*')
-           {
-             ;
-           }
-         if (ch == EOF || ch == '/')
-           break;
-         (*unget) (ch);
-       }
-      state = old_state;
-      return ' ';
-
-    case 4:
-      ch = (*get) ();
-      if (ch == EOF || (ch >= '0' && ch <= '9'))
-       return ch;
-      else
-       {
-         while (ch != EOF && IS_WHITESPACE (ch))
-           ch = (*get) ();
-         if (ch == '"')
-           {
-             (*unget) (ch);
-             out_string = "\n\t.appfile ";
-             old_state = 7;
-             state = -1;
-             return *out_string++;
-           }
-         else
-           {
-             while (ch != EOF && ch != '\n')
-               ch = (*get) ();
-             state = 0;
-             return ch;
-           }
-       }
-
-    case 5:
-      ch = (*get) ();
-      if (lex[ch] == LEX_IS_STRINGQUOTE)
-       {
-         state = old_state;
-         return ch;
-       }
-#ifndef NO_STRING_ESCAPES
-      else if (ch == '\\')
-       {
-         state = 6;
-         return ch;
-       }
-#endif
-      else if (ch == EOF)
-       {
-         as_warn ("End of file in string: inserted '\"'");
-         state = old_state;
-         (*unget) ('\n');
-         return '"';
-       }
-      else
-       {
-         return ch;
-       }
-
-    case 6:
-      state = 5;
-      ch = (*get) ();
-      switch (ch)
-       {
-         /* Handle strings broken across lines, by turning '\n' into
-            '\\' and 'n'.  */
-       case '\n':
-         (*unget) ('n');
-         add_newlines++;
-         return '\\';
-
-       case '"':
-       case '\\':
-       case 'b':
-       case 'f':
-       case 'n':
-       case 'r':
-       case 't':
-#ifdef BACKSLASH_V
-       case 'v':
-#endif /* BACKSLASH_V */
-       case 'x':
-       case 'X':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-         break;
-#if defined(IGNORE_NONSTANDARD_ESCAPES) | defined(ONLY_STANDARD_ESCAPES)
-       default:
-         as_warn ("Unknown escape '\\%c' in string: Ignored", ch);
-         break;
-#else /* ONLY_STANDARD_ESCAPES */
-       default:
-         /* Accept \x as x for any x */
-         break;
-#endif /* ONLY_STANDARD_ESCAPES */
-
-       case EOF:
-         as_warn ("End of file in string: '\"' inserted");
-         return '"';
-       }
-      return ch;
-
-    case 7:
-      ch = (*get) ();
-      state = 5;
-      old_state = 8;
-      return ch;
-
-    case 8:
-      do
-       ch = (*get) ();
-      while (ch != '\n');
-      state = 0;
-      return ch;
-    }
-
-  /* OK, we are somewhere in states 0 through 4 or 9 through 11 */
-
-  /* flushchar: */
-  ch = (*get) ();
-recycle:
-  if (ch == EOF)
-    {
-      if (state != 0)
-       as_warn ("End of file not at end of a line: Newline inserted.");
-      return ch;
-    }
-
-  switch (lex[ch])
-    {
-    case LEX_IS_WHITESPACE:
-      do
-       /* Preserve a single whitespace character at the beginning of
-          a line.  */
-       if (state == 0)
-         {
-           state = 1;
-           return ch;
-         }
-       else
-         ch = (*get) ();
-      while (ch != EOF && IS_WHITESPACE (ch));
-      if (ch == EOF)
-       return ch;
-
-      if (IS_COMMENT (ch)
-         || (state == 0 && IS_LINE_COMMENT (ch))
-         || ch == '/'
-         || IS_LINE_SEPARATOR (ch))
-       {
-         /* cpp never outputs a leading space before the #, so try to
-            avoid being confused.  */
-         not_cpp_line = 1;
-         goto recycle;
-       }
-#ifdef MRI
-      (*unget) (ch);           /* Put back */
-      return ' ';              /* Always return one space at start of line */
-#endif
-
-      /* If we're in state 2 or 11, we've seen a non-white character
-        followed by whitespace.  If the next character is ':', this
-        is whitespace after a label name which we *must* ignore.  */
-      if ((state == 2 || state == 11) && lex[ch] == LEX_IS_COLON)
-       {
-         state = 1;
-         return ch;
-       }
-
-      switch (state)
-       {
-       case 0:
-         state++;
-         goto recycle;         /* Punted leading sp */
-       case 1:
-         /* We can arrive here if we leave a leading whitespace character
-            at the beginning of a line.  */
-         goto recycle;
-       case 2:
-         state = 3;
-         (*unget) (ch);
-         return ' ';           /* Sp after opco */
-       case 3:
-         goto recycle;         /* Sp in operands */
-       case 9:
-       case 10:
-         state = 10;           /* Sp after symbol char */
-         goto recycle;
-       case 11:
-         state = 1;
-         (*unget) (ch);
-         return ' ';           /* Sp after label definition.  */
-       default:
-         BAD_CASE (state);
-       }
-      break;
-
-    case LEX_IS_TWOCHAR_COMMENT_1ST:
-      ch2 = (*get) ();
-      if (ch2 != EOF && lex[ch2] == LEX_IS_TWOCHAR_COMMENT_2ND)
-       {
-         for (;;)
-           {
-             do
-               {
-                 ch2 = (*get) ();
-                 if (ch2 != EOF && IS_NEWLINE (ch2))
-                   add_newlines++;
-               }
-             while (ch2 != EOF &&
-                    (lex[ch2] != LEX_IS_TWOCHAR_COMMENT_2ND));
-
-             while (ch2 != EOF &&
-                    (lex[ch2] == LEX_IS_TWOCHAR_COMMENT_2ND))
-               {
-                 ch2 = (*get) ();
-               }
-
-             if (ch2 == EOF
-                 || lex[ch2] == LEX_IS_TWOCHAR_COMMENT_1ST)
-               break;
-             (*unget) (ch);
-           }
-         if (ch2 == EOF)
-           as_warn ("End of file in multiline comment");
-
-         ch = ' ';
-         goto recycle;
-       }
-      else
-       {
-         if (ch2 != EOF)
-           (*unget) (ch2);
-         if (state == 9 || state == 10)
-           state = 3;
-         return ch;
-       }
-      break;
-
-    case LEX_IS_STRINGQUOTE:
-      if (state == 9 || state == 10)
-       old_state = 3;
-      else
-       old_state = state;
-      state = 5;
-      return ch;
-#ifndef MRI
-#ifndef IEEE_STYLE
-    case LEX_IS_ONECHAR_QUOTE:
-      ch = (*get) ();
-      if (ch == EOF)
-       {
-         as_warn ("End-of-file after a one-character quote; \\000 inserted");
-         ch = 0;
-       }
-      if (ch == '\\')
-       {
-         ch = (*get) ();
-         ch = process_escape (ch);
-       }
-      sprintf (out_buf, "%d", (int) (unsigned char) ch);
-
-
-      /* None of these 'x constants for us.  We want 'x'.  */
-      if ((ch = (*get) ()) != '\'')
-       {
-#ifdef REQUIRE_CHAR_CLOSE_QUOTE
-         as_warn ("Missing close quote: (assumed)");
-#else
-         (*unget) (ch);
-#endif
-       }
-      if (strlen (out_buf) == 1)
-       {
-         return out_buf[0];
-       }
-      if (state == 9 || state == 10)
-       old_state = 3;
-      else
-       old_state = state;
-      state = -1;
-      out_string = out_buf;
-      return *out_string++;
-#endif
-#endif
-    case LEX_IS_COLON:
-      if (state == 9 || state == 10)
-       state = 3;
-      else if (state != 3)
-       state = 1;
-      return ch;
-
-    case LEX_IS_NEWLINE:
-      /* Roll out a bunch of newlines from inside comments, etc.  */
-      if (add_newlines)
-       {
-         --add_newlines;
-         (*unget) (ch);
-       }
-      /* fall thru into... */
-
-    case LEX_IS_LINE_SEPARATOR:
-      state = 0;
-      return ch;
-
-    case LEX_IS_LINE_COMMENT_START:
-      if (state == 0)          /* Only comment at start of line.  */
-       {
-         /* FIXME-someday: The two character comment stuff was badly
-            thought out.  On i386, we want '/' as line comment start
-            AND we want C style comments.  hence this hack.  The
-            whole lexical process should be reworked.  xoxorich.  */
-         if (ch == '/')
-           {
-             ch2 = (*get) ();
-             if (ch2 == '*')
-               {
-                 state = -2;
-                 return (do_scrub_next_char (get, unget));
-               }
-             else
-               {
-                 (*unget) (ch2);
-               }
-           }                   /* bad hack */
-
-         if (ch != '#')
-           not_cpp_line = 1;
-
-         do
-           ch = (*get) ();
-         while (ch != EOF && IS_WHITESPACE (ch));
-         if (ch == EOF)
-           {
-             as_warn ("EOF in comment:  Newline inserted");
-             return '\n';
-           }
-         if (ch < '0' || ch > '9' || not_cpp_line)
-           {
-             /* Non-numerics:  Eat whole comment line */
-             while (ch != EOF && !IS_NEWLINE (ch))
-               ch = (*get) ();
-             if (ch == EOF)
-               as_warn ("EOF in Comment: Newline inserted");
-             state = 0;
-             return '\n';
-           }
-         /* Numerics begin comment.  Perhaps CPP `# 123 "filename"' */
-         (*unget) (ch);
-         old_state = 4;
-         state = -1;
-         out_string = "\t.appline ";
-         return *out_string++;
-       }
-
-      /* We have a line comment character which is not at the start of
-        a line.  If this is also a normal comment character, fall
-        through.  Otherwise treat it as a default character.  */
-      if (strchr (comment_chars, ch) == NULL)
-       goto de_fault;
-      /* Fall through.  */
-    case LEX_IS_COMMENT_START:
-      do
-       ch = (*get) ();
-      while (ch != EOF && !IS_NEWLINE (ch));
-      if (ch == EOF)
-       as_warn ("EOF in comment:  Newline inserted");
-      state = 0;
-      return '\n';
-
-    case LEX_IS_SYMBOL_COMPONENT:
-      if (state == 10)
-       {
-         /* This is a symbol character following another symbol
-            character, with whitespace in between.  We skipped the
-            whitespace earlier, so output it now.  */
-         (*unget) (ch);
-         state = 3;
-         return ' ';
-       }
-      if (state == 3)
-       state = 9;
-      /* Fall through.  */
-    default:
-    de_fault:
-      /* Some relatively `normal' character.  */
-      if (state == 0)
-       {
-         state = 11;           /* Now seeing label definition */
-         return ch;
-       }
-      else if (state == 1)
-       {
-         state = 2;            /* Ditto */
-         return ch;
-       }
-      else if (state == 9)
-       {
-         if (lex[ch] != LEX_IS_SYMBOL_COMPONENT)
-           state = 3;
-         return ch;
-       }
-      else if (state == 10)
-       {
-         state = 3;
-         return ch;
-       }
-      else
-       {
-         return ch;            /* Opcode or operands already */
-       }
-    }
-  return -1;
-}
-
-#ifdef TEST
-
-const char comment_chars[] = "|";
-const char line_comment_chars[] = "#";
-
-main ()
-{
-  int ch;
-
-  app_begin ();
-  while ((ch = do_scrub_next_char (stdin)) != EOF)
-    putc (ch, stdout);
-}
-
-as_warn (str)
-     char *str;
-{
-  fputs (str, stderr);
-  putc ('\n', stderr);
-}
-
-#endif
-
-/* end of app.c */
diff --git a/gnu/usr.bin/as/as.1 b/gnu/usr.bin/as/as.1
deleted file mode 100644 (file)
index 57f530e..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-.\" Copyright (c) 1991, 1992 Free Software Foundation
-.\" See section COPYING for conditions for redistribution
-.\" $FreeBSD: src/gnu/usr.bin/as/as.1,v 1.9 1999/08/27 23:34:11 peter Exp $
-.\" $DragonFly: src/gnu/usr.bin/as/Attic/as.1,v 1.2 2003/06/17 04:25:44 dillon Exp $
-.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
-
-.SH NAME
-as \- the portable GNU assembler.
-
-.SH SYNOPSIS
-.na
-.B as
-.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
-\&\|]
-.RB "[\|" \-D "\|]"
-.RB "[\|" \-f "\|]"
-.RB "[\|" \-I
-.I path\c
-\&\|]
-.RB "[\|" \-k "\|]"
-.RB "[\|" \-K "\|]"
-.RB "[\|" \-L "\|]"
-.RB "[\|" \-o 
-.I objfile\c
-\&\|]
-.RB "[\|" \-R "\|]"
-.RB "[\|" \-v "\|]"
-.RB "[\|" \-w "\|]"
-.RB "[\|" \-\^\- "\ |\ " \c
-.I files\c
-\&\|.\|.\|.\|]
-
-.I i960-only options:
-.br
-.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
-.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
-.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
-.RB "[\|" \-b "\|]"
-.RB "[\|" \-norelax "\|]"
-
-.I m680x0-only options:
-.br
-.RB "[\|" \-l "\|]"
-.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
-.ad b
-
-.SH DESCRIPTION
-GNU \c
-.B as\c
-\& is really a family of assemblers.  
-If you use (or have used) the GNU assembler on one architecture, you
-should find a fairly similar environment when you use it on another
-architecture.  Each version has much in common with the others,
-including object file formats, most assembler directives (often called
-\c
-.I pseudo-ops)\c
-\& and assembler syntax.  
-
-For information on the syntax and pseudo-ops used by GNU \c
-.B as\c
-\&, see `\|\c
-.B as\c
-\|' entry in \c
-.B info \c
-(or the manual \c
-.I
-.I
-Using as: The GNU Assembler\c
-\&).
-
-\c
-.B as\c
-\& is primarily intended to assemble the output of the GNU C
-compiler \c
-.B gcc\c
-\& for use by the linker \c
-.B ld\c
-\&.  Nevertheless,
-we've tried to make \c
-.B as\c
-\& assemble correctly everything that the native
-assembler would.
-This doesn't mean \c
-.B as\c
-\& always uses the same syntax as another
-assembler for the same architecture; for example, we know of several
-incompatible versions of 680x0 assembly language syntax.
-
-Each time you run \c
-.B as\c
-\& it assembles exactly one source
-program.  The source program is made up of one or more files.
-(The standard input is also a file.)
-
-If \c
-.B as\c
-\& is given no file names it attempts to read one input file
-from the \c
-.B as\c
-\& standard input, which is normally your terminal.  You
-may have to type \c
-.B ctl-D\c
-\& to tell \c
-.B as\c
-\& there is no more program
-to assemble.  Use `\|\c
-.B \-\^\-\c
-\|' if you need to explicitly name the standard input file
-in your command line.
-
-.B as\c
-\& may write warnings and error messages to the standard error
-file (usually your terminal).  This should not happen when \c
-.B as\c
-\& is
-run automatically by a compiler.  Warnings report an assumption made so
-that \c
-.B as\c
-\& could keep assembling a flawed program; errors report a
-grave problem that stops the assembly.
-
-.SH OPTIONS
-.TP
-.BR \-a \||\| \-al \||\| \-as
-Turn on assembly listings; `\|\c
-.B \-al\c
-\&\|', listing only, `\|\c
-.B \-as\c
-\&\|', symbols
-only, `\|\c
-.B \-a\c
-\&\|', everything.
-.TP
-.B \-D
-This option is accepted only for script compatibility with calls to
-other assemblers; it has no effect on \c
-.B as\c
-\&.
-.TP
-.B \-f
-``fast''--skip preprocessing (assume source is compiler output).
-.TP
-.BI "\-I\ " path
-Add 
-.I path
-to the search list for 
-.B .include
-directives.
-.TP
-.B \-k
-Handle position independent code, generated by gcc -fpic.
-.TP
-.B \-K
-Handle position independent code, generated by gcc -fPIC.
-This is normally the same as -k.
-.TP
-.B \-L
-Keep (in symbol table) local symbols, starting with `\|\c
-.B L\c
-\|'
-.TP
-.BI "\-o\ " objfile
-Name the object-file output from \c
-.B as
-.TP
-.B \-R
-Fold data section into text section
-.TP
-.B \-v
-Announce \c
-.B as\c
-\& version
-.TP
-.B \-W
-Suppress warning messages
-.TP
-.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
-Source files to assemble, or standard input (\c
-.BR "\-\^\-" ")"
-.TP
-.BI \-A var
-.I
-(When configured for Intel 960.)
-Specify which variant of the 960 architecture is the target.
-.TP
-.B \-b
-.I
-(When configured for Intel 960.)
-Add code to collect statistics about branches taken.
-.TP
-.B \-norelax
-.I
-(When configured for Intel 960.)
-Do not alter compare-and-branch instructions for long displacements;
-error if necessary.
-.TP
-.B \-l
-.I
-(When configured for Motorola 68000).  
-.br
-Shorten references to undefined symbols, to one word instead of two.
-.TP
-.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
-.I
-(When configured for Motorola 68000).  
-.br
-Specify what processor in the 68000 family is the target (default 68020)
-
-.PP
-Options may be in any order, and may be
-before, after, or between file names.  The order of file names is
-significant.
-
-`\|\c
-.B \-\^\-\c
-\|' (two hyphens) by itself names the standard input file
-explicitly, as one of the files for \c
-.B as\c
-\& to assemble.
-
-Except for `\|\c
-.B \-\^\-\c
-\|' any command line argument that begins with a
-hyphen (`\|\c
-.B \-\c
-\|') is an option.  Each option changes the behavior of
-\c
-.B as\c
-\&.  No option changes the way another option works.  An
-option is a `\|\c
-.B \-\c
-\|' followed by one or more letters; the case of
-the letter is important.   All options are optional.
-
-The `\|\c
-.B \-o\c
-\|' option expects exactly one file name to follow.  The file
-name may either immediately follow the option's letter (compatible
-with older assemblers) or it may be the next command argument (GNU
-standard).  
-
-These two command lines are equivalent:
-.br
-.B
-as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
-.br
-.B
-as\ \ \-omy\-object\-file.o\ \ mumble.s
-
-.SH "SEE ALSO"
-.RB "`\|" as "\|'"
-entry in 
-.B
-info\c
-\&; 
-.I
-Using as: The GNU Assembler\c
-\&;
-.BR gcc "(" 1 "),"
-.BR ld "(" 1 ")."
-
-.SH HISTORY
-A
-.I as
-command appeared in
-Version 1 AT&T UNIX.
-
-.SH COPYING
-Copyright (c) 1991, 1992 Free Software Foundation, Inc.
-.PP
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-.PP
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-.PP
-Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be included in
-translations approved by the Free Software Foundation instead of in
-the original English.
diff --git a/gnu/usr.bin/as/as.1aout b/gnu/usr.bin/as/as.1aout
deleted file mode 100644 (file)
index 29e266f..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-.\" Copyright (c) 1991, 1992 Free Software Foundation
-.\" See section COPYING for conditions for redistribution
-.\" $FreeBSD: src/gnu/usr.bin/as/as.1aout,v 1.9 1999/08/27 23:34:11 peter Exp $
-.\" $DragonFly: src/gnu/usr.bin/as/Attic/as.1aout,v 1.2 2003/06/17 04:25:44 dillon Exp $
-.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
-
-.SH NAME
-as \- the portable GNU assembler.
-
-.SH SYNOPSIS
-.na
-.B as
-.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
-\&\|]
-.RB "[\|" \-D "\|]"
-.RB "[\|" \-f "\|]"
-.RB "[\|" \-I
-.I path\c
-\&\|]
-.RB "[\|" \-k "\|]"
-.RB "[\|" \-K "\|]"
-.RB "[\|" \-L "\|]"
-.RB "[\|" \-o 
-.I objfile\c
-\&\|]
-.RB "[\|" \-R "\|]"
-.RB "[\|" \-v "\|]"
-.RB "[\|" \-w "\|]"
-.RB "[\|" \-\^\- "\ |\ " \c
-.I files\c
-\&\|.\|.\|.\|]
-
-.I i960-only options:
-.br
-.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
-.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
-.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
-.RB "[\|" \-b "\|]"
-.RB "[\|" \-norelax "\|]"
-
-.I m680x0-only options:
-.br
-.RB "[\|" \-l "\|]"
-.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
-.ad b
-
-.SH DESCRIPTION
-GNU \c
-.B as\c
-\& is really a family of assemblers.  
-If you use (or have used) the GNU assembler on one architecture, you
-should find a fairly similar environment when you use it on another
-architecture.  Each version has much in common with the others,
-including object file formats, most assembler directives (often called
-\c
-.I pseudo-ops)\c
-\& and assembler syntax.  
-
-For information on the syntax and pseudo-ops used by GNU \c
-.B as\c
-\&, see `\|\c
-.B as\c
-\|' entry in \c
-.B info \c
-(or the manual \c
-.I
-.I
-Using as: The GNU Assembler\c
-\&).
-
-\c
-.B as\c
-\& is primarily intended to assemble the output of the GNU C
-compiler \c
-.B gcc\c
-\& for use by the linker \c
-.B ld\c
-\&.  Nevertheless,
-we've tried to make \c
-.B as\c
-\& assemble correctly everything that the native
-assembler would.
-This doesn't mean \c
-.B as\c
-\& always uses the same syntax as another
-assembler for the same architecture; for example, we know of several
-incompatible versions of 680x0 assembly language syntax.
-
-Each time you run \c
-.B as\c
-\& it assembles exactly one source
-program.  The source program is made up of one or more files.
-(The standard input is also a file.)
-
-If \c
-.B as\c
-\& is given no file names it attempts to read one input file
-from the \c
-.B as\c
-\& standard input, which is normally your terminal.  You
-may have to type \c
-.B ctl-D\c
-\& to tell \c
-.B as\c
-\& there is no more program
-to assemble.  Use `\|\c
-.B \-\^\-\c
-\|' if you need to explicitly name the standard input file
-in your command line.
-
-.B as\c
-\& may write warnings and error messages to the standard error
-file (usually your terminal).  This should not happen when \c
-.B as\c
-\& is
-run automatically by a compiler.  Warnings report an assumption made so
-that \c
-.B as\c
-\& could keep assembling a flawed program; errors report a
-grave problem that stops the assembly.
-
-.SH OPTIONS
-.TP
-.BR \-a \||\| \-al \||\| \-as
-Turn on assembly listings; `\|\c
-.B \-al\c
-\&\|', listing only, `\|\c
-.B \-as\c
-\&\|', symbols
-only, `\|\c
-.B \-a\c
-\&\|', everything.
-.TP
-.B \-D
-This option is accepted only for script compatibility with calls to
-other assemblers; it has no effect on \c
-.B as\c
-\&.
-.TP
-.B \-f
-``fast''--skip preprocessing (assume source is compiler output).
-.TP
-.BI "\-I\ " path
-Add 
-.I path
-to the search list for 
-.B .include
-directives.
-.TP
-.B \-k
-Handle position independent code, generated by gcc -fpic.
-.TP
-.B \-K
-Handle position independent code, generated by gcc -fPIC.
-This is normally the same as -k.
-.TP
-.B \-L
-Keep (in symbol table) local symbols, starting with `\|\c
-.B L\c
-\|'
-.TP
-.BI "\-o\ " objfile
-Name the object-file output from \c
-.B as
-.TP
-.B \-R
-Fold data section into text section
-.TP
-.B \-v
-Announce \c
-.B as\c
-\& version
-.TP
-.B \-W
-Suppress warning messages
-.TP
-.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
-Source files to assemble, or standard input (\c
-.BR "\-\^\-" ")"
-.TP
-.BI \-A var
-.I
-(When configured for Intel 960.)
-Specify which variant of the 960 architecture is the target.
-.TP
-.B \-b
-.I
-(When configured for Intel 960.)
-Add code to collect statistics about branches taken.
-.TP
-.B \-norelax
-.I
-(When configured for Intel 960.)
-Do not alter compare-and-branch instructions for long displacements;
-error if necessary.
-.TP
-.B \-l
-.I
-(When configured for Motorola 68000).  
-.br
-Shorten references to undefined symbols, to one word instead of two.
-.TP
-.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
-.I
-(When configured for Motorola 68000).  
-.br
-Specify what processor in the 68000 family is the target (default 68020)
-
-.PP
-Options may be in any order, and may be
-before, after, or between file names.  The order of file names is
-significant.
-
-`\|\c
-.B \-\^\-\c
-\|' (two hyphens) by itself names the standard input file
-explicitly, as one of the files for \c
-.B as\c
-\& to assemble.
-
-Except for `\|\c
-.B \-\^\-\c
-\|' any command line argument that begins with a
-hyphen (`\|\c
-.B \-\c
-\|') is an option.  Each option changes the behavior of
-\c
-.B as\c
-\&.  No option changes the way another option works.  An
-option is a `\|\c
-.B \-\c
-\|' followed by one or more letters; the case of
-the letter is important.   All options are optional.
-
-The `\|\c
-.B \-o\c
-\|' option expects exactly one file name to follow.  The file
-name may either immediately follow the option's letter (compatible
-with older assemblers) or it may be the next command argument (GNU
-standard).  
-
-These two command lines are equivalent:
-.br
-.B
-as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
-.br
-.B
-as\ \ \-omy\-object\-file.o\ \ mumble.s
-
-.SH "SEE ALSO"
-.RB "`\|" as "\|'"
-entry in 
-.B
-info\c
-\&; 
-.I
-Using as: The GNU Assembler\c
-\&;
-.BR gcc "(" 1 "),"
-.BR ld "(" 1 ")."
-
-.SH HISTORY
-A
-.I as
-command appeared in
-Version 1 AT&T UNIX.
-
-.SH COPYING
-Copyright (c) 1991, 1992 Free Software Foundation, Inc.
-.PP
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-.PP
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-.PP
-Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be included in
-translations approved by the Free Software Foundation instead of in
-the original English.
diff --git a/gnu/usr.bin/as/as.c b/gnu/usr.bin/as/as.c
deleted file mode 100644 (file)
index c70e762..0000000
+++ /dev/null
@@ -1,427 +0,0 @@
-/* as.c - GAS main program.
-   Copyright (C) 1987, 1990, 1991, 1992 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 2, 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. */
-
-/*
- * Main program for AS; a 32-bit assembler of GNU.
- * Understands command arguments.
- * Has a few routines that don't fit in other modules because they
- * are shared.
- *
- *
- *                     bugs
- *
- * : initialisers
- *     Since no-one else says they will support them in future: I
- * don't support them now.
- *
- * $FreeBSD: src/gnu/usr.bin/as/as.c,v 1.7 1999/08/27 23:34:11 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/as.c,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#ifdef _POSIX_SOURCE
-#include <sys/types.h> /* For pid_t in signal.h */
-#endif
-#include <signal.h>
-
-#define COMMON
-
-#include "as.h"
-#include "subsegs.h"
-#if __STDC__ == 1
-
-/* This prototype for got_sig() is ansi.  If you want
-   anything else, then your compiler is lying to you when
-   it says that it is __STDC__.  If you want to change it,
-   #ifdef protect it from those of us with real ansi
-   compilers. */
-
-#define SIGTY void
-
-static void got_sig(int sig);
-static char *stralloc(char *str);
-static void perform_an_assembly_pass(int argc, char **argv);
-
-#else /* __STDC__ */
-
-#ifndef SIGTY
-#define SIGTY int
-#endif
-
-static SIGTY got_sig();
-static char *stralloc();       /* Make a (safe) copy of a string. */
-static void perform_an_assembly_pass();
-
-#endif /* not __STDC__ */
-
-#ifdef DONTDEF
-static char * gdb_symbol_file_name;
-long gdb_begin();
-#endif
-
-int listing; /* true if a listing is wanted */
-
-char *myname;          /* argv[0] */
-extern const char version_string[];
-\f
-int main(argc,argv)
-int argc;
-char **argv;
-{
-       int work_argc;  /* variable copy of argc */
-       char **work_argv;       /* variable copy of argv */
-       char *arg;              /* an arg to program */
-       char a;         /* an arg flag (after -) */
-       static const int sig[] = { SIGHUP, SIGINT, SIGPIPE, SIGTERM, 0};
-
-       for (a=0;sig[a] != 0;a++)
-           if (signal(sig[a], SIG_IGN) != SIG_IGN)
-               signal(sig[a], got_sig);
-
-       myname=argv[0];
-       memset(flagseen, '\0', sizeof(flagseen)); /* aint seen nothing yet */
-#ifndef OBJ_DEFAULT_OUTPUT_FILE_NAME
-#define OBJ_DEFAULT_OUTPUT_FILE_NAME "a.out"
-#endif /* OBJ_DEFAULT_OUTPUT_FILE_NAME */
-       out_file_name = OBJ_DEFAULT_OUTPUT_FILE_NAME;
-
-       symbol_begin();         /* symbols.c */
-       subsegs_begin();                /* subsegs.c */
-       read_begin();                   /* read.c */
-       md_begin();                     /* MACHINE.c */
-       input_scrub_begin();            /* input_scrub.c */
-#ifdef DONTDEF
-       gdb_symbol_file_name = 0;
-#endif
-       /*
-        * Parse arguments, but we are only interested in flags.
-        * When we find a flag, we process it then make it's argv[] NULL.
-        * This helps any future argv[] scanners avoid what we processed.
-        * Since it is easy to do here we interpret the special arg "-"
-        * to mean "use stdin" and we set that argv[] pointing to "".
-        * After we have munged argv[], the only things left are source file
-        * name(s) and ""(s) denoting stdin. These file names are used
-        * (perhaps more than once) later.
-        */
-       /* FIXME-SOMEDAY this should use getopt. */
-       work_argc = argc-1;             /* don't count argv[0] */
-       work_argv = argv+1;             /* skip argv[0] */
-       for (;work_argc--;work_argv++) {
-               arg = * work_argv;      /* work_argv points to this argument */
-
-               if (*arg != '-')                /* Filename. We need it later. */
-                   continue;   /* Keep scanning args looking for flags. */
-               if (arg[1] == '-' && arg[2] == 0) {
-                       /* "--" as an argument means read STDIN */
-                       /* on this scan, we don't want to think about filenames */
-                       * work_argv = "";       /* Code that means 'use stdin'. */
-                       continue;
-               }
-               /* This better be a switch. */
-               arg ++;         /*->letter. */
-
-               while ((a = * arg) != '\0')  {/* scan all the 1-char flags */
-                       arg ++; /* arg->after letter. */
-                       a &= 0x7F;      /* ascii only please */
-                       /* if (flagseen[a])
-                          as_tsktsk("%s: Flag option - %c has already been seen.", myname, a); */
-                       flagseen[a] = 1;
-                       switch (a) {
-
-                       case 'a':
-                               {
-                                       int loop =1;
-
-                                       while (loop) {
-                                               switch (*arg)
-                                                   {
-                                                   case 'l':
-                                                           listing |= LISTING_LISTING;
-                                                           arg++;
-                                                           break;
-                                                   case 's':
-                                                           listing |= LISTING_SYMBOLS;
-                                                           arg++;
-                                                           break;
-                                                   case 'h':
-                                                           listing |= LISTING_HLL;
-                                                           arg++;
-                                                           break;
-
-                                                   case 'n':
-                                                           listing |= LISTING_NOFORM;
-                                                           arg++;
-                                                           break;
-                                                   case 'd':
-                                                           listing |= LISTING_NODEBUG;
-                                                           arg++;
-                                                           break;
-                                                   default:
-                                                           if (!listing)
-                                                               listing= LISTING_DEFAULT;
-                                                           loop = 0;
-                                                           break;
-                                                   }
-                                       }
-                               }
-
-                               break;
-
-
-                       case 'f':
-                               break;  /* -f means fast - no need for "app" preprocessor. */
-
-                       case 'D':
-                               /* DEBUG is implemented: it debugs different */
-                               /* things to other people's assemblers. */
-                               break;
-
-#ifdef DONTDEF
-                       case 'G':       /* GNU AS switch: include gdbsyms. */
-                               if (*arg)       /* Rest of argument is file-name. */
-                                   gdb_symbol_file_name = stralloc (arg);
-                               else if (work_argc) {   /* Next argument is file-name. */
-                                       work_argc --;
-                                       * work_argv = NULL; /* Not a source file-name. */
-                                       gdb_symbol_file_name = * ++ work_argv;
-                               } else
-                                   as_warn("%s: I expected a filename after -G", myname);
-                               arg = "";       /* Finished with this arg. */
-                               break;
-#endif
-
-                       case 'I': { /* Include file directory */
-
-                               char *temp = NULL;
-                               if (*arg)
-                                   temp = stralloc (arg);
-                               else if (work_argc) {
-                                       * work_argv = NULL;
-                                       work_argc--;
-                                       temp = * ++ work_argv;
-                               } else
-                                   as_warn("%s: I expected a filename after -I", myname);
-                               add_include_dir (temp);
-                               arg = "";       /* Finished with this arg. */
-                               break;
-                       }
-
-                       case 'L': /* -L means keep L* symbols */
-                               break;
-
-                       case 'o':
-                               if (*arg)       /* Rest of argument is object file-name. */
-                                   out_file_name = stralloc (arg);
-                               else if (work_argc) {   /* Want next arg for a file-name. */
-                                       * work_argv = NULL; /* This is not a file-name. */
-                                       work_argc--;
-                                       out_file_name = * ++ work_argv;
-                               } else
-                                   as_warn("%s: I expected a filename after -o. \"%s\" assumed.", myname, out_file_name);
-                               arg = "";       /* Finished with this arg. */
-                               break;
-
-                       case 'R':
-                               /* -R means put data into text segment */
-                               break;
-
-                       case 'v':
-#ifdef OBJ_VMS
-                               {
-                                       extern char *compiler_version_string;
-                                       compiler_version_string = arg;
-                               }
-#else /* not OBJ_VMS */
-                               fprintf(stderr,version_string);
-                               if (*arg && strcmp(arg,"ersion"))
-                                   as_warn("Unknown -v option ignored");
-#endif /* not OBJ_VMS */
-                               while (*arg) arg++;     /* Skip the rest */
-                               break;
-
-                       case 'W':
-                               /* -W means don't warn about things */
-                       case 'X':
-                               /* -X means treat warnings as errors */
-                       case 'Z':
-                               /* -Z means attempt to generate object file even after errors. */
-                               break;
-
-                       default:
-                               --arg;
-                               if (md_parse_option(&arg,&work_argc,&work_argv) == 0)
-                                   as_warn("%s: I don't understand '%c' flag.", myname, a);
-                               if (arg && *arg)
-                                   arg++;
-                               break;
-                       }
-               }
-               /*
-                * We have just processed a "-..." arg, which was not a
-                * file-name. Smash it so the
-                * things that look for filenames won't ever see it.
-                *
-                * Whatever work_argv points to, it has already been used
-                * as part of a flag, so DON'T re-use it as a filename.
-                */
-               *work_argv = NULL; /* NULL means 'not a file-name' */
-       }
-#ifdef PIC
-       if (flagseen['K'] || flagseen['k'])
-               picmode = 1;
-#endif
-#ifdef DONTDEF
-       if (gdb_begin(gdb_symbol_file_name) == 0)
-           flagseen['G'] = 0;  /* Don't do any gdbsym stuff. */
-#endif
-       /* Here with flags set up in flagseen[]. */
-
-       perform_an_assembly_pass(argc,argv); /* Assemble it. */
-#ifdef TC_I960
-       brtab_emit();
-#endif
-       if (seen_at_least_1_file()
-           && !((had_warnings() && flagseen['Z'])
-                || had_errors() > 0)) {
-               write_object_file(); /* relax() addresses then emit object file */
-       } /* we also check in write_object_file() just before emit. */
-
-       input_scrub_end();
-       md_end();                       /* MACHINE.c */
-
-#ifndef NO_LISTING
-       listing_print("");
-#endif
-
-#ifndef        HO_VMS
-       return((had_warnings() && flagseen['Z'])
-              || had_errors() > 0);                    /* WIN */
-#else  /* HO_VMS */
-       return(!((had_warnings() && flagseen['Z'])
-                || had_errors() > 0));                 /* WIN */
-#endif /* HO_VMS */
-
-} /* main() */
-
-\f
-/*                     perform_an_assembly_pass()
- *
- * Here to attempt 1 pass over each input file.
- * We scan argv[*] looking for filenames or exactly "" which is
- * shorthand for stdin. Any argv that is NULL is not a file-name.
- * We set need_pass_2 TRUE if, after this, we still have unresolved
- * expressions of the form (unknown value)+-(unknown value).
- *
- * Note the un*x semantics: there is only 1 logical input file, but it
- * may be a catenation of many 'physical' input files.
- */
-static void perform_an_assembly_pass(argc, argv)
-int argc;
-char **argv;
-{
-       int saw_a_file = 0;
-       need_pass_2             = 0;
-
-#ifdef MANY_SEGMENTS
-       unsigned int i;
-
-       for (i= SEG_E0; i < SEG_UNKNOWN; i++)
-           {
-                   segment_info[i].fix_root = 0;
-           }
-       /* Create the three fixed ones */
-       subseg_new (SEG_E0, 0);
-       subseg_new (SEG_E1, 0);
-       subseg_new (SEG_E2, 0);
-       strcpy(segment_info[SEG_E0].scnhdr.s_name,".text");
-       strcpy(segment_info[SEG_E1].scnhdr.s_name,".data");
-       strcpy(segment_info[SEG_E2].scnhdr.s_name,".bss");
-
-       subseg_new (SEG_E0, 0);
-#else /* not MANY_SEGMENTS */
-       text_fix_root           = NULL;
-       data_fix_root           = NULL;
-       bss_fix_root            = NULL;
-
-       subseg_new (SEG_TEXT, 0);
-#endif /* not MANY_SEGMENTS */
-
-       argv++; /* skip argv[0] */
-       argc--; /* skip argv[0] */
-       while (argc--) {
-               if (*argv) { /* Is it a file-name argument? */
-                       saw_a_file++;
-                       /* argv->"" if stdin desired, else->filename */
-                       read_a_source_file(*argv);
-               }
-               argv++; /* completed that argv */
-       }
-       if (!saw_a_file)
-           read_a_source_file("");
-} /* perform_an_assembly_pass() */
-\f
-/*
- *                     stralloc()
- *
- * Allocate memory for a new copy of a string. Copy the string.
- * Return the address of the new string. Die if there is any error.
- */
-
-static char *
-    stralloc (str)
-char * str;
-{
-       register char * retval;
-       register long len;
-
-       len = strlen (str) + 1;
-       retval = xmalloc (len);
-       (void) strcpy(retval, str);
-       return(retval);
-}
-\f
-#ifdef comment
-static void lose() {
-       as_fatal("%s: 2nd pass not implemented - get your code from random(3)", myname);
-       return;
-} /* lose() */
-#endif /* comment */
-
-static SIGTY
-    got_sig(sig)
-int sig;
-{
-       static here_before = 0;
-
-       as_bad("Interrupted by signal %d", sig);
-       if (here_before++)
-           exit(1);
-       return((SIGTY) 0);
-}
-
-/*
- * Local Variables:
- * comment-column: 0
- * fill-column: 131
- * End:
- */
-
-/* end of as.c */
diff --git a/gnu/usr.bin/as/as.h b/gnu/usr.bin/as/as.h
deleted file mode 100644 (file)
index e59a665..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-/* as.h - global header file
-   Copyright (C) 1987, 1990, 1991, 1992 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 2, 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.  */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/as.h,v 1.8 1999/08/27 23:34:12 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/as.h,v 1.3 2004/01/23 20:53:09 joerg Exp $
- */
-
-#define GAS 1
-/* #include <ansidecl.h> */
-#include "host.h"
-#include "flonum.h"
-
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#define register
-#endif /* __GNUC__ */
-
-#ifndef __LINE__
-#define __LINE__ "unknown"
-#endif /* __LINE__ */
-
-#ifndef __FILE__
-#define __FILE__ "unknown"
-#endif /* __FILE__ */
-
-#ifndef PARAMS
-#if __STDC__ != 1
-#define PARAMS(x)      ()
-#else
-#define PARAMS(x)      x
-#endif
-#endif /*PARAMS */
-
-/*
- * I think this stuff is largely out of date.  xoxorich.
- *
- * CAPITALISED names are #defined.
- * "lowercaseH" is #defined if "lowercase.h" has been #include-d.
- * "lowercaseT" is a typedef of "lowercase" objects.
- * "lowercaseP" is type "pointer to object of type 'lowercase'".
- * "lowercaseS" is typedef struct ... lowercaseS.
- *
- * #define DEBUG to enable all the "know" assertion tests.
- * #define SUSPECT when debugging.
- * #define COMMON as "extern" for all modules except one, where you #define
- *     COMMON as "".
- * If TEST is #defined, then we are testing a module: #define COMMON as "".
- */
-
-/* These #defines are for parameters of entire assembler. */
-
-/* #define SUSPECT JF remove for speed testing */
-/* These #includes are for type definitions etc. */
-
-#include <stdio.h>
-#include <assert.h>
-#include <string.h>
-
-#define obstack_chunk_alloc xmalloc
-#define obstack_chunk_free xfree
-
-#define xfree free
-
-#define BAD_CASE(value) \
-{ \
-      as_fatal("Case value %d unexpected at line %d of file \"%s\"\n", \
-              value, __LINE__, __FILE__); \
-          }
-
-\f
-/* These are assembler-wide concepts */
-
-
-#ifndef COMMON
-#ifdef TEST
-#define COMMON                 /* declare our COMMONs storage here. */
-#else
-#define COMMON extern          /* our commons live elswhere */
-#endif
-#endif
-/* COMMON now defined */
-#define DEBUG /* temporary */
-
-#ifdef DEBUG
-#undef NDEBUG
-#ifndef know
-#define know(p) assert(p)      /* Verify our assumptions! */
-#endif /* not yet defined */
-#else
-#define know(p)                        /* know() checks are no-op.ed */
-#endif
-\f
-/* input_scrub.c */
-
-/*
- * Supplies sanitised buffers to read.c.
- * Also understands printing line-number part of error messages.
- */
-
-\f
-/* subsegs.c     Sub-segments. Also, segment(=expression type)s.*/
-
-/*
- * This table describes the use of segments as EXPRESSION types.
- *
- *     X_seg   X_add_symbol  X_subtract_symbol X_add_number
- * SEG_ABSENT                                          no (legal) expression
- * SEG_PASS1                                           no (defined) "
- * SEG_BIG                                     *       > 32 bits const.
- * SEG_ABSOLUTE                                        0
- * SEG_DATA            *                       0
- * SEG_TEXT            *                       0
- * SEG_BSS             *                       0
- * SEG_UNKNOWN         *                       0
- * SEG_DIFFERENCE      0               *       0
- * SEG_REGISTER                                        *
- *
- * The blank fields MUST be 0, and are nugatory.
- * The '0' fields MAY be 0. The '*' fields MAY NOT be 0.
- *
- * SEG_BIG: X_add_number is < 0 if the result is in
- *     generic_floating_point_number.  The value is -'c' where c is the
- *     character that introduced the constant.  e.g. "0f6.9" will have  -'f'
- *     as a X_add_number value.
- *     X_add_number > 0 is a count of how many littlenums it took to
- *     represent a bignum.
- * SEG_DIFFERENCE:
- * If segments of both symbols are known, they are the same segment.
- * X_add_symbol != X_sub_symbol (then we just cancel them, => SEG_ABSOLUTE).
- */
-
-
-#ifdef MANY_SEGMENTS
-#define N_SEGMENTS 10
-#define SEG_NORMAL(x) ((x) >= SEG_E0 && (x) <= SEG_E9)
-#define SEG_LIST SEG_E0,SEG_E1,SEG_E2,SEG_E3,SEG_E4,SEG_E5,SEG_E6,SEG_E7,SEG_E8,SEG_E9
-#define SEG_DATA SEG_E1
-#define SEG_TEXT SEG_E0
-#define SEG_BSS SEG_E2
-#else
-#define N_SEGMENTS 3
-#define SEG_NORMAL(x) ((x) == SEG_TEXT || (x) == SEG_DATA || (x) == SEG_BSS)
-#define SEG_LIST SEG_TEXT,SEG_DATA,SEG_BSS
-#endif
-
-typedef enum _segT {
-       SEG_ABSOLUTE = 0,
-       SEG_LIST,
-       SEG_UNKNOWN,
-       SEG_ABSENT,             /* Mythical Segment (absent): NO expression seen. */
-       SEG_PASS1,              /* Mythical Segment: Need another pass. */
-       SEG_GOOF,               /* Only happens if AS has a logic error. */
-       /* Invented so we don't crash printing */
-       /* error message involving weird segment. */
-       SEG_BIG,                /* Bigger than 32 bits constant. */
-       SEG_DIFFERENCE,         /* Mythical Segment: absolute difference. */
-       SEG_DEBUG,              /* Debug segment */
-       SEG_NTV,                /* Transfert vector preload segment */
-       SEG_PTV,                /* Transfert vector postload segment */
-       SEG_REGISTER,           /* Mythical: a register-valued expression */
-} segT;
-
-#define SEG_MAXIMUM_ORDINAL (SEG_REGISTER)
-
-typedef int subsegT;
-
-COMMON subsegT                 now_subseg;
-/* What subseg we are accreting now? */
-
-
-COMMON segT                    now_seg;
-/* Segment our instructions emit to. */
-/* Only OK values are SEG_TEXT or SEG_DATA. */
-
-
-extern char *const seg_name[];
-extern int section_alignment[];
-
-
-/* relax() */
-
-typedef enum _relax_state {
-       rs_fill, /* Variable chars to be repeated fr_offset times. Fr_symbol
-                   unused. Used with fr_offset == 0 for a constant length
-                   frag. */
-
-       rs_align, /* Align: Fr_offset: power of 2. 1 variable char: fill
-                    character. */
-
-       rs_org, /* Org: Fr_offset, fr_symbol: address. 1 variable char: fill
-                  character. */
-
-       rs_machine_dependent,
-
-#ifndef WORKING_DOT_WORD
-       rs_broken_word,         /* JF: gunpoint */
-#endif
-} relax_stateT;
-
-/* typedef unsigned char relax_substateT; */
-/* JF this is more likely to leave the end of a struct frag on an align
-   boundry.  Be very careful with this.  */
-typedef unsigned long relax_substateT;
-
-typedef unsigned long relax_addressT;/* Enough bits for address. */
-/* Still an integer type. */
-
-\f
-/* frags.c */
-
-/*
- * A code fragment (frag) is some known number of chars, followed by some
- * unknown number of chars. Typically the unknown number of chars is an
- * instruction address whose size is yet unknown. We always know the greatest
- * possible size the unknown number of chars may become, and reserve that
- * much room at the end of the frag.
- * Once created, frags do not change address during assembly.
- * We chain the frags in (a) forward-linked list(s). The object-file address
- * of the 1st char of a frag is generally not known until after relax().
- * Many things at assembly time describe an address by {object-file-address
- * of a particular frag}+offset.
-
- BUG: it may be smarter to have a single pointer off to various different
- notes for different frag kinds. See how code pans
- */
-struct frag                    /* a code fragment */
-{
-       unsigned long fr_address; /* Object file address. */
-       struct frag *fr_next;   /* Chain forward; ascending address order. */
-       /* Rooted in frch_root. */
-
-       long fr_fix;    /* (Fixed) number of chars we know we have. */
-       /* May be 0. */
-       long fr_var;    /* (Variable) number of chars after above. */
-       /* May be 0. */
-       struct symbol *fr_symbol; /* For variable-length tail. */
-       long fr_offset; /* For variable-length tail. */
-       char    *fr_opcode;     /*->opcode low addr byte,for relax()ation*/
-       relax_stateT fr_type;   /* What state is my tail in? */
-       relax_substateT fr_subtype;
-       /* These are needed only on the NS32K machines */
-       char    fr_pcrel_adjust;
-       char    fr_bsr;
-#ifndef NO_LISTING
-       struct list_info_struct *line;
-#endif
-       char    fr_literal[1];  /* Chars begin here. */
-       /* One day we will compile fr_literal[0]. */
-};
-#define SIZEOF_STRUCT_FRAG \
-((int)zero_address_frag.fr_literal-(int)&zero_address_frag)
-/* We want to say fr_literal[0] above. */
-
-typedef struct frag fragS;
-
-COMMON fragS *frag_now;        /* -> current frag we are building. */
-/* This frag is incomplete. */
-/* It is, however, included in frchain_now. */
-/* Frag_now->fr_fix is bogus. Use: */
-/* Virtual frag_now->fr_fix == obstack_next_free(&frags)-frag_now->fr_literal.*/
-
-COMMON fragS zero_address_frag;        /* For foreign-segment symbol fixups. */
-COMMON fragS  bss_address_frag;        /* For local common (N_BSS segment) fixups. */
-
-/* main program "as.c" (command arguments etc) */
-
-COMMON char
-    flagseen[128];                     /* ['x'] TRUE if "-x" seen. */
-
-COMMON char *
-    out_file_name;                     /* name of emitted object file */
-
-COMMON int     need_pass_2;    /* TRUE if we need a second pass. */
-
-COMMON int     picmode;        /* TRUE if "-k" or "-K" seen. */
-
-typedef struct {
-       char *  poc_name;       /* assembler mnemonic, lower case, no '.' */
-       void            (*poc_handler)();       /* Do the work */
-       int             poc_val;        /* Value to pass to handler */
-} pseudo_typeS;
-
-int had_errors(void);
-int had_warnings(void);
-void as_bad(const char *Format, ...);
-void as_fatal(const char *Format, ...);
-void as_tsktsk(const char *Format, ...);
-void as_warn(const char *Format, ...);
-
-char *app_push(void);
-char *atof_ieee(char *str, int what_kind, LITTLENUM_TYPE *words);
-char *input_scrub_include_file(char *filename, char *position);
-char *input_scrub_new_file(char *filename);
-char *input_scrub_next_buffer(char **bufp);
-char *strstr(const char *s, const char *wanted);
-char *xmalloc(int size);
-char *xrealloc(char *ptr, long n);
-int do_scrub_next_char(int (*get)(), void (*unget)());
-int gen_to_words(LITTLENUM_TYPE *words, int precision, long exponent_bits);
-int had_err(void);
-int had_errors(void);
-int had_warnings(void);
-int ignore_input(void);
-int scrub_from_file(void);
-int scrub_from_file(void);
-int scrub_from_string(void);
-int seen_at_least_1_file(void);
-void app_pop(char *arg);
-void as_howmuch(FILE *stream);
-void as_perror(const char *gripe, const char *filename);
-void as_where(char **, unsigned int *);
-void bump_line_counters(void);
-void do_scrub_begin(void);
-void input_scrub_begin(void);
-void input_scrub_close(void);
-void input_scrub_end(void);
-void int_to_gen(long x);
-void new_logical_line(char *fname, int line_number);
-void scrub_to_file(int ch);
-void scrub_to_string(int ch);
-void subseg_change(segT seg, int subseg);
-void subseg_new(segT seg, subsegT subseg);
-void subsegs_begin(void);
-
-/* this one starts the chain of target dependant headers */
-#include "targ-env.h"
-
-/* these define types needed by the interfaces */
-#include "struc-symbol.h"
-#include "write.h"
-#include "expr.h"
-#include "frags.h"
-#include "hash.h"
-#include "read.h"
-#include "symbols.h"
-
-#include "tc.h"
-#include "obj.h"
-
-#include "listing.h"
-
-/*
- * Local Variables:
- * comment-column: 0
- * fill-column: 131
- * End:
- */
-
-/* end of as.h */
diff --git a/gnu/usr.bin/as/atof-generic.c b/gnu/usr.bin/as/atof-generic.c
deleted file mode 100644 (file)
index 5635ac6..0000000
+++ /dev/null
@@ -1,526 +0,0 @@
-/* atof_generic.c - turn a string of digits into a Flonum
-   Copyright (C) 1987, 1990, 1991, 1992 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 2, 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.  */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/atof-generic.c,v 1.6 1999/08/27 23:34:12 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/atof-generic.c,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-#include <ctype.h>
-#include <string.h>
-
-#include "as.h"
-
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else
-#ifdef sparc
-#include <alloca.h>
-#endif
-#endif
-
-/* #define FALSE (0) */
-/* #define TRUE  (1) */
-
-/***********************************************************************\
- *                                                                     *
- *     Given a string of decimal digits , with optional decimal        *
- *     mark and optional decimal exponent (place value) of the         *
- *     lowest_order decimal digit: produce a floating point            *
- *     number. The number is 'generic' floating point: our             *
- *     caller will encode it for a specific machine architecture.      *
- *                                                                     *
- *     Assumptions                                                     *
- *             uses base (radix) 2                                     *
- *             this machine uses 2's complement binary integers        *
- *             target flonums use "      "         "       "           *
- *             target flonums exponents fit in a long          *
- *                                                                     *
- \***********************************************************************/
-
-/*
-
-  Syntax:
-
-  <flonum> ::= <optional-sign> <decimal-number> <optional-exponent>
-  <optional-sign> ::= '+' | '-' | {empty}
-  <decimal-number> ::= <integer>
-  | <integer> <radix-character>
-  | <integer> <radix-character> <integer>
-  | <radix-character> <integer>
-
-  <optional-exponent> ::= {empty}
-  | <exponent-character> <optional-sign> <integer>
-
-  <integer> ::= <digit> | <digit> <integer>
-  <digit> ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
-  <exponent-character> ::= {one character from "string_of_decimal_exponent_marks"}
-  <radix-character> ::= {one character from "string_of_decimal_marks"}
-
-  */
-
-int                            /* 0 if OK */
-    atof_generic (
-                 address_of_string_pointer, /* return pointer to just
-                                               AFTER number we read. */
-                 string_of_decimal_marks, /* At most one per number. */
-                 string_of_decimal_exponent_marks,
-                 address_of_generic_floating_point_number)
-char **address_of_string_pointer;
-const char *string_of_decimal_marks;
-const char *string_of_decimal_exponent_marks;
-FLONUM_TYPE *address_of_generic_floating_point_number;
-{
-       int return_value; /* 0 means OK. */
-       char * first_digit;
-       /* char *last_digit; JF unused */
-       int number_of_digits_before_decimal;
-       int number_of_digits_after_decimal;
-       long decimal_exponent;
-       int number_of_digits_available;
-       char digits_sign_char;
-
-       /*
-        * Scan the input string, abstracting (1)digits (2)decimal mark (3) exponent.
-        * It would be simpler to modify the string, but we don't; just to be nice
-        * to caller.
-        * We need to know how many digits we have, so we can allocate space for
-        * the digits' value.
-        */
-
-       char *p;
-       char c;
-       int seen_significant_digit;
-
-       first_digit = *address_of_string_pointer;
-       c = *first_digit;
-
-       if (c == '-' || c == '+') {
-               digits_sign_char = c;
-               first_digit++;
-       } else
-           digits_sign_char = '+';
-
-       if ((first_digit[0] == 'n' || first_digit[0] == 'N')
-           && (first_digit[1] == 'a' || first_digit[1] == 'A')
-           && (first_digit[2] == 'n' || first_digit[2] == 'N')) {
-               address_of_generic_floating_point_number->sign = 0;
-               address_of_generic_floating_point_number->exponent = 0;
-               address_of_generic_floating_point_number->leader =
-                   address_of_generic_floating_point_number->low;
-               *address_of_string_pointer = first_digit + 3;
-               return(0);
-       }
-
-       /* 99e999 is a "special" token to some older, broken compilers.  */
-       if ((first_digit[0] == 'i' || first_digit[0] == 'I')
-            && (first_digit[1] == 'n' || first_digit[1] == 'N')
-            && (first_digit[2] == 'f' || first_digit[2] == 'F')) {
-               address_of_generic_floating_point_number->sign =
-                   digits_sign_char == '+' ? 'P' : 'N';
-               address_of_generic_floating_point_number->exponent = 0;
-               address_of_generic_floating_point_number->leader =
-                   address_of_generic_floating_point_number->low;
-
-               if ((first_digit[3] == 'i' || first_digit[3] == 'I')
-                   && (first_digit[4] == 'n' || first_digit[4] == 'N')
-                   && (first_digit[5] == 'i' || first_digit[5] == 'I')
-                   && (first_digit[6] == 't' || first_digit[6] == 'T')
-                   && (first_digit[7] == 'y' || first_digit[7] == 'Y')) {
-                       *address_of_string_pointer = first_digit + 8;
-               } else {
-                       *address_of_string_pointer = first_digit + 3;
-               }
-               return(0);
-       }
-
-       if (strncmp(first_digit, "99e999", 6) == 0) {
-               address_of_generic_floating_point_number->sign =
-                   digits_sign_char == '+' ? 'P' : 'N';
-               address_of_generic_floating_point_number->exponent = 0;
-               address_of_generic_floating_point_number->leader =
-                   address_of_generic_floating_point_number->low;
-               *address_of_string_pointer = first_digit + 6;
-               return(0);
-       }
-
-       number_of_digits_before_decimal = 0;
-       number_of_digits_after_decimal = 0;
-       decimal_exponent = 0;
-       seen_significant_digit = 0;
-       for (p = first_digit; (((c = * p) != '\0')
-                              && (!c || ! strchr(string_of_decimal_marks, c))
-                              && (!c || !strchr(string_of_decimal_exponent_marks, c)));
-            p++) {
-               if (isdigit(c)) {
-                       if (seen_significant_digit || c > '0') {
-                               ++number_of_digits_before_decimal;
-                               seen_significant_digit = 1;
-                       } else {
-                               first_digit++;
-                       }
-               } else {
-                       break; /* p -> char after pre-decimal digits. */
-               }
-       } /* For each digit before decimal mark. */
-
-#ifndef OLD_FLOAT_READS
-       /* Ignore trailing 0's after the decimal point.  The original code here
-        * (ifdef'd out) does not do this, and numbers like
-        *      4.29496729600000000000e+09      (2**31)
-        * come out inexact for some reason related to length of the digit
-        * string.
-        */
-       if (c && strchr(string_of_decimal_marks, c)) {
-               int zeros = 0;  /* Length of current string of zeros */
-
-               for (p++; (c = *p) && isdigit(c); p++) {
-                       if (c == '0') {
-                               zeros++;
-                       } else {
-                               number_of_digits_after_decimal += 1 + zeros;
-                               zeros = 0;
-                       }
-               }
-       }
-#else
-       if (c && strchr(string_of_decimal_marks, c)) {
-               for (p++; (((c = *p) != '\0')
-                          && (!c || !strchr(string_of_decimal_exponent_marks, c)));
-                    p++) {
-                       if (isdigit(c)) {
-                               number_of_digits_after_decimal++; /* This may be retracted below. */
-                               if (/* seen_significant_digit || */ c > '0') {
-                                       seen_significant_digit = TRUE;
-                               }
-                       } else {
-                               if (!seen_significant_digit) {
-                                       number_of_digits_after_decimal = 0;
-                               }
-                               break;
-                       }
-               } /* For each digit after decimal mark. */
-       }
-
-       while (number_of_digits_after_decimal && first_digit[number_of_digits_before_decimal
-                                                            + number_of_digits_after_decimal] == '0')
-           --number_of_digits_after_decimal;
-       /* last_digit = p; JF unused */
-#endif
-
-       if (c && strchr(string_of_decimal_exponent_marks, c) ) {
-               char digits_exponent_sign_char;
-
-               c = *++p;
-               if (c && strchr ("+-",c)) {
-                       digits_exponent_sign_char = c;
-                       c = *++p;
-               } else {
-                       digits_exponent_sign_char = '+';
-               }
-
-               for ( ; (c); c = *++p) {
-                       if (isdigit(c)) {
-                               decimal_exponent = decimal_exponent * 10 + c - '0';
-                               /*
-                                * BUG! If we overflow here, we lose!
-                                */
-                       } else {
-                               break;
-                       }
-               }
-
-               if (digits_exponent_sign_char == '-') {
-                       decimal_exponent = -decimal_exponent;
-               }
-       }
-
-       *address_of_string_pointer = p;
-
-
-
-       number_of_digits_available =
-           number_of_digits_before_decimal + number_of_digits_after_decimal;
-       return_value = 0;
-       if (number_of_digits_available == 0) {
-               address_of_generic_floating_point_number->exponent = 0; /* Not strictly necessary */
-               address_of_generic_floating_point_number->leader
-                   = -1 + address_of_generic_floating_point_number->low;
-               address_of_generic_floating_point_number->sign = digits_sign_char;
-               /* We have just concocted (+/-)0.0E0 */
-
-       } else {
-               int count;      /* Number of useful digits left to scan. */
-
-               LITTLENUM_TYPE *digits_binary_low;
-               int precision;
-               int maximum_useful_digits;
-               int number_of_digits_to_use;
-               int more_than_enough_bits_for_digits;
-               int more_than_enough_littlenums_for_digits;
-               int size_of_digits_in_littlenums;
-               int size_of_digits_in_chars;
-               FLONUM_TYPE power_of_10_flonum;
-               FLONUM_TYPE digits_flonum;
-
-               precision = (address_of_generic_floating_point_number->high
-                            - address_of_generic_floating_point_number->low
-                            + 1); /* Number of destination littlenums. */
-
-               /* Includes guard bits (two littlenums worth) */
-               maximum_useful_digits = (((double) (precision - 2))
-                                        * ((double) (LITTLENUM_NUMBER_OF_BITS))
-                                        / (LOG_TO_BASE_2_OF_10))
-                   + 2; /* 2 :: guard digits. */
-
-               if (number_of_digits_available > maximum_useful_digits) {
-                       number_of_digits_to_use = maximum_useful_digits;
-               } else {
-                       number_of_digits_to_use = number_of_digits_available;
-               }
-
-               decimal_exponent += number_of_digits_before_decimal - number_of_digits_to_use;
-
-               more_than_enough_bits_for_digits
-                   = ((((double)number_of_digits_to_use) * LOG_TO_BASE_2_OF_10) + 1);
-
-               more_than_enough_littlenums_for_digits
-                   = (more_than_enough_bits_for_digits
-                      / LITTLENUM_NUMBER_OF_BITS)
-                       + 2;
-
-               /*
-                * Compute (digits) part. In "12.34E56" this is the "1234" part.
-                * Arithmetic is exact here. If no digits are supplied then
-                * this part is a 0 valued binary integer.
-                * Allocate room to build up the binary number as littlenums.
-                * We want this memory to disappear when we leave this function.
-                * Assume no alignment problems => (room for n objects) ==
-                * n * (room for 1 object).
-                */
-
-               size_of_digits_in_littlenums = more_than_enough_littlenums_for_digits;
-               size_of_digits_in_chars = size_of_digits_in_littlenums
-                   * sizeof(LITTLENUM_TYPE);
-
-               digits_binary_low = (LITTLENUM_TYPE *)
-                   alloca(size_of_digits_in_chars);
-
-               memset((char *)digits_binary_low, '\0', size_of_digits_in_chars);
-
-               /* Digits_binary_low[] is allocated and zeroed. */
-
-               /*
-                * Parse the decimal digits as if * digits_low was in the units position.
-                * Emit a binary number into digits_binary_low[].
-                *
-                * Use a large-precision version of:
-                * (((1st-digit) * 10 + 2nd-digit) * 10 + 3rd-digit ...) * 10 + last-digit
-                */
-
-               for (p = first_digit, count = number_of_digits_to_use; count; p++,  --count) {
-                       c = *p;
-                       if (isdigit(c)) {
-                               /*
-                                * Multiply by 10. Assume can never overflow.
-                                * Add this digit to digits_binary_low[].
-                                */
-
-                               long carry;
-                               LITTLENUM_TYPE *littlenum_pointer;
-                               LITTLENUM_TYPE *littlenum_limit;
-
-                               littlenum_limit = digits_binary_low
-                                   + more_than_enough_littlenums_for_digits
-                                       - 1;
-
-                               carry = c - '0'; /* char -> binary */
-
-                               for (littlenum_pointer = digits_binary_low;
-                                    littlenum_pointer <= littlenum_limit;
-                                    littlenum_pointer++) {
-                                       long work;
-
-                                       work = carry + 10 * (long) (*littlenum_pointer);
-                                       *littlenum_pointer = work & LITTLENUM_MASK;
-                                       carry = work >> LITTLENUM_NUMBER_OF_BITS;
-                               }
-
-                               if (carry != 0) {
-                                       /*
-                                        * We have a GROSS internal error.
-                                        * This should never happen.
-                                        */
-                                       as_fatal("failed sanity check.");       /* RMS prefers abort() to any message. */
-                               }
-                       } else {
-                               ++ count;       /* '.' doesn't alter digits used count. */
-                       } /* if valid digit */
-               } /* for each digit */
-
-
-               /*
-                * Digits_binary_low[] properly encodes the value of the digits.
-                * Forget about any high-order littlenums that are 0.
-                */
-               while (digits_binary_low[size_of_digits_in_littlenums - 1] == 0
-                      && size_of_digits_in_littlenums >= 2)
-                   size_of_digits_in_littlenums--;
-
-               digits_flonum.low       = digits_binary_low;
-               digits_flonum.high      = digits_binary_low + size_of_digits_in_littlenums - 1;
-               digits_flonum.leader    = digits_flonum.high;
-               digits_flonum.exponent = 0;
-               /*
-                * The value of digits_flonum.sign should not be important.
-                * We have already decided the output's sign.
-                * We trust that the sign won't influence the other parts of the number!
-                * So we give it a value for these reasons:
-                * (1) courtesy to humans reading/debugging
-                *     these numbers so they don't get excited about strange values
-                * (2) in future there may be more meaning attached to sign,
-                *     and what was
-                *     harmless noise may become disruptive, ill-conditioned (or worse)
-                *     input.
-                */
-               digits_flonum.sign = '+';
-
-               {
-                       /*
-                        * Compute the mantssa (& exponent) of the power of 10.
-                        * If sucessful, then multiply the power of 10 by the digits
-                        * giving return_binary_mantissa and return_binary_exponent.
-                        */
-
-                       LITTLENUM_TYPE *power_binary_low;
-                       int decimal_exponent_is_negative;
-                       /* This refers to the "-56" in "12.34E-56". */
-                       /* FALSE: decimal_exponent is positive (or 0) */
-                       /* TRUE:  decimal_exponent is negative */
-                       FLONUM_TYPE temporary_flonum;
-                       LITTLENUM_TYPE *temporary_binary_low;
-                       int size_of_power_in_littlenums;
-                       int size_of_power_in_chars;
-
-                       size_of_power_in_littlenums = precision;
-                       /* Precision has a built-in fudge factor so we get a few guard bits. */
-
-                       decimal_exponent_is_negative = decimal_exponent < 0;
-                       if (decimal_exponent_is_negative) {
-                               decimal_exponent = -decimal_exponent;
-                       }
-
-                       /* From now on: the decimal exponent is > 0. Its sign is seperate. */
-
-                       size_of_power_in_chars = size_of_power_in_littlenums
-                           * sizeof(LITTLENUM_TYPE) + 2;
-
-                       power_binary_low = (LITTLENUM_TYPE *) alloca(size_of_power_in_chars);
-                       temporary_binary_low = (LITTLENUM_TYPE *) alloca(size_of_power_in_chars);
-                       memset((char *)power_binary_low, '\0', size_of_power_in_chars);
-                       * power_binary_low = 1;
-                       power_of_10_flonum.exponent = 0;
-                       power_of_10_flonum.low = power_binary_low;
-                       power_of_10_flonum.leader = power_binary_low;
-                       power_of_10_flonum.high = power_binary_low + size_of_power_in_littlenums - 1;
-                       power_of_10_flonum.sign = '+';
-                       temporary_flonum.low = temporary_binary_low;
-                       temporary_flonum.high = temporary_binary_low + size_of_power_in_littlenums - 1;
-                       /*
-                        * (power) == 1.
-                        * Space for temporary_flonum allocated.
-                        */
-
-                       /*
-                        * ...
-                        *
-                        * WHILE        more bits
-                        * DO   find next bit (with place value)
-                        *      multiply into power mantissa
-                        * OD
-                        */
-                       {
-                               int place_number_limit;
-                               /* Any 10^(2^n) whose "n" exceeds this */
-                               /* value will fall off the end of */
-                               /* flonum_XXXX_powers_of_ten[]. */
-                               int place_number;
-                               const FLONUM_TYPE *multiplicand; /* -> 10^(2^n) */
-
-                               place_number_limit = table_size_of_flonum_powers_of_ten;
-
-                               multiplicand = (decimal_exponent_is_negative
-                                               ? flonum_negative_powers_of_ten
-                                               : flonum_positive_powers_of_ten);
-
-                               for (place_number = 1;  /* Place value of this bit of exponent. */
-                                    decimal_exponent;  /* Quit when no more 1 bits in exponent. */
-                                    decimal_exponent >>= 1, place_number++) {
-                                       if (decimal_exponent & 1) {
-                                               if (place_number > place_number_limit) {
-                                                       /*
-                                                        * The decimal exponent has a magnitude so great that
-                                                        * our tables can't help us fragment it.  Although this
-                                                        * routine is in error because it can't imagine a
-                                                        * number that big, signal an error as if it is the
-                                                        * user's fault for presenting such a big number.
-                                                        */
-                                                       return_value = ERROR_EXPONENT_OVERFLOW;
-                                                       /*
-                                                        * quit out of loop gracefully
-                                                        */
-                                                       decimal_exponent = 0;
-                                               } else {
-#ifdef TRACE
-                                                       printf("before multiply, place_number = %d., power_of_10_flonum:\n",
-                                                              place_number);
-
-                                                       flonum_print(&power_of_10_flonum);
-                                                       (void)putchar('\n');
-#endif
-                                                       flonum_multip(multiplicand + place_number,
-                                                                     &power_of_10_flonum, &temporary_flonum);
-                                                       flonum_copy(&temporary_flonum, &power_of_10_flonum);
-                                               } /* If this bit of decimal_exponent was computable.*/
-                                       } /* If this bit of decimal_exponent was set. */
-                               } /* For each bit of binary representation of exponent */
-#ifdef TRACE
-                               printf(" after computing power_of_10_flonum: ");
-                               flonum_print(&power_of_10_flonum );
-                               (void) putchar('\n');
-#endif
-                       }
-
-               }
-
-               /*
-                * power_of_10_flonum is power of ten in binary (mantissa) , (exponent).
-                * It may be the number 1, in which case we don't NEED to multiply.
-                *
-                * Multiply (decimal digits) by power_of_10_flonum.
-                */
-
-               flonum_multip(&power_of_10_flonum, &digits_flonum, address_of_generic_floating_point_number);
-               /* Assert sign of the number we made is '+'. */
-               address_of_generic_floating_point_number->sign = digits_sign_char;
-
-       } /* If we had any significant digits. */
-       return(return_value);
-} /* atof_generic () */
-
-/* end of atof_generic.c */
diff --git a/gnu/usr.bin/as/bignum-copy.c b/gnu/usr.bin/as/bignum-copy.c
deleted file mode 100644 (file)
index 8f1bff1..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* bignum_copy.c - copy a bignum
-   Copyright (C) 1987, 1990, 1991, 1992 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 2, 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. */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/bignum-copy.c,v 1.6 1999/08/27 23:34:12 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/bignum-copy.c,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-#include "as.h"
-
-/*
- *                     bignum_copy ()
- *
- * Copy a bignum from in to out.
- * If the output is shorter than the input, copy lower-order littlenums.
- * Return 0 or the number of significant littlenums dropped.
- * Assumes littlenum arrays are densely packed: no unused chars between
- * the littlenums. Uses memcpy() to move littlenums, and wants to
- * know length (in chars) of the input bignum.
- */
-
-/* void */
-int
-    bignum_copy(in, in_length, out, out_length)
-register LITTLENUM_TYPE *in;
-register int in_length; /* in sizeof(littlenum)s */
-register LITTLENUM_TYPE *out;
-register int out_length; /* in sizeof(littlenum)s */
-{
-       int significant_littlenums_dropped;
-
-       if (out_length < in_length) {
-               LITTLENUM_TYPE *p; /* -> most significant (non-zero) input
-                                     littlenum. */
-
-               memcpy((void *) out, (void *) in,
-                     out_length << LITTLENUM_SHIFT);
-               for (p = in + in_length - 1; p >= in; --p) {
-                       if (* p) break;
-               }
-               significant_littlenums_dropped = p - in - in_length + 1;
-
-               if (significant_littlenums_dropped < 0) {
-                       significant_littlenums_dropped = 0;
-               }
-       } else {
-               memcpy((char *) out, (char *) in,
-                     in_length << LITTLENUM_SHIFT);
-
-               if (out_length > in_length) {
-                       memset((char *) (out + out_length),
-                             '\0', (out_length - in_length) << LITTLENUM_SHIFT);
-               }
-
-               significant_littlenums_dropped = 0;
-       }
-
-       return(significant_littlenums_dropped);
-} /* bignum_copy() */
-
-/* end of bignum-copy.c */
diff --git a/gnu/usr.bin/as/bignum.h b/gnu/usr.bin/as/bignum.h
deleted file mode 100644 (file)
index 04b85ca..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* bignum.h-arbitrary precision integers
-   Copyright (C) 1987, 1992 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 2, 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.  */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/bignum.h,v 1.6 1999/08/27 23:34:13 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/bignum.h,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-
-/***********************************************************************\
- *                                                                     *
- *     Arbitrary-precision integer arithmetic.                         *
- *     For speed, we work in groups of bits, even though this          *
- *     complicates algorithms.                                         *
- *     Each group of bits is called a 'littlenum'.                     *
- *     A bunch of littlenums representing a (possibly large)           *
- *     integer is called a 'bignum'.                                   *
- *     Bignums are >= 0.                                               *
- *                                                                     *
- \***********************************************************************/
-
-#define        LITTLENUM_NUMBER_OF_BITS        (16)
-#define        LITTLENUM_RADIX                 (1 << LITTLENUM_NUMBER_OF_BITS)
-#define        LITTLENUM_MASK                  (0xFFFF)
-#define LITTLENUM_SHIFT                        (1)
-#define CHARS_PER_LITTLENUM            (1 << LITTLENUM_SHIFT)
-#ifndef BITS_PER_CHAR
-#define BITS_PER_CHAR                  (8)
-#endif
-
-typedef unsigned short LITTLENUM_TYPE;
-
-/* JF truncated this to get around a problem with GCC */
-#define        LOG_TO_BASE_2_OF_10 (3.3219280948873623478703194294893901758651)
-/* WARNING: I haven't checked that the trailing digits are correct! */
-
- /* lengths are in sizeof(littlenum)s */
-#if __STDC__ == 1
-
-int bignum_copy(LITTLENUM_TYPE *in, int in_length,
-               LITTLENUM_TYPE *out, int out_length);
-
-#else
-
-int bignum_copy();
-
-#endif /* __STDC__ */
-
-
-/* end of bignum.h */
diff --git a/gnu/usr.bin/as/bit_fix.h b/gnu/usr.bin/as/bit_fix.h
deleted file mode 100644 (file)
index d704c4e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/* write.h
-
-   Copyright (C) 1987, 1992 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 2, 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.  */
-/*
- * $FreeBSD: src/gnu/usr.bin/as/bit_fix.h,v 1.5 1999/08/27 23:34:13 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/bit_fix.h,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-
-
-/* The bit_fix was implemented to support machines that need variables
-   to be inserted in bitfields other than 1, 2 and 4 bytes.
-   Furthermore it gives us a possibillity to mask in bits in the symbol
-   when it's fixed in the objectcode and check the symbols limits.
-
-   The or-mask is used to set the huffman bits in displacements for the
-   ns32k port.
-   The acbi, addqi, movqi, cmpqi instruction requires an assembler that
-   can handle bitfields. Ie handle an expression, evaluate it and insert
-   the result in an some bitfield. ( ex: 5 bits in a short field of a opcode)
-   */
-
-#ifndef __bit_fix_h__
-#define __bit_fix_h__
-
-struct bit_fix {
-       int fx_bit_size;           /* Length of bitfield */
-       int fx_bit_offset;         /* Bit offset to bitfield */
-       long fx_bit_base;          /* Where do we apply the bitfix.
-                                     If this is zero, default is assumed. */
-       long fx_bit_base_adj;      /* Adjustment of base */
-       long fx_bit_max;           /* Signextended max for bitfield */
-       long fx_bit_min;           /* Signextended min for bitfield */
-       long fx_bit_add;           /* Or mask, used for huffman prefix */
-};
-typedef struct bit_fix bit_fixS;
-
-#endif /* __bit_fix_h__ */
-
- /* end of bit_fix.h */
diff --git a/gnu/usr.bin/as/cond.c b/gnu/usr.bin/as/cond.c
deleted file mode 100644 (file)
index c3d4007..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-/* cond.c - conditional assembly pseudo-ops, and .include
-   Copyright (C) 1990, 1991, 1992, 1993 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 2, 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.  */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/cond.c,v 1.6 1999/08/27 23:34:13 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/Attic/cond.c,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-#include "as.h"
-
-#include "obstack.h"
-
-/* This is allocated to grow and shrink as .ifdef/.endif pairs are scanned. */
-struct obstack cond_obstack;
-
-struct file_line
-{
-  char *file;
-  unsigned int line;
-};                             /* file_line */
-
-/* This is what we push and pop. */
-struct conditional_frame
-  {
-    struct file_line if_file_line;     /* the source file & line number of the "if" */
-    struct file_line else_file_line;   /* the source file & line of the "else" */
-    struct conditional_frame *previous_cframe;
-    int else_seen;             /* have we seen an else yet? */
-    int ignoring;              /* if we are currently ignoring input. */
-    int dead_tree;             /* if a conditional at a higher level is ignoring input. */
-  };                           /* conditional_frame */
-
-static void initialize_cframe PARAMS ((struct conditional_frame *cframe));
-
-static struct conditional_frame *current_cframe = NULL;
-
-void
-s_ifdef (arg)
-     int arg;
-{
-  register char *name;         /* points to name of symbol */
-  register struct symbol *symbolP;     /* Points to symbol */
-  struct conditional_frame cframe;
-
-  SKIP_WHITESPACE ();          /* Leading whitespace is part of operand. */
-  name = input_line_pointer;
-
-  if (!is_name_beginner (*name))
-    {
-      as_bad ("invalid identifier for \".ifdef\"");
-      obstack_1grow (&cond_obstack, 0);
-    }
-  else
-    {
-      get_symbol_end ();
-      ++input_line_pointer;
-      symbolP = symbol_find (name);
-
-      initialize_cframe (&cframe);
-      cframe.ignoring = cframe.dead_tree || !((symbolP != 0) ^ arg);
-      current_cframe = (struct conditional_frame *) obstack_copy (&cond_obstack, &cframe, sizeof (cframe));
-    }                          /* if a valid identifyer name */
-
-  return;
-}                              /* s_ifdef() */
-
-void
-s_if (arg)
-     int arg;
-{
-  expressionS operand;
-  struct conditional_frame cframe;
-
-  SKIP_WHITESPACE ();          /* Leading whitespace is part of operand. */
-  expression (&operand);
-
-#ifdef notyet
-  if (operand.X_op != O_constant)
-    as_bad ("non-constant expression in \".if\" statement");
-#else
-  if (operand.X_add_symbol != NULL || operand.X_subtract_symbol != NULL) {
-       as_bad("non-constant expression in \".if\" statement");
-  } /* bad condition */
-#endif
-
-  /* If the above error is signaled, this will dispatch
-     using an undefined result.  No big deal.  */
-  initialize_cframe (&cframe);
-  cframe.ignoring = cframe.dead_tree || !((operand.X_add_number != 0) ^ arg);
-  current_cframe = (struct conditional_frame *) obstack_copy (&cond_obstack, &cframe, sizeof (cframe));
-  return;
-}                              /* s_if() */
-
-void
-s_endif (arg)
-     int arg;
-{
-  struct conditional_frame *hold;
-
-  if (current_cframe == NULL)
-    {
-      as_bad ("\".endif\" without \".if\"");
-    }
-  else
-    {
-      hold = current_cframe;
-      current_cframe = current_cframe->previous_cframe;
-      obstack_free (&cond_obstack, hold);
-    }                          /* if one pop too many */
-
-  return;
-}                              /* s_endif() */
-
-void
-s_else (arg)
-     int arg;
-{
-  if (current_cframe == NULL)
-    {
-      as_bad (".else without matching .if - ignored");
-
-    }
-  else if (current_cframe->else_seen)
-    {
-      as_bad ("duplicate \"else\" - ignored");
-      as_bad_where (current_cframe->else_file_line.file,
-                   current_cframe->else_file_line.line,
-                   "here is the previous \"else\"");
-      as_bad_where (current_cframe->if_file_line.file,
-                   current_cframe->if_file_line.line,
-                   "here is the previous \"if\"");
-    }
-  else
-    {
-      as_where (&current_cframe->else_file_line.file,
-               &current_cframe->else_file_line.line);
-
-      if (!current_cframe->dead_tree)
-       {
-         current_cframe->ignoring = !current_cframe->ignoring;
-       }                       /* if not a dead tree */
-
-      current_cframe->else_seen = 1;
-    }                          /* if error else do it */
-
-  return;
-}                              /* s_else() */
-
-void
-s_ifeqs (arg)
-     int arg;
-{
-  as_bad ("ifeqs not implemented.");
-
-  return;
-}                              /* s_ifeqs() */
-
-void
-s_end (arg)
-     int arg;
-{
-  return;
-}                              /* s_end() */
-
-int
-ignore_input ()
-{
-  /* We cannot ignore certain pseudo ops.  */
-  if (input_line_pointer[-1] == '.'
-      && ((input_line_pointer[0] == 'i'
-          && (!strncmp (input_line_pointer, "if", 2)
-              || !strncmp (input_line_pointer, "ifdef", 5)
-              || !strncmp (input_line_pointer, "ifndef", 6)))
-         || (input_line_pointer[0] == 'e'
-             && (!strncmp (input_line_pointer, "else", 4)
-                 || !strncmp (input_line_pointer, "endif", 5)))))
-    {
-      return 0;
-    }
-
-  return ((current_cframe != NULL) && (current_cframe->ignoring));
-}                              /* ignore_input() */
-
-static void
-initialize_cframe (cframe)
-     struct conditional_frame *cframe;
-{
-  memset (cframe, 0, sizeof (*cframe));
-  as_where (&cframe->if_file_line.file,
-           &cframe->if_file_line.line);
-  cframe->previous_cframe = current_cframe;
-  cframe->dead_tree = current_cframe != NULL && current_cframe->ignoring;
-
-  return;
-}                              /* initialize_cframe() */
-
-/*
- * Local Variables:
- * fill-column: 131
- * comment-column: 0
- * End:
- */
-
-/* end of cond.c */
diff --git a/gnu/usr.bin/as/config-gas.com b/gnu/usr.bin/as/config-gas.com
deleted file mode 100644 (file)
index 48e2e49..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-$!
-$! This file sets things up to build gas on a VMS system to generate object
-$! files for a VMS system.  We do not use the configure script, since we
-$! do not have /bin/sh to execute it.
-$!
-$! If you are running this file, then obviously the host is vax-dec-vms.
-$!
-$gas_host="vms"
-$!
-$cpu_type="vax"
-$emulation="generic"
-$obj_format="vms"
-$atof="vax"
-$!
-$! host specific information
-$call link host.h      [.config]ho-'gas_host'.h
-$!
-$! Target specific information
-$call link targ-cpu.c  [.config]tc-'cpu_type'.c
-$call link targ-cpu.h  [.config]tc-'cpu_type'.h
-$call link targ-env.h  [.config]te-'emulation'.h
-$!
-$! Code to handle the object file format.
-$call link obj-format.h        [.config]obj-'obj_format'.h
-$call link obj-format.c        [.config]obj-'obj_format'.c
-$!
-$! Code to handle floating point.
-$call link atof-targ.c [.config]atof-'atof'.c
-$!
-$!
-$! Create the file version.opt, which helps identify the executalbe.
-$!
-$search version.c version_string,"="/match=and/output=t.tmp
-$open ifile$ t.tmp
-$read ifile$ line
-$close ifile$
-$delete/nolog t.tmp;
-$ijk=f$locate("""",line)+1
-$line=f$extract(ijk,f$length(line)-ijk,line)
-$ijk=f$locate("""",line)
-$line=f$extract(0,ijk,line)
-$ijk=f$locate("\n",line)
-$line=f$extract(0,ijk,line)
-$!
-$i=0
-$loop:
-$elm=f$element(i," ",line)
-$if elm.eqs."" then goto no_ident
-$if (elm.les."9").and.(elm.ges."0") then goto write_ident
-$i=i+1
-$goto loop
-$!
-$no_ident:
-$elm="?.??"
-$!
-$!
-$write_ident:
-$open ifile$ version.opt/write
-$write ifile$ "ident="+""""+elm+""""
-$close ifile$
-$!
-$ !
-$ if f$search("config.status") .nes. "" then delete config.status.*
-$ open/write file config.status
-$ write file "Links are now set up for use with a vax running VMS."
-$ close file
-$ type config.status
-$exit
-$!
-$!
-$link:
-$subroutine
-$if f$search(p1).nes."" then delete/nolog 'p1';
-$copy 'p2' 'p1'
-$write sys$output "Linked ''p2' to ''p1'."
-$endsubroutine
diff --git a/gnu/usr.bin/as/config/Makefile.hp300 b/gnu/usr.bin/as/config/Makefile.hp300
deleted file mode 100644 (file)
index 9a38830..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#      from: @(#)Makefile.hp300        6.1 (Berkeley) 3/3/91
-# $FreeBSD: src/gnu/usr.bin/as/config/Makefile.hp300,v 1.4 1999/08/27 23:34:26 peter Exp $
-# $DragonFly: src/gnu/usr.bin/as/config/Attic/Makefile.hp300,v 1.2 2003/06/17 04:25:44 dillon Exp $
-
-CFLAGS+=       -Dm68851
-SRCS+=         tc-m68k.c atof-ieee.c
-
-gas_target=    m68k
diff --git a/gnu/usr.bin/as/config/Makefile.i386 b/gnu/usr.bin/as/config/Makefile.i386
deleted file mode 100644 (file)
index 8a36dd1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#      from: @(#)Makefile.i386 6.1 (Berkeley) 3/3/91
-# $FreeBSD: src/gnu/usr.bin/as/config/Makefile.i386,v 1.6 1999/08/27 23:34:27 peter Exp $
-# $DragonFly: src/gnu/usr.bin/as/config/Attic/Makefile.i386,v 1.2 2003/06/17 04:25:44 dillon Exp $
-
-CFLAGS+=       -DNON_BROKEN_WORDS -DPIC
-SRCS+=         tc-i386.c atof-ieee.c
diff --git a/gnu/usr.bin/as/config/Makefile.pc532 b/gnu/usr.bin/as/config/Makefile.pc532
deleted file mode 100644 (file)
index c186153..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# $FreeBSD: src/gnu/usr.bin/as/config/Makefile.pc532,v 1.4 1999/08/27 23:34:27 peter Exp $
-# $DragonFly: src/gnu/usr.bin/as/config/Attic/Makefile.pc532,v 1.2 2003/06/17 04:25:44 dillon Exp $
-
-SRCS+=         tc-ns32k.c atof-ns32k.c
-
-CFLAGS+=       -DNS32532 -DNS32381
-
-gas_target=    ns32k
diff --git a/gnu/usr.bin/as/config/Makefile.sparc b/gnu/usr.bin/as/config/Makefile.sparc
deleted file mode 100644 (file)
index 0851ee5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#      from: @(#)Makefile.i386 6.1 (Berkeley) 3/3/91
-# $FreeBSD: src/gnu/usr.bin/as/config/Makefile.sparc,v 1.5 1999/08/27 23:34:27 peter Exp $
-# $DragonFly: src/gnu/usr.bin/as/config/Attic/Makefile.sparc,v 1.2 2003/06/17 04:25:44 dillon Exp $
-
-CFLAGS+=       -DNON_BROKEN_WORDS -DPIC
-SRCS+=         tc-sparc.c atof-ieee.c
diff --git a/gnu/usr.bin/as/config/Makefile.vax b/gnu/usr.bin/as/config/Makefile.vax
deleted file mode 100644 (file)
index 071b6e2..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#      from: @(#)Makefile.vax  6.1 (Berkeley) 3/3/91
-# $FreeBSD: src/gnu/usr.bin/as/config/Makefile.vax,v 1.4 1999/08/27 23:34:27 peter Exp $
-# $DragonFly: src/gnu/usr.bin/as/config/Attic/Makefile.vax,v 1.2 2003/06/17 04:25:44 dillon Exp $
-
-SRCS+=         tc-vax.c atof-vax.c
diff --git a/gnu/usr.bin/as/config/aout.h b/gnu/usr.bin/as/config/aout.h
deleted file mode 100644 (file)
index 9856cb0..0000000
+++ /dev/null
@@ -1,440 +0,0 @@
-/* This file is aout.h
-
-   Copyright (C) 1987-1992 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 2, 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.  */
-
-#ifndef __A_OUT_GNU_H__
-#define __A_OUT_GNU_H__
-
-enum reloc_type {
-
-#ifdef TC_M88K
-       RELOC_LO16, /* lo16(sym) */
-       RELOC_HI16, /* hi16(sym) */
-       RELOC_PC16, /* bb0, bb1, bcnd */
-       RELOC_PC26, /* br, bsr */
-       RELOC_32, /* jump tables, etc */
-       RELOC_IW16, /* global access through linker regs 28 */
-       NO_RELOC,
-#else /* not TC_M88K */
-#ifdef TC_I860
-
-/* NOTE: three bits max, see struct reloc_info_i860.r_type */
-       NO_RELOC = 0, BRADDR, LOW0, LOW1, LOW2, LOW3, LOW4, SPLIT0, SPLIT1, SPLIT2, RELOC_32,
-
-#else /* not TC_I860 */
-
-       RELOC_8,        RELOC_16,        RELOC_32, /* simple relocations */
-       RELOC_DISP8,    RELOC_DISP16,    RELOC_DISP32, /* pc-rel displacement */
-       RELOC_WDISP30,  RELOC_WDISP22,
-       RELOC_HI22,     RELOC_22,
-       RELOC_13,       RELOC_LO10,
-       RELOC_SFA_BASE, RELOC_SFA_OFF13,
-       RELOC_BASE10,   RELOC_BASE13,    RELOC_BASE22, /* P.I.C. (base-relative) */
-       RELOC_PC10,     RELOC_PC22,     /* for some sort of pc-rel P.I.C. (?) */
-       RELOC_JMP_TBL,          /* P.I.C. jump table */
-       RELOC_SEGOFF16,         /* reputedly for shared libraries somehow */
-       RELOC_GLOB_DAT,  RELOC_JMP_SLOT, RELOC_RELATIVE,
-#ifndef TC_SPARC
-       RELOC_11,
-       RELOC_WDISP2_14,
-       RELOC_WDISP19,
-       RELOC_HHI22,
-       RELOC_HLO10,
-
-       /* 29K relocation types */
-       RELOC_JUMPTARG, RELOC_CONST,     RELOC_CONSTH,
-
-       RELOC_WDISP14, RELOC_WDISP21,
-#endif /* not TC_SPARC */
-       NO_RELOC,
-
-#ifdef TC_I386
-       /* Used internally by gas */
-       RELOC_GOT,
-       RELOC_GOTOFF,
-#endif
-
-#endif /* not TC_I860 */
-#endif /* not TC_M88K */
-};
-
-
-#ifdef TC_I860
- /* NOTE: two bits max, see reloc_info_i860.r_type */
-enum highlow_type {
-       NO_SPEC = 0, PAIR, HIGH, HIGHADJ,
-};
-#endif /* TC_I860 */
-
-
-#define __GNU_EXEC_MACROS__
-
-#ifndef __STRUCT_EXEC_OVERRIDE__
-
-/* This is the layout on disk of a Unix V7, Berkeley, SunOS, Vax Ultrix
-   "struct exec".  Don't assume that on this machine, the "struct exec"
-   will lay out the same sizes or alignments.  */
-
-struct exec_bytes {
-       unsigned char a_info[4];
-       unsigned char a_text[4];
-       unsigned char a_data[4];
-       unsigned char a_bss[4];
-       unsigned char a_syms[4];
-       unsigned char a_entry[4];
-       unsigned char a_trsize[4];
-       unsigned char a_drsize[4];
-};
-
-/* How big the "struct exec" is on disk */
-#define        EXEC_BYTES_SIZE (8 * 4)
-
-/* This is the layout in memory of a "struct exec" while we process it.  */
-
-struct exec
-{
-       unsigned long a_info;           /* Use macros N_MAGIC, etc for access */
-       unsigned a_text;                /* length of text, in bytes */
-       unsigned a_data;                /* length of data, in bytes */
-       unsigned a_bss;         /* length of uninitialized data area for file, in bytes */
-       unsigned a_syms;                /* length of symbol table data in file, in bytes */
-       unsigned a_entry;               /* start address */
-       unsigned a_trsize;              /* length of relocation info for text, in bytes */
-       unsigned a_drsize;              /* length of relocation info for data, in bytes */
-};
-
-#endif /* __STRUCT_EXEC_OVERRIDE__ */
-
-/* these go in the N_MACHTYPE field */
-/* These symbols could be defined by code from Suns...punt 'em */
-#undef M_UNKNOWN
-#undef M_68010
-#undef M_68020
-#undef M_SPARC
-enum machine_type {
-       M_UNKNOWN = 0,
-       M_68010 = 1,
-       M_68020 = 2,
-       M_SPARC = 3,
-       /* skip a bunch so we don't run into any of sun's numbers */
-       M_386 = 100,
-       M_29K = 101,
-       M_RS6000 = 102, /* IBM RS/6000 */
-       /* HP/BSD formats */
-       M_HP200 = 200,  /* hp200 (68010) BSD binary */
-       M_HP300 = 300,  /* hp300 (68020+68881) BSD binary */
-       M_HPUX23 = 0x020C,      /* hp200/300 HPUX binary */
-};
-
-#define N_MAGIC(exec) ((exec).a_info & 0xffff)
-#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
-#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff)
-#define N_SET_INFO(exec, magic, type, flags) \
-    ((exec).a_info = ((magic) & 0xffff) \
-     | (((int)(type) & 0xff) << 16) \
-     | (((flags) & 0xff) << 24))
-#define N_SET_MAGIC(exec, magic) \
-    ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))
-
-#define N_SET_MACHTYPE(exec, machtype) \
-    ((exec).a_info = \
-     ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
-
-#define N_SET_FLAGS(exec, flags) \
-    ((exec).a_info = \
-     ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
-
-/* Code indicating object file or impure executable.  */
-#define OMAGIC 0407
-/* Code indicating pure executable.  */
-#define NMAGIC 0410
-/* Code indicating demand-paged executable.  */
-#define ZMAGIC 0413
-
-/* Virtual Address of text segment from the a.out file.  For OMAGIC,
-   (almost always "unlinked .o's" these days), should be zero.
-   For linked files, should reflect reality if we know it.  */
-
-#ifndef N_TXTADDR
-#define N_TXTADDR(x)   (N_MAGIC(x) == OMAGIC? 0 : TEXT_START_ADDR)
-#endif
-
-#ifndef N_BADMAG
-#define N_BADMAG(x)      (N_MAGIC(x) != OMAGIC         \
-                          && N_MAGIC(x) != NMAGIC              \
-                          && N_MAGIC(x) != ZMAGIC)
-#endif
-
-/* By default, segment size is constant.  But on some machines, it can
-   be a function of the a.out header (e.g. machine type).  */
-#ifndef        N_SEGSIZE
-#define        N_SEGSIZE(x)    SEGMENT_SIZE
-#endif
-
-    /* This complexity is for encapsulated COFF support */
-#ifndef _N_HDROFF
-#define _N_HDROFF(x)   (N_SEGSIZE(x) - sizeof (struct exec))
-#endif
-
-#ifndef N_TXTOFF
-#define N_TXTOFF(x)    (N_MAGIC(x) == ZMAGIC ? \
-                        _N_HDROFF((x)) + sizeof (struct exec) :        \
-                        sizeof (struct exec))
-#endif
-
-
-#ifndef N_DATOFF
-#define N_DATOFF(x)    ( N_TXTOFF(x) + (x).a_text )
-#endif
-
-#ifndef N_TRELOFF
-#define N_TRELOFF(x)   ( N_DATOFF(x) + (x).a_data )
-#endif
-
-#ifndef N_DRELOFF
-#define N_DRELOFF(x)   ( N_TRELOFF(x) + (x).a_trsize )
-#endif
-
-#ifndef N_SYMOFF
-#define N_SYMOFF(x)    ( N_DRELOFF(x) + (x).a_drsize )
-#endif
-
-#ifndef N_STROFF
-#define N_STROFF(x)    ( N_SYMOFF(x) + (x).a_syms )
-#endif
-
-/* Address of text segment in memory after it is loaded.  */
-#ifndef N_TXTADDR
-#define        N_TXTADDR(x)    0
-#endif
-
-#ifndef N_DATADDR
-#define N_DATADDR(x) \
-    (N_MAGIC(x) == OMAGIC? (N_TXTADDR(x)+(x).a_text) \
-     :  (N_SEGSIZE(x) + ((N_TXTADDR(x)+(x).a_text-1) & ~(N_SEGSIZE(x)-1))))
-#endif
-
-/* Address of bss segment in memory after it is loaded.  */
-#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
-\f
-struct nlist {
-       union {
-               char *n_name;
-               struct nlist *n_next;
-               long n_strx;
-       } n_un;
-       unsigned char n_type;
-       char n_other;
-       short n_desc;
-       unsigned long n_value;
-};
-
-#define N_UNDF 0
-#define N_ABS 2
-#define N_TEXT 4
-#define N_DATA 6
-#define N_BSS 8
-#define        N_COMM  0x12            /* common (visible in shared lib commons) */
-#define N_FN 0x1F              /* File name of a .o file */
-
-/* Note: N_EXT can only usefully be OR-ed with N_UNDF, N_ABS, N_TEXT,
-   N_DATA, or N_BSS.  When the low-order bit of other types is set,
-   (e.g. N_WARNING versus N_FN), they are two different types.  */
-#define N_EXT 1
-#define N_TYPE 036
-#define N_STAB 0340
-
-/* The following type indicates the definition of a symbol as being
-   an indirect reference to another symbol.  The other symbol
-   appears as an undefined reference, immediately following this symbol.
-
-   Indirection is asymmetrical.  The other symbol's value will be used
-   to satisfy requests for the indirect symbol, but not vice versa.
-   If the other symbol does not have a definition, libraries will
-   be searched to find a definition.  */
-
-#define N_INDR 0xa
-
-/* The following type indicates the size of the symbol it refers to */
-#define N_SIZE 0xc
-
-/* The following symbols refer to set elements.
-   All the N_SET[ATDB] symbols with the same name form one set.
-   Space is allocated for the set in the text section, and each set
-   element's value is stored into one word of the space.
-   The first word of the space is the length of the set (number of elements).
-
-   The address of the set is made into an N_SETV symbol
-   whose name is the same as the name of the set.
-   This symbol acts like a N_DATA global symbol
-   in that it can satisfy undefined external references.  */
-
-/* These appear as input to LD, in a .o file.  */
-#define        N_SETA  0x14            /* Absolute set element symbol */
-#define        N_SETT  0x16            /* Text set element symbol */
-#define        N_SETD  0x18            /* Data set element symbol */
-#define        N_SETB  0x1A            /* Bss set element symbol */
-
-/* This is output from LD.  */
-#define N_SETV 0x1C            /* Pointer to set vector in data area.  */
-
-/* Warning symbol. The text gives a warning message, the next symbol
-   in the table will be undefined. When the symbol is referenced, the
-   message is printed.  */
-
-#define        N_WARNING 0x1e
-\f
-/* This structure describes a single relocation to be performed.
-   The text-relocation section of the file is a vector of these structures,
-   all of which apply to the text section.
-   Likewise, the data-relocation section applies to the data section.  */
-
-/* The following enum and struct were borrowed from SunOS's
-   /usr/include/sun4/a.out.h  and extended to handle
-   other machines.  It is currently used on SPARC and AMD 29000.
-
-   reloc_ext_bytes is how it looks on disk.  reloc_info_extended is
-   how we might process it on a native host.  */
-
-struct reloc_ext_bytes {
-       unsigned char   r_address[4];
-       unsigned char r_index[3];
-       unsigned char r_bits[1];
-       unsigned char r_addend[4];
-};
-
-struct reloc_info_i860
-{
-       unsigned long r_address;
-       /*
-        * Using bit fields here is a bad idea because the order is not portable. :-(
-        */
-       unsigned int r_symbolnum: 24;
-       unsigned int r_pcrel    : 1;
-       unsigned int r_extern   : 1;
-       /* combining the two field simplifies the argument passing in "new_fix()" */
-       /* and is compatible with the existing Sparc #ifdef's */
-       /* r_type:  highlow_type - bits 5,4; reloc_type - bits 3-0 */
-       unsigned int r_type     : 6;
-       long r_addend;
-};
-
-
-#define        RELOC_EXT_BITS_EXTERN_BIG       0x80
-#define        RELOC_EXT_BITS_EXTERN_LITTLE    0x01
-
-#define        RELOC_EXT_BITS_TYPE_BIG         0x1F
-#define        RELOC_EXT_BITS_TYPE_SH_BIG      0
-#define        RELOC_EXT_BITS_TYPE_LITTLE      0xF8
-#define        RELOC_EXT_BITS_TYPE_SH_LITTLE   3
-
-#define        RELOC_EXT_SIZE  12              /* Bytes per relocation entry */
-
-struct reloc_info_extended
-{
-       unsigned long r_address;
-       unsigned int  r_index:24;
-# define       r_symbolnum  r_index
-       unsigned        r_extern:1;
-       unsigned        :2;
-       /*  RS/6000 compiler does not support enum bitfield
-           enum reloc_type r_type:5; */
-       enum reloc_type r_type;
-       long int        r_addend;
-};
-
-/* The standard, old-fashioned, Berkeley compatible relocation struct */
-
-struct reloc_std_bytes {
-       unsigned char   r_address[4];
-       unsigned char r_index[3];
-       unsigned char r_bits[1];
-};
-
-#define        RELOC_STD_BITS_PCREL_BIG        0x80
-#define        RELOC_STD_BITS_PCREL_LITTLE     0x01
-
-#define        RELOC_STD_BITS_LENGTH_BIG       0x60
-#define        RELOC_STD_BITS_LENGTH_SH_BIG    5       /* To shift to units place */
-#define        RELOC_STD_BITS_LENGTH_LITTLE    0x06
-#define        RELOC_STD_BITS_LENGTH_SH_LITTLE 1
-
-#define        RELOC_STD_BITS_EXTERN_BIG       0x10
-#define        RELOC_STD_BITS_EXTERN_LITTLE    0x08
-
-#define        RELOC_STD_BITS_BASEREL_BIG      0x08
-#define        RELOC_STD_BITS_BASEREL_LITTLE   0x08
-
-#define        RELOC_STD_BITS_JMPTABLE_BIG     0x04
-#define        RELOC_STD_BITS_JMPTABLE_LITTLE  0x04
-
-#define        RELOC_STD_BITS_RELATIVE_BIG     0x02
-#define        RELOC_STD_BITS_RELATIVE_LITTLE  0x02
-
-#define        RELOC_STD_SIZE  8               /* Bytes per relocation entry */
-
-#ifndef CUSTOM_RELOC_FORMAT
-struct relocation_info {
-       /* Address (within segment) to be relocated.  */
-       int r_address;
-       /* The meaning of r_symbolnum depends on r_extern.  */
-#if defined(TC_NS32K) && !defined(TE_SEQUENT)
-       unsigned int r_symbolnum:22;
-       unsigned int r_copy:1;
-       unsigned int r_relative:1;
-#else
-       unsigned int r_symbolnum:24;
-#endif
-       /* Nonzero means value is a pc-relative offset
-          and it should be relocated for changes in its own address
-          as well as for changes in the symbol or section specified.  */
-       unsigned int r_pcrel:1;
-       /* Length (as exponent of 2) of the field to be relocated.
-          Thus, a value of 2 indicates 1<<2 bytes.  */
-       unsigned int r_length:2;
-       /* 1 => relocate with value of symbol.
-          r_symbolnum is the index of the symbol
-          in file's the symbol table.
-          0 => relocate with the address of a segment.
-          r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS
-          (the N_EXT bit may be set also, but signifies nothing).  */
-       unsigned int r_extern:1;
-#ifdef TC_NS32K
-#ifdef TE_SEQUENT
-       unsigned int r_bsr:1;
-#else
-       unsigned int r_jmptable:1;
-#endif
-       unsigned int r_disp:2;
-       unsigned int r_baserel:1;
-#else
-       /* The next three bits are for SunOS shared libraries, and seem to
-          be undocumented.  */
-       unsigned int r_baserel:1;       /* Linkage table relative */
-       unsigned int r_jmptable:1;      /* pc-relative to jump table */
-       unsigned int r_relative:1;      /* "relative relocation" */
-       /* unused */
-       unsigned int r_pad:1;           /* Padding -- set to zero */
-#endif
-};
-#endif /* CUSTOM_RELOC_FORMAT */
-
-#endif /* __A_OUT_GNU_H__ */
-
-/* end of aout.h */
diff --git a/gnu/usr.bin/as/config/atof-ieee.c b/gnu/usr.bin/as/config/atof-ieee.c
deleted file mode 100644 (file)
index f62058e..0000000
+++ /dev/null
@@ -1,525 +0,0 @@
-/* atof_ieee.c - turn a Flonum into an IEEE floating point number
-   Copyright (C) 1987, 1992 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 2, 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.  */
-
-/*
- * $FreeBSD: src/gnu/usr.bin/as/config/atof-ieee.c,v 1.9 1999/08/27 23:34:28 peter Exp $
- * $DragonFly: src/gnu/usr.bin/as/config/Attic/atof-ieee.c,v 1.2 2003/06/17 04:25:44 dillon Exp $
- */
-#include "as.h"
-
-extern FLONUM_TYPE generic_floating_point_number; /* Flonums returned here. */
-
-#ifndef NULL
-#define NULL (0)
-#endif
-
-extern char EXP_CHARS[];
-/* Precision in LittleNums. */
-#define MAX_PRECISION (6)
-#define F_PRECISION (2)
-#define D_PRECISION (4)
-#define X_PRECISION (6)
-#define P_PRECISION (6)
-
-/* Length in LittleNums of guard bits. */
-#define GUARD (2)
-
-static unsigned long mask[] = {
-       0x00000000,
-       0x00000001,
-       0x00000003,
-       0x00000007,
-       0x0000000f,
-       0x0000001f,
-       0x0000003f,
-       0x0000007f,
-       0x000000ff,
-       0x000001ff,
-       0x000003ff,
-       0x000007ff,
-       0x00000fff,
-       0x00001fff,
-       0x00003fff,
-       0x00007fff,
-       0x0000ffff,
-       0x0001ffff,
-       0x0003ffff,
-       0x0007ffff,
-       0x000fffff,
-       0x001fffff,
-       0x003fffff,
-       0x007fffff,
-       0x00ffffff,
-       0x01ffffff,
-       0x03ffffff,
-       0x07ffffff,
-       0x0fffffff,
-       0x1fffffff,
-       0x3fffffff,
-       0x7fffffff,
-       0xffffffff,
-};
-\f
-
-static int bits_left_in_littlenum;
-static int littlenums_left;
-static LITTLENUM_TYPE *littlenum_pointer;
-
-static int
-    next_bits (number_of_bits)
-int number_of_bits;
-{
-       int return_value;
-
-       if (!littlenums_left)
-           return(0);
-       if (number_of_bits >= bits_left_in_littlenum) {
-               return_value  = mask[bits_left_in_littlenum] & *littlenum_pointer;
-               number_of_bits -= bits_left_in_littlenum;
-               return_value <<= number_of_bits;
-
-               if (--littlenums_left) {
-                       bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS - number_of_bits;
-                       --littlenum_pointer;
-                       return_value |= (*littlenum_pointer >> bits_left_in_littlenum) & mask[number_of_bits];
-               }
-       } else {
-               bits_left_in_littlenum -= number_of_bits;
-               return_value = mask[number_of_bits] & (*littlenum_pointer >> bits_left_in_littlenum);
-       }
-       return(return_value);
-}
-
-/* Num had better be less than LITTLENUM_NUMBER_OF_BITS */
-static void
-    unget_bits(num)
-int num;
-{
-       if (!littlenums_left) {
-               ++littlenum_pointer;
-               ++littlenums_left;
-               bits_left_in_littlenum = num;
-       } else if (bits_left_in_littlenum + num > LITTLENUM_NUMBER_OF_BITS) {
-               bits_left_in_littlenum = num - (LITTLENUM_NUMBER_OF_BITS - bits_left_in_littlenum);
-               ++littlenum_pointer;
-               ++littlenums_left;
-       } else
-           bits_left_in_littlenum += num;
-}
-
-static void
-  make_invalid_floating_point_number(words)
-LITTLENUM_TYPE *words;
-{
-       as_bad("cannot create floating-point number");
-       /* Zero the leftmost bit */
-       words[0] = (LITTLENUM_TYPE) ((unsigned) -1) >> 1;
-       words[1] = (LITTLENUM_TYPE) -1;
-       words[2] = (LITTLENUM_TYPE) -1;
-       words[3] = (LITTLENUM_TYPE) -1;
-       words[4] = (LITTLENUM_TYPE) -1;
-       words[5] = (LITTLENUM_TYPE) -1;
-}
-\f
-/***********************************************************************\
- *     Warning: this returns 16-bit LITTLENUMs. It is up to the caller *
- *     to figure out any alignment problems and to conspire for the    *
- *     bytes/word to be emitted in the right order. Bigendians beware! *
- *                                                                     *
- \***********************************************************************/
-
-/* Note that atof-ieee always has X and P precisions enabled.  it is up
-   to md_atof to filter them out if the target machine does not support
-   them.  */
-
-char *                         /* Return pointer past text consumed. */
-  atof_ieee(str, what_kind, words)
-char *str;     /* Text to convert to binary. */
-char what_kind; /* 'd', 'f', 'g', 'h' */
-LITTLENUM_TYPE *words; /* Build the binary here. */
-{
-       static LITTLENUM_TYPE bits[MAX_PRECISION + MAX_PRECISION + GUARD];
-       /* Extra bits for zeroed low-order bits. */
-       /* The 1st MAX_PRECISION are zeroed, */
-       /* the last contain flonum bits. */
-       char *return_value;
-       int precision; /* Number of 16-bit words in the format. */
-       long exponent_bits;
-       FLONUM_TYPE save_gen_flonum;
-
-       /* We have to save the generic_floating_point_number because it
-          contains storage allocation about the array of LITTLENUMs
-          where the value is actually stored.  We will allocate our
-          own array of littlenums below, but have to restore the global
-          one on exit.  */
-       save_gen_flonum = generic_floating_point_number;
-
-       return_value = str;
-       generic_floating_point_number.low       = bits + MAX_PRECISION;
-       generic_floating_point_number.high      = NULL;
-       generic_floating_point_number.leader    = NULL;
-       generic_floating_point_number.exponent  = 0;
-       generic_floating_point_number.sign      = '\0';
-
-       /* Use more LittleNums than seems */
-       /* necessary: the highest flonum may have */
-       /* 15 leading 0 bits, so could be useless. */
-
-       memset(bits, '\0', sizeof(LITTLENUM_TYPE) * MAX_PRECISION);
-
-       switch (what_kind) {
-       case 'f':
-       case 'F':
-       case 's':
-       case 'S':
-               precision = F_PRECISION;
-               exponent_bits = 8;
-               break;
-
-       case 'd':
-       case 'D':
-       case 'r':
-       case 'R':
-               precision = D_PRECISION;
-               exponent_bits = 11;
-               break;
-
-       case 'x':
-       case 'X':
-       case 'e':
-       case 'E':
-               precision = X_PRECISION;
-               exponent_bits = 15;
-               break;
-
-       case 'p':
-       case 'P':
-
-               precision = P_PRECISION;
-               exponent_bits = -1;
-               break;
-
-       default:
-               make_invalid_floating_point_number(words);
-               return(NULL);
-       }
-
-       generic_floating_point_number.high = generic_floating_point_number.low + precision - 1 + GUARD;
-
-       if (atof_generic(&return_value, ".", EXP_CHARS, &generic_floating_point_number)) {
-               /* as_bad("Error converting floating point number (Exponent overflow?)"); */
-               make_invalid_floating_point_number(words);
-               return(NULL);
-       }
-       gen_to_words(words, precision, exponent_bits);
-
-       /* Restore the generic_floating_point_number's storage alloc
-          (and everything else).  */
-       generic_floating_point_number = save_gen_flonum;
-
-       return(return_value);
-}
-
-/* Turn generic_floating_point_number into a real float/double/extended */
-int gen_to_words(words, precision, exponent_bits)
-LITTLENUM_TYPE *words;
-int precision;
-long exponent_bits;
-{
-       int return_value = 0;
-
-       long exponent_1;
-       long exponent_2;
-       long exponent_3;
-       long exponent_4;
-       int exponent_skippage;
-       LITTLENUM_TYPE word1;
-       LITTLENUM_TYPE *lp;
-
-       if (generic_floating_point_number.low > generic_floating_point_number.leader) {
-               /* 0.0e0 seen. */
-               if (generic_floating_point_number.sign == '+')
-                   words[0] = 0x0000;
-               else
-                   words[0] = 0x8000;
-               memset(&words[1], '\0', sizeof(LITTLENUM_TYPE) * (precision - 1));
-               return(return_value);
-       }
-
-       /* NaN:  Do the right thing */
-       if (generic_floating_point_number.sign == 0) {
-               if (precision == F_PRECISION) {
-                       words[0] = 0x7fff;
-                       words[1] = 0xffff;
-               } else {
-                       words[0] = 0x7fff;
-                       words[1] = 0xffff;
-                       words[2] = 0xffff;
-                       words[3] = 0xffff;
-               }
-               return return_value;
-       } else if (generic_floating_point_number.sign == 'P') {
-               /* +INF:  Do the right thing */
-               if (precision == F_PRECISION) {
-                       words[0] = 0x7f80;
-                       words[1] = 0;
-               } else {
-                       words[0] = 0x7ff0;
-                       words[1] = 0;
-                       words[2] = 0;
-                       words[3] = 0;
-               }
-               return(return_value);
-       } else if (generic_floating_point_number.sign == 'N') {
-               /* Negative INF */
-               if (precision == F_PRECISION) {
-                       words[0] = 0xff80;
-                       words[1] = 0x0;
-               } else {
-                       words[0] = 0xfff0;
-                       words[1] = 0x0;
-                       words[2] = 0x0;
-                       words[3] = 0x0;
-               }
-               return(return_value);
-       }
-       /*
-        * The floating point formats we support have:
-        * Bit 15 is sign bit.
-        * Bits 14:n are excess-whatever exponent.
-        * Bits n-1:0 (if any) are most significant bits of fraction.
-        * Bits 15:0 of the next word(s) are the next most significant bits.
-        *
-        * So we need: number of bits of exponent, number of bits of
-        * mantissa.
-        */
-       bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS;
-       littlenum_pointer = generic_floating_point_number.leader;
-       littlenums_left = 1 + generic_floating_point_number.leader - generic_floating_point_number.low;
-       /* Seek (and forget) 1st significant bit */
-       for (exponent_skippage = 0; !next_bits(1); ++exponent_skippage) ;;
-       exponent_1 = generic_floating_point_number.exponent + generic_floating_point_number.leader
-         + 1 - generic_floating_point_number.low;
-       /* Radix LITTLENUM_RADIX, point just higher than generic_floating_point_number.leader. */
-       exponent_2 = exponent_1 * LITTLENUM_NUMBER_OF_BITS;
-       /* Radix 2. */
-       exponent_3 = exponent_2 - exponent_skippage;
-       /* Forget leading zeros, forget 1st bit. */
-       exponent_4 = exponent_3 + ((1 << (exponent_bits - 1)) - 2);
-       /* Offset exponent. */
-
-       lp = words;
-
-       /* Word 1. Sign, exponent and perhaps high bits. */
-       word1 = (generic_floating_point_number.sign == '+') ? 0 : (1 << (LITTLENUM_NUMBER_OF_BITS - 1));
-
-       /* Assume 2's complement integers. */
-       if (exponent_4 < 1 && exponent_4 >= -62) {
-               int prec_bits;
-               int num_bits;
-
-               unget_bits(1);
-               num_bits = -exponent_4;
-               prec_bits = LITTLENUM_NUMBER_OF_BITS * precision - (exponent_bits + 1 + num_bits);
-               if (precision == X_PRECISION && exponent_bits == 15)
-                   prec_bits -= LITTLENUM_NUMBER_OF_BITS + 1;
-
-               if (num_bits >= LITTLENUM_NUMBER_OF_BITS - exponent_bits) {
-                       /* Bigger than one littlenum */
-                       num_bits -= (LITTLENUM_NUMBER_OF_BITS - 1) - exponent_bits;
-                       *lp++ = word1;
-                       if (num_bits + exponent_bits + 1 >= precision * LITTLENUM_NUMBER_OF_BITS) {
-                               /* Exponent overflow */
-                               make_invalid_floating_point_number(words);
-                               return(return_value);
-                       }
-                       if (precision == X_PRECISION && exponent_bits == 15) {
-                               *lp++ = 0;
-                               *lp++ = 0;
-                               num_bits -= LITTLENUM_NUMBER_OF_BITS - 1;
-                       }
-                       while (num_bits >= LITTLENUM_NUMBER_OF_BITS) {
-                               num_bits -= LITTLENUM_NUMBER_OF_BITS;
-                               *lp++ = 0;
-                       }
-                       if (num_bits)
-                           *lp++ = next_bits(LITTLENUM_NUMBER_OF_BITS - (num_bits));
-               } else {
-                       if (precision == X_PRECISION && exponent_bits == 15) {
-                               *lp++ = word1;
-                               *lp++ = 0;
-                               if (num_bits == LITTLENUM_NUMBER_OF_BITS) {
-                                       *lp++ = 0;
-                                       *lp++ = next_bits(LITTLENUM_NUMBER_OF_BITS - 1);
-                               } else if (num_bits == LITTLENUM_NUMBER_OF_BITS - 1)
-                                   *lp++ = 0;
-                               else
-                                   *lp++ = next_bits(LITTLENUM_NUMBER_OF_BITS - 1 - num_bits);
-                               num_bits = 0;
-                       } else {
-                               word1 |= next_bits((LITTLENUM_NUMBER_OF_BITS - 1) - (exponent_bits + num_bits));
-                               *lp++ = word1;
-                       }
-               }
-               while (lp < words + precision)
-                   *lp++ = next_bits(LITTLENUM_NUMBER_OF_BITS);
-
-               /* Round the mantissa up, but don't change the number */
-               if (next_bits(1)) {
-                       --lp;
-                       if (prec_bits > LITTLENUM_NUMBER_OF_BITS) {
-                               int n = 0;
-                               int tmp_bits;
-
-                               n = 0;
-                               tmp_bits = prec_bits;
-                               while (tmp_bits > LITTLENUM_NUMBER_OF_BITS) {
-                                       if (lp[n] != (LITTLENUM_TYPE) - 1)
-                                           break;
-                                       --n;
-                                       tmp_bits -= LITTLENUM_NUMBER_OF_BITS;
-                               }
-                               if (tmp_bits > LITTLENUM_NUMBER_OF_BITS || (lp[n] & mask[tmp_bits]) != mask[tmp_bits]) {
-                                       unsigned long carry;
-
-                                       for (carry = 1; carry && (lp >= words); lp --) {
-                                               carry = *lp + carry;
-                                               *lp = carry;
-                                               carry >>= LITTLENUM_NUMBER_OF_BITS;
-                                       }
-                               }
-                       } else if ((*lp & mask[prec_bits]) != mask[prec_bits])
-                           lp++;
-               }
-
-               return return_value;
-       } else  if (exponent_4 & ~ mask[exponent_bits]) {
-               /*
-                * Exponent overflow. Lose immediately.
-                */
-
-               /*
-                * We leave return_value alone: admit we read the
-                * number, but return a floating exception
-                * because we can't encode the number.
-                */
-               make_invalid_floating_point_number (words);
-               return return_value;
-       } else {
-               word1 |=  (exponent_4 << ((LITTLENUM_NUMBER_OF_BITS - 1) - exponent_bits))
-                   | next_bits ((LITTLENUM_NUMBER_OF_BITS - 1) - exponent_bits);
-       }
-
-       *lp++ = word1;
-
-       /* X_PRECISION is special: it has 16 bits of zero in the middle,
-          followed by a 1 bit. */
-       if (exponent_bits == 15 && precision == X_PRECISION) {
-               *lp++ = 0;
-               *lp++ = 1 << (LITTLENUM_NUMBER_OF_BITS) | next_bits(LITTLENUM_NUMBER_OF_BITS - 1);
-       }
-
-       /* The rest of the words are just mantissa bits. */
-       while (lp < words + precision)
-           *lp++ = next_bits(LITTLENUM_NUMBER_OF_BITS);
-
-       if (next_bits(1)) {
-               unsigned long carry;
-               /*
-                * Since the NEXT bit is a 1, round UP the mantissa.
-                * The cunning design of these hidden-1 floats permits
-                * us to let the mantissa overflow into the exponent, and
-                * it 'does the right thing'. However, we lose if the
-                * highest-order bit of the lowest-order word flips.
-                * Is that clear?
-                */
-
-               /* #if (sizeof(carry)) < ((sizeof(bits[0]) * BITS_PER_CHAR) + 2)
-                  Please allow at least 1 more bit in carry than is in a LITTLENUM.
-                  We need that extra bit to hold a carry during a LITTLENUM carry
-                  propagation. Another extra bit (kept 0) will assure us that we
-                  don't get a sticky sign bit after shifting right, and that
-                  permits us to propagate the carry without any masking of bits.
-                  #endif */
-               for (carry = 1, lp--; carry && (lp >= words); lp--) {
-                       carry = *lp + carry;
-                       *lp = carry;
-                       carry >>= LITTLENUM_NUMBER_OF_BITS;
-               }
-               if ((word1 ^ *words) & (1 << (LITTLENUM_NUMBER_OF_BITS - 1))) {
-                       /* We leave return_value alone: admit we read the
-                        * number, but return a floating exception
-                        * because we can't encode the number.
-                        */
-                       *words &= ~(1 << (LITTLENUM_NUMBER_OF_BITS - 1));
-                       /* make_invalid_floating_point_number (words); */
-                       /* return return_value; */
-               }
-       }
-       return (return_value);
-}
-
-/* This routine is a real kludge.  Someone really should do it better, but
-   I'm too lazy, and I don't understand this stuff all too well anyway
-   (JF)
-   */
-void
-    int_to_gen(x)
-long x;
-{
-       char buf[20];
-       char *bufp;
-
-       sprintf(buf,"%ld",x);
-       bufp = &buf[0];
-       if (atof_generic(&bufp, ".", EXP_CHARS, &generic_floating_point_number))
-           as_bad("Error converting number to floating point (Exponent overflow?)");
-}
-
-#ifdef TEST
-char *
-    print_gen(gen)
-FLONUM_TYPE *gen;
-{
-       FLONUM_TYPE f;
-       LITTLENUM_TYPE arr[10];
-       double dv;
-       float fv;
-       static char sbuf[40];
-
-       if (gen) {
-               f = generic_floating_point_number;
-               generic_floating_point_number = *gen;
-       }
-       gen_to_words(&arr[0], 4, 11);
-       memcpy(&dv, &arr[0], sizeof(double));
-       sprintf(sbuf, "%x %x %x %x %.14G   ", arr[0], arr[1], arr[2], arr[3], dv);
-       gen_to_words(&arr[0], 2, 8);
-       memcpy(&fv, &arr[0], sizeof(float));
-       sprintf(sbuf + strlen(sbuf), "%x %x %.12g\n", arr[0], arr[1], fv);
-
-       if (gen) {
-               generic_floating_point_number = f;
-       }
-
-       return(sbuf);
-}
-#endif
-
-/* end of atof-ieee.c */
diff --git a/gnu/usr.bin/as/config/atof-ns32k.c b/gnu/usr.bin/as/config/atof-ns32k.c
deleted file mode 100644 (file)
index 06b748e..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-/* atof_ns32k.c - turn a Flonum into a ns32k floating point number
-   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.  */
-
-/* this is atof-m68k.c hacked for ns32k */
-
-#include "as.h"
-
-extern FLONUM_TYPE generic_floating_point_number; /* Flonums returned here. */
-
-extern char EXP_CHARS[];
-                               /* Precision in LittleNums. */
-#define MAX_PRECISION (4)
-#define F_PRECISION (2)
-#define D_PRECISION (4)
-
-                               /* Length in LittleNums of guard bits. */
-#define GUARD (2)
-
-int                            /* Number of chars in flonum type 'letter'. */
-atof_sizeof (letter)
-     char letter;
-{
-  int  return_value;
-
-  /*
-   * Permitting uppercase letters is probably a bad idea.
-   * Please use only lower-cased letters in case the upper-cased
-   * ones become unsupported!
-   */
-  switch (letter)
-    {
-    case 'f':
-      return_value = F_PRECISION;
-      break;
-
-    case 'd':
-      return_value = D_PRECISION;
-      break;
-
-    default:
-      return_value = 0;
-      break;
-    }
-  return (return_value);
-}
-
-static unsigned long int mask[] = {
-  0x00000000,
-  0x00000001,
-  0x00000003,
-  0x00000007,
-  0x0000000f,
-  0x0000001f,
-  0x0000003f,
-  0x0000007f,
-  0x000000ff,
-  0x000001ff,
-  0x000003ff,
-  0x000007ff,
-  0x00000fff,
-  0x00001fff,
-  0x00003fff,
-  0x00007fff,
-  0x0000ffff,
-  0x0001ffff,
-  0x0003ffff,
-  0x0007ffff,
-  0x000fffff,
-  0x001fffff,
-  0x003fffff,
-  0x007fffff,
-  0x00ffffff,
-  0x01ffffff,
-  0x03ffffff,
-  0x07ffffff,
-  0x0fffffff,
-  0x1fffffff,
-  0x3fffffff,
-  0x7fffffff,
-  0xffffffff
-  };
-\f
-static int bits_left_in_littlenum;
-static int littlenums_left;
-static LITTLENUM_TYPE *        littlenum_pointer;
-
-static int
-next_bits (number_of_bits)
-     int               number_of_bits;
-{
-  int                  return_value;
-
-  if (!littlenums_left)
-       return 0;
-  if (number_of_bits >= bits_left_in_littlenum)
-    {
-      return_value  = mask[bits_left_in_littlenum] & *littlenum_pointer;
-      number_of_bits -= bits_left_in_littlenum;
-      return_value <<= number_of_bits;
-      if (littlenums_left) {
-             bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS - number_of_bits;
-             littlenum_pointer --;
-             --littlenums_left;
-             return_value |= (*littlenum_pointer>>bits_left_in_littlenum) & mask[number_of_bits];
-      }
-    }
-  else
-    {
-      bits_left_in_littlenum -= number_of_bits;
-      return_value = mask[number_of_bits] & (*littlenum_pointer>>bits_left_in_littlenum);
-    }
-  return (return_value);
-}
-
-static void
-make_invalid_floating_point_number (words)
-     LITTLENUM_TYPE *  words;
-{
-       /* Zero the leftmost bit */
-       words[0]= (LITTLENUM_TYPE) ((unsigned)-1)>>1;
-       words[1]= (LITTLENUM_TYPE) -1;
-       words[2]= (LITTLENUM_TYPE) -1;
-       words[3]= (LITTLENUM_TYPE) -1;
-}
-\f
-/***********************************************************************\
-*                                                                      *
-*      Warning: this returns 16-bit LITTLENUMs, because that is        *
-*      what the VAX thinks in. It is up to the caller to figure        *
-*      out any alignment problems and to conspire for the bytes/word   *
-*      to be emitted in the right order. Bigendians beware!            *
-*                                                                      *
-\***********************************************************************/
-
-char *                         /* Return pointer past text consumed. */
-atof_ns32k (str, what_kind, words)
-     char *            str;    /* Text to convert to binary. */
-     char              what_kind; /* 'd', 'f', 'g', 'h' */
-     LITTLENUM_TYPE *  words;  /* Build the binary here. */
-{
-       FLONUM_TYPE     f;
-       LITTLENUM_TYPE  bits[MAX_PRECISION + MAX_PRECISION + GUARD];
-                               /* Extra bits for zeroed low-order bits. */
-                               /* The 1st MAX_PRECISION are zeroed, */
-                               /* the last contain flonum bits. */
-       char *          return_value;
-       int             precision; /* Number of 16-bit words in the format. */
-       long int        exponent_bits;
-
-       long int        exponent_1;
-       long int        exponent_2;
-       long int        exponent_3;
-       long int        exponent_4;
-       int             exponent_skippage;
-       LITTLENUM_TYPE  word1;
-       LITTLENUM_TYPE *        lp;
-
-       return_value = str;
-       f.low   = bits + MAX_PRECISION;
-       f.high  = NULL;
-       f.leader        = NULL;
-       f.exponent      = NULL;
-       f.sign  = '\0';
-
-                               /* Use more LittleNums than seems */
-                               /* necessary: the highest flonum may have */
-                               /* 15 leading 0 bits, so could be useless. */
-
-       bzero (bits, sizeof(LITTLENUM_TYPE) * MAX_PRECISION);
-
-       switch (what_kind) {
-       case 'f':
-               precision = F_PRECISION;
-               exponent_bits = 8;
-               break;
-
-       case 'd':
-               precision = D_PRECISION;
-               exponent_bits = 11;
-               break;
-
-       default:
-               make_invalid_floating_point_number (words);
-               return NULL;
-       }
-
-       f.high = f.low + precision - 1 + GUARD;
-
-       if (atof_generic (& return_value, ".", EXP_CHARS, & f)) {
-               as_warn("Error converting floating point number (Exponent overflow?)");
-               make_invalid_floating_point_number (words);
-               return NULL;
-       }
-
-       if (f.low > f.leader) {
-               /* 0.0e0 seen. */
-               bzero (words, sizeof(LITTLENUM_TYPE) * precision);
-               return return_value;
-       }
-
-       if (f.sign != '+' && f.sign != '-') {
-               make_invalid_floating_point_number(words);
-               return NULL;
-       }
-
-
-               /*
-                * All vaxen floating_point formats (so far) have:
-                * Bit 15 is sign bit.
-                * Bits 14:n are excess-whatever exponent.
-                * Bits n-1:0 (if any) are most significant bits of fraction.
-                * Bits 15:0 of the next word are the next most significant bits.
-                * And so on for each other word.
-                *
-                * So we need: number of bits of exponent, number of bits of
-                * mantissa.
-                */
-       bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS;
-       littlenum_pointer = f.leader;
-       littlenums_left = 1 + f.leader-f.low;
-       /* Seek (and forget) 1st significant bit */
-       for (exponent_skippage = 0;! next_bits(1); exponent_skippage ++)
-               ;
-       exponent_1 = f.exponent + f.leader + 1 - f.low;
-       /* Radix LITTLENUM_RADIX, point just higher than f.leader. */
-       exponent_2 = exponent_1 * LITTLENUM_NUMBER_OF_BITS;
-       /* Radix 2. */
-       exponent_3 = exponent_2 - exponent_skippage;
-       /* Forget leading zeros, forget 1st bit. */
-       exponent_4 = exponent_3 + ((1 << (exponent_bits - 1)) - 2);
-       /* Offset exponent. */
-
-       if (exponent_4 & ~ mask[exponent_bits]) {
-                       /*
-                        * Exponent overflow. Lose immediately.
-                        */
-
-                       /*
-                        * We leave return_value alone: admit we read the
-                        * number, but return a floating exception
-                        * because we can't encode the number.
-                        */
-
-               as_warn("Exponent overflow in floating-point number");
-               make_invalid_floating_point_number (words);
-               return return_value;
-       }
-       lp = words;
-
-       /* Word 1. Sign, exponent and perhaps high bits. */
-       /* Assume 2's complement integers. */
-       word1 = ((exponent_4 & mask[exponent_bits]) << (15 - exponent_bits)) |
- ((f.sign == '+') ? 0 : 0x8000) | next_bits (15 - exponent_bits);
-       * lp ++ = word1;
-
-       /* The rest of the words are just mantissa bits. */
-       for (; lp < words + precision; lp++)
-               * lp = next_bits (LITTLENUM_NUMBER_OF_BITS);
-
-       if (next_bits (1)) {
-               unsigned long int       carry;
-                       /*
-                        * Since the NEXT bit is a 1, round UP the mantissa.
-                        * The cunning design of these hidden-1 floats permits
-                        * us to let the mantissa overflow into the exponent, and
-                        * it 'does the right thing'. However, we lose if the
-                        * highest-order bit of the lowest-order word flips.
-                        * Is that clear?
-                        */
-
-
-/* #if (sizeof(carry)) < ((sizeof(bits[0]) * BITS_PER_CHAR) + 2)
-       Please allow at least 1 more bit in carry than is in a LITTLENUM.
-       We need that extra bit to hold a carry during a LITTLENUM carry
-       propagation. Another extra bit (kept 0) will assure us that we
-       don't get a sticky sign bit after shifting right, and that
-       permits us to propagate the carry without any masking of bits.
-#endif */
-               for (carry = 1, lp --; carry && (lp >= words); lp --) {
-                       carry = * lp + carry;
-                       * lp = carry;
-                       carry >>= LITTLENUM_NUMBER_OF_BITS;
-               }
-               if ( (word1 ^ *words) & (1 << (LITTLENUM_NUMBER_OF_BITS - 1)) ) {
-                       /* We leave return_value alone: admit we read the
-                        * number, but return a floating exception
-                        * because we can't encode the number.
-                        */
-                       make_invalid_floating_point_number (words);
-                       return return_value;
-               }
-       }
-       return (return_value);
-}
-
-/* This is really identical to atof_ns32k except for some details */
-
-gen_to_words(words,precision,exponent_bits)
-LITTLENUM_TYPE *words;
-long int       exponent_bits;
-{
-       int return_value=0;
-
-       long int        exponent_1;
-       long int        exponent_2;
-       long int        exponent_3;
-       long int        exponent_4;
-       int             exponent_skippage;
-       LITTLENUM_TYPE  word1;
-       LITTLENUM_TYPE *        lp;
-
-       if (generic_floating_point_number.low > generic_floating_point_number.leader) {
-               /* 0.0e0 seen. */
-               bzero (words, sizeof(LITTLENUM_TYPE) * precision);
-               return return_value;
-       }
-
-               /*
-                * All vaxen floating_point formats (so far) have:
-                * Bit 15 is sign bit.
-                * Bits 14:n are excess-whatever exponent.
-                * Bits n-1:0 (if any) are most significant bits of fraction.
-                * Bits 15:0 of the next word are the next most significant bits.
-                * And so on for each other word.
-                *
-                * So we need: number of bits of exponent, number of bits of
-                * mantissa.
-                */
-       bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS;
-       littlenum_pointer = generic_floating_point_number.leader;
-       littlenums_left = 1+generic_floating_point_number.leader - generic_floating_point_number.low;
-       /* Seek (and forget) 1st significant bit */
-       for (exponent_skippage = 0;! next_bits(1); exponent_skippage ++)
-               ;
-       exponent_1 = generic_floating_point_number.exponent + generic_floating_point_number.leader + 1 -
- generic_floating_point_number.low;
-       /* Radix LITTLENUM_RADIX, point just higher than generic_floating_point_number.leader. */
-       exponent_2 = exponent_1 * LITTLENUM_NUMBER_OF_BITS;
-       /* Radix 2. */
-       exponent_3 = exponent_2 - exponent_skippage;
-       /* Forget leading zeros, forget 1st bit. */
-       exponent_4 = exponent_3 + ((1 << (exponent_bits - 1)) - 2);
-       /* Offset exponent. */
-
-       if (exponent_4 & ~ mask[exponent_bits]) {
-                       /*
-                        * Exponent overflow. Lose immediately.
-                        */
-
-                       /*
-                        * We leave return_value alone: admit we read the
-                        * number, but return a floating exception
-                        * because we can't encode the number.
-                        */
-
-               make_invalid_floating_point_number (words);
-               return return_value;
-       }
-       lp = words;
-
-       /* Word 1. Sign, exponent and perhaps high bits. */
-       /* Assume 2's complement integers. */
-       word1 = ((exponent_4 & mask[exponent_bits]) << (15 - exponent_bits)) |
- ((generic_floating_point_number.sign == '+') ? 0 : 0x8000) | next_bits (15 - exponent_bits);
-       * lp ++ = word1;
-
-       /* The rest of the words are just mantissa bits. */
-       for (; lp < words + precision; lp++)
-               * lp = next_bits (LITTLENUM_NUMBER_OF_BITS);
-
-       if (next_bits (1)) {
-               unsigned long int       carry;
-                       /*
-                        * Since the NEXT bit is a 1, round UP the mantissa.
-                        * The cunning design of these hidden-1 floats permits
-                        * us to let the mantissa overflow into the exponent, and
-                        * it 'does the right thing'. However, we lose if the
-                        * highest-order bit of the lowest-order word flips.
-                        * Is that clear?
-                        */
-
-
-/* #if (sizeof(carry)) < ((sizeof(bits[0]) * BITS_PER_CHAR) + 2)
-       Please allow at least 1 more bit in carry than is in a LITTLENUM.
-       We need that extra bit to hold a carry during a LITTLENUM carry
-       propagation. Another extra bit (kept 0) will assure us that we
-       don't get a sticky sign bit after shifting right, and that
-       permits us to propagate the carry without any masking of bits.
-#endif */
-               for (carry = 1, lp --; carry && (lp >= words); lp --) {
-                       carry = * lp + carry;
-                       * lp = carry;
-                       carry >>= LITTLENUM_NUMBER_OF_BITS;
-               }
-               if ( (word1 ^ *words) & (1 << (LITTLENUM_NUMBER_OF_BITS - 1)) ) {
-                       /* We leave return_value alone: admit we read the
-                        * number, but return a floating exception
-                        * because we can't encode the number.
-                        */
-                       make_invalid_floating_point_number (words);
-                       return return_value;
-               }
-       }
-       return (return_value);
-}
-
-/* This routine is a real kludge.  Someone really should do it better, but
-   I'm too lazy, and I don't understand this stuff all too well anyway
-   (JF)
- */
-void int_to_gen(x)
-long x;
-{
-       char buf[20];
-       char *bufp;
-
-       sprintf(buf,"%ld",x);
-       bufp= &buf[0];
-       if (atof_generic(&bufp,".", EXP_CHARS, &generic_floating_point_number))
-               as_warn("Error converting number to floating point (Exponent overflow?)");
-}
diff --git a/gnu/usr.bin/as/config/atof-tahoe.c b/gnu/usr.bin/as/config/atof-tahoe.c
deleted file mode 100644 (file)
index 64d00ea..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-/* atof_tahoe.c - turn a string into a Tahoe floating point number
-   Copyright (C) 1987 Free Software Foundation, Inc.
-   */
-
-/* This is really a simplified version of atof_vax.c. I glommed it wholesale
-   and then shaved it down. I don't even know how it works. (Don't you find
-   my honesty refreshing?  bowen@cs.Buffalo.EDU (Devon E Bowen)
-
-   I don't allow uppercase letters in the precision descrpitors. Ie 'f' and
-   'd' are allowed but 'F' and 'D' aren't */
-
-#include "as.h"
-
-/* Precision in LittleNums. */
-#define MAX_PRECISION (4)
-#define D_PRECISION (4)
-#define F_PRECISION (2)
-
-/* Precision in chars. */
-#define D_PRECISION_CHARS (8)
-#define F_PRECISION_CHARS (4)
-
-                               /* Length in LittleNums of guard bits. */
-#define GUARD (2)
-
-static const long int mask [] = {
-  0x00000000,
-  0x00000001,
-  0x00000003,
-  0x00000007,
-  0x0000000f,
-  0x0000001f,
-  0x0000003f,
-  0x0000007f,
-  0x000000ff,
-  0x000001ff,
-  0x000003ff,
-  0x000007ff,
-  0x00000fff,
-  0x00001fff,
-  0x00003fff,
-  0x00007fff,
-  0x0000ffff,
-  0x0001ffff,
-  0x0003ffff,
-  0x0007ffff,
-  0x000fffff,
-  0x001fffff,
-  0x003fffff,
-  0x007fffff,
-  0x00ffffff,
-  0x01ffffff,
-  0x03ffffff,
-  0x07ffffff,
-  0x0fffffff,
-  0x1fffffff,
-  0x3fffffff,
-  0x7fffffff,
-  0xffffffff
-  };
-\f
-
-/* Shared between flonum_gen2tahoe and next_bits */
-static int             bits_left_in_littlenum;
-static LITTLENUM_TYPE *        littlenum_pointer;
-static LITTLENUM_TYPE * littlenum_end;
-
-#if __STDC__ == 1
-
-int flonum_gen2tahoe(int format_letter, FLONUM_TYPE *f, LITTLENUM_TYPE *words);
-
-#else /* not __STDC__ */
-
-int flonum_gen2tahoe();
-
-#endif /* not __STDC__ */
-
-
-static int
-next_bits (number_of_bits)
-     int               number_of_bits;
-{
-  int                  return_value;
-
-  if(littlenum_pointer<littlenum_end)
-       return 0;
-  if (number_of_bits >= bits_left_in_littlenum)
-    {
-      return_value  = mask [bits_left_in_littlenum] & * littlenum_pointer;
-      number_of_bits -= bits_left_in_littlenum;
-      return_value <<= number_of_bits;
-      bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS - number_of_bits;
-      littlenum_pointer --;
-      if(littlenum_pointer>=littlenum_end)
-       return_value |= ((*littlenum_pointer) >> (bits_left_in_littlenum)) &
-         mask [number_of_bits];
-    }
-  else
-    {
-      bits_left_in_littlenum -= number_of_bits;
-      return_value = mask [number_of_bits] &
-       ((*littlenum_pointer) >> bits_left_in_littlenum);
-    }
-  return (return_value);
-}
-
-static void
-make_invalid_floating_point_number (words)
-     LITTLENUM_TYPE *  words;
-{
-  *words = 0x8000;             /* Floating Reserved Operand Code */
-}
-\f
-static int                     /* 0 means letter is OK. */
-what_kind_of_float (letter, precisionP, exponent_bitsP)
-     char              letter; /* In: lowercase please. What kind of float? */
-     int *             precisionP; /* Number of 16-bit words in the float. */
-     long int *                exponent_bitsP; /* Number of exponent bits. */
-{
-  int  retval;                 /* 0: OK. */
-
-  retval = 0;
-  switch (letter)
-    {
-    case 'f':
-      * precisionP = F_PRECISION;
-      * exponent_bitsP = 8;
-      break;
-
-    case 'd':
-      * precisionP = D_PRECISION;
-      * exponent_bitsP = 8;
-      break;
-
-    default:
-      retval = 69;
-      break;
-    }
-  return (retval);
-}
-\f
-/***********************************************************************\
-*                                                                      *
-*      Warning: this returns 16-bit LITTLENUMs, because that is        *
-*      what the VAX thinks in. It is up to the caller to figure        *
-*      out any alignment problems and to conspire for the bytes/word   *
-*      to be emitted in the right order. Bigendians beware!            *
-*                                                                      *
-\***********************************************************************/
-
-char *                         /* Return pointer past text consumed. */
-atof_tahoe (str, what_kind, words)
-     char *            str;    /* Text to convert to binary. */
-     char              what_kind; /* 'd', 'f', 'g', 'h' */
-     LITTLENUM_TYPE *  words;  /* Build the binary here. */
-{
-  FLONUM_TYPE          f;
-  LITTLENUM_TYPE       bits [MAX_PRECISION + MAX_PRECISION + GUARD];
-                               /* Extra bits for zeroed low-order bits. */
-                               /* The 1st MAX_PRECISION are zeroed, */
-                               /* the last contain flonum bits. */
-  char *               return_value;
-  int                  precision; /* Number of 16-bit words in the format. */
-  long int             exponent_bits;
-
-  return_value = str;
-  f . low      = bits + MAX_PRECISION;
-  f . high     = NULL;
-  f . leader   = NULL;
-  f . exponent = NULL;
-  f . sign     = '\0';
-
-  if (what_kind_of_float (what_kind, & precision, & exponent_bits))
-    {
-      return_value = NULL;     /* We lost. */
-      make_invalid_floating_point_number (words);
-    }
-  if (return_value)
-    {
-      memset(bits, '\0', sizeof(LITTLENUM_TYPE) * MAX_PRECISION);
-
-                               /* Use more LittleNums than seems */
-                               /* necessary: the highest flonum may have */
-                               /* 15 leading 0 bits, so could be useless. */
-      f . high = f . low + precision - 1 + GUARD;
-
-      if (atof_generic (& return_value, ".", "eE", & f))
-       {
-         make_invalid_floating_point_number (words);
-         return_value = NULL;  /* we lost */
-       }
-      else
-       {
-         if (flonum_gen2tahoe (what_kind, & f, words))
-           {
-             return_value = NULL;
-           }
-       }
-    }
-  return (return_value);
-}
-\f
-/*
- * In: a flonum, a Tahoe floating point format.
- * Out: a Tahoe floating-point bit pattern.
- */
-
-int                            /* 0: OK. */
-flonum_gen2tahoe (format_letter, f, words)
-     char              format_letter; /* One of 'd' 'f'. */
-     FLONUM_TYPE *     f;
-     LITTLENUM_TYPE *  words;  /* Deliver answer here. */
-{
-  LITTLENUM_TYPE *     lp;
-  int                  precision;
-  long int             exponent_bits;
-  int                  return_value; /* 0 == OK. */
-
-  return_value = what_kind_of_float(format_letter,&precision,&exponent_bits);
-  if (return_value != 0)
-    {
-      make_invalid_floating_point_number (words);
-    }
-  else
-    {
-      if (f -> low > f -> leader)
-       {
-         /* 0.0e0 seen. */
-         memset(words, '\0', sizeof(LITTLENUM_TYPE) * precision);
-       }
-      else
-       {
-         long int              exponent_1;
-         long int              exponent_2;
-         long int              exponent_3;
-         long int              exponent_4;
-         int           exponent_skippage;
-         LITTLENUM_TYPE        word1;
-
-               /* JF: Deal with new Nan, +Inf and -Inf codes */
-         if(f->sign!='-' && f->sign!='+') {
-           make_invalid_floating_point_number(words);
-           return return_value;
-         }
-         /*
-          * All tahoe floating_point formats have:
-          * Bit 15 is sign bit.
-          * Bits 14:n are excess-whatever exponent.
-          * Bits n-1:0 (if any) are most significant bits of fraction.
-          * Bits 15:0 of the next word are the next most significant bits.
-          * And so on for each other word.
-          *
-          * So we need: number of bits of exponent, number of bits of
-          * mantissa.
-          */
-
-         bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS;
-         littlenum_pointer = f -> leader;
-         littlenum_end = f->low;
-         /* Seek (and forget) 1st significant bit */
-         for (exponent_skippage = 0;
-              ! next_bits(1);
-              exponent_skippage ++)
-           {
-           }
-         exponent_1 = f -> exponent + f -> leader + 1 - f -> low;
-         /* Radix LITTLENUM_RADIX, point just higher than f -> leader. */
-         exponent_2 = exponent_1 * LITTLENUM_NUMBER_OF_BITS;
-         /* Radix 2. */
-         exponent_3 = exponent_2 - exponent_skippage;
-         /* Forget leading zeros, forget 1st bit. */
-         exponent_4 = exponent_3 + (1 << (exponent_bits - 1));
-         /* Offset exponent. */
-
-         if (exponent_4 & ~ mask [exponent_bits])
-           {
-             /*
-              * Exponent overflow. Lose immediately.
-              */
-
-             make_invalid_floating_point_number (words);
-
-             /*
-              * We leave return_value alone: admit we read the
-              * number, but return a floating exception
-              * because we can't encode the number.
-              */
-           }
-         else
-           {
-             lp = words;
-
-             /* Word 1. Sign, exponent and perhaps high bits. */
-             /* Assume 2's complement integers. */
-             word1 = ((exponent_4 & mask [exponent_bits]) << (15 - exponent_bits))
-               |       ((f -> sign == '+') ? 0 : 0x8000)
-                 |     next_bits (15 - exponent_bits);
-             * lp ++ = word1;
-
-             /* The rest of the words are just mantissa bits. */
-             for (; lp < words + precision; lp++)
-               {
-                 * lp = next_bits (LITTLENUM_NUMBER_OF_BITS);
-               }
-
-             if (next_bits (1))
-               {
-                 /*
-                  * Since the NEXT bit is a 1, round UP the mantissa.
-                  * The cunning design of these hidden-1 floats permits
-                  * us to let the mantissa overflow into the exponent, and
-                  * it 'does the right thing'. However, we lose if the
-                  * highest-order bit of the lowest-order word flips.
-                  * Is that clear?
-                  */
-
-                 unsigned long int     carry;
-
-                 /*
-                   #if (sizeof(carry)) < ((sizeof(bits[0]) * BITS_PER_CHAR) + 2)
-                   Please allow at least 1 more bit in carry than is in a LITTLENUM.
-                   We need that extra bit to hold a carry during a LITTLENUM carry
-                   propagation. Another extra bit (kept 0) will assure us that we
-                   don't get a sticky sign bit after shifting right, and that
-                   permits us to propagate the carry without any masking of bits.
-                   #endif
-                   */
-                 for (carry = 1, lp --;
-                      carry && (lp >= words);
-                      lp --)
-                   {
-                     carry = * lp + carry;
-                     * lp = carry;
-                     carry >>= LITTLENUM_NUMBER_OF_BITS;
-                   }
-
-                 if ( (word1 ^ *words) & (1 << (LITTLENUM_NUMBER_OF_BITS - 1)) )
-                   {
-                     make_invalid_floating_point_number (words);
-                     /*
-                      * We leave return_value alone: admit we read the
-                      * number, but return a floating exception
-                      * because we can't encode the number.
-                      */
-                   }
-               }               /* if (we needed to round up) */
-           }                   /* if (exponent overflow) */
-       }                       /* if (0.0e0) */
-    }                          /* if (float_type was OK) */
-  return (return_value);
-}
-\f
-/*
- *             md_atof()
- *
- * In: input_line_pointer -> the 1st character of a floating-point
- *             number.
- *     1 letter denoting the type of statement that wants a
- *             binary floating point number returned.
- *     Address of where to build floating point literal.
- *             Assumed to be 'big enough'.
- *     Address of where to return size of literal (in chars).
- *
- * Out:        Input_line_pointer -> of next char after floating number.
- *     Error message, or "".
- *     Floating point literal.
- *     Number of chars we used for the literal.
- */
-
-char *
-md_atof (what_statement_type, literalP, sizeP)
-     char      what_statement_type;
-     char *    literalP;
-     int *     sizeP;
-{
-  LITTLENUM_TYPE       words [MAX_PRECISION];
-  register char                kind_of_float;
-  register int         number_of_chars;
-  register LITTLENUM_TYPE * littlenum_pointer;
-
-  switch (what_statement_type)
-    {
-    case 'f':                  /* .ffloat */
-    case 'd':                  /* .dfloat */
-      kind_of_float = what_statement_type;
-      break;
-
-    default:
-      kind_of_float = 0;
-      break;
-    };
-
-  if (kind_of_float)
-    {
-      register LITTLENUM_TYPE * limit;
-
-      input_line_pointer = atof_tahoe (input_line_pointer,
-                                      kind_of_float,
-                                      words);
-      /*
-       * The atof_tahoe() builds up 16-bit numbers.
-       * Since the assembler may not be running on
-       * a different-endian machine, be very careful about
-       * converting words to chars.
-       */
-      number_of_chars = (kind_of_float == 'f' ? F_PRECISION_CHARS :
-                        (kind_of_float == 'd' ? D_PRECISION_CHARS : 0));
-      know(number_of_chars<=MAX_PRECISION*sizeof(LITTLENUM_TYPE));
-      limit = words + (number_of_chars / sizeof(LITTLENUM_TYPE));
-      for (littlenum_pointer = words;
-          littlenum_pointer < limit;
-          littlenum_pointer ++)
-       {
-         md_number_to_chars(literalP,*littlenum_pointer,
-                            sizeof(LITTLENUM_TYPE));
-         literalP += sizeof(LITTLENUM_TYPE);
-       };
-    }
-  else
-    {
-      number_of_chars = 0;
-    };
-
-  * sizeP = number_of_chars;
-  return (kind_of_float ? "" : "Bad call to md_atof()");
-}                              /* md_atof() */
-
-/* atof_tahoe.c */
diff --git a/gnu/usr.bin/as/config/atof-vax.c b/gnu/usr.bin/as/config/atof-vax.c
deleted file mode 100644 (file)
index 56ad35a..0000000
+++ /dev/null
@@ -1,497 +0,0 @@
-/* atof_vax.c - turn a Flonum into a VAX floating point number
-   Copyright (C) 1987, 1992 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 2, 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.  */
-
-/* JF added these two for md_atof() */
-#include "as.h"
-
-/* Precision in LittleNums. */
-#define MAX_PRECISION (8)
-#define H_PRECISION (8)
-#define G_PRECISION (4)
-#define D_PRECISION (4)
-#define F_PRECISION (2)
-
-/* Length in LittleNums of guard bits. */
-#define GUARD (2)
-
-#if __STDC__ == 1
-
-int flonum_gen2vax(int format_letter, FLONUM_TYPE *f, LITTLENUM_TYPE *words);
-
-#else /* not __STDC__ */
-
-int flonum_gen2vax();
-
-#endif /* not __STDC__ */
-
-int                            /* Number of chars in flonum type 'letter'. */
-    atof_vax_sizeof (letter)
-char letter;
-{
-       int     return_value;
-
-       /*
-        * Permitting uppercase letters is probably a bad idea.
-        * Please use only lower-cased letters in case the upper-cased
-        * ones become unsupported!
-        */
-       switch (letter)
-           {
-           case 'f':
-           case 'F':
-                   return_value = 4;
-                   break;
-
-           case 'd':
-           case 'D':
-           case 'g':
-           case 'G':
-                   return_value = 8;
-                   break;
-
-           case 'h':
-           case 'H':
-                   return_value = 16;
-                   break;
-
-           default:
-                   return_value = 0;
-                   break;
-           }
-       return (return_value);
-} /* atof_vax_sizeof */
-
-static const long mask[] = {
-       0x00000000,
-       0x00000001,
-       0x00000003,
-       0x00000007,
-       0x0000000f,
-       0x0000001f,
-       0x0000003f,
-       0x0000007f,
-       0x000000ff,
-       0x000001ff,
-       0x000003ff,
-       0x000007ff,
-       0x00000fff,
-       0x00001fff,
-       0x00003fff,
-       0x00007fff,
-       0x0000ffff,
-       0x0001ffff,
-       0x0003ffff,
-       0x0007ffff,
-       0x000fffff,
-       0x001fffff,
-       0x003fffff,
-       0x007fffff,
-       0x00ffffff,
-       0x01ffffff,
-       0x03ffffff,
-       0x07ffffff,
-       0x0fffffff,
-       0x1fffffff,
-       0x3fffffff,
-       0x7fffffff,
-       0xffffffff
-    };
-\f
-
-/* Shared between flonum_gen2vax and next_bits */
-static int             bits_left_in_littlenum;
-static LITTLENUM_TYPE *        littlenum_pointer;
-static LITTLENUM_TYPE * littlenum_end;
-
-static int
-    next_bits (number_of_bits)
-int            number_of_bits;
-{
-       int                     return_value;
-
-       if (littlenum_pointer<littlenum_end)
-           return 0;
-       if (number_of_bits >= bits_left_in_littlenum)
-           {
-                   return_value  = mask[bits_left_in_littlenum] & * littlenum_pointer;
-                   number_of_bits -= bits_left_in_littlenum;
-                   return_value <<= number_of_bits;
-                   bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS - number_of_bits;
-                   littlenum_pointer --;
-                   if (littlenum_pointer >= littlenum_end)
-                       return_value |= ( (* littlenum_pointer) >> (bits_left_in_littlenum) ) & mask[number_of_bits];
-           }
-       else
-           {
-                   bits_left_in_littlenum -= number_of_bits;
-                   return_value = mask[number_of_bits] & ( (* littlenum_pointer) >> bits_left_in_littlenum);
-           }
-       return (return_value);
-}
-
-static void
-    make_invalid_floating_point_number (words)
-LITTLENUM_TYPE *       words;
-{
-       * words = 0x8000;               /* Floating Reserved Operand Code */
-}
-\f
-static int                     /* 0 means letter is OK. */
-    what_kind_of_float (letter, precisionP, exponent_bitsP)
-char           letter; /* In: lowercase please. What kind of float? */
-int *          precisionP; /* Number of 16-bit words in the float. */
-long *         exponent_bitsP; /* Number of exponent bits. */
-{
-       int     retval;                 /* 0: OK. */
-
-       retval = 0;
-       switch (letter)
-           {
-           case 'f':
-                   * precisionP = F_PRECISION;
-                   * exponent_bitsP = 8;
-                   break;
-
-           case 'd':
-                   * precisionP = D_PRECISION;
-                   * exponent_bitsP = 8;
-                   break;
-
-           case 'g':
-                   * precisionP = G_PRECISION;
-                   * exponent_bitsP = 11;
-                   break;
-
-           case 'h':
-                   * precisionP = H_PRECISION;
-                   * exponent_bitsP = 15;
-                   break;
-
-           default:
-                   retval = 69;
-                   break;
-           }
-       return (retval);
-}
-\f
-/***********************************************************************\
- *                                                                     *
- *     Warning: this returns 16-bit LITTLENUMs, because that is        *
- *     what the VAX thinks in. It is up to the caller to figure        *
- *     out any alignment problems and to conspire for the bytes/word   *
- *     to be emitted in the right order. Bigendians beware!            *
- *                                                                     *
- \***********************************************************************/
-
-char * /* Return pointer past text consumed. */
-    atof_vax(str, what_kind, words)
-char *str; /* Text to convert to binary. */
-char what_kind; /* 'd', 'f', 'g', 'h' */
-LITTLENUM_TYPE *words; /* Build the binary here. */
-{
-       FLONUM_TYPE f;
-       LITTLENUM_TYPE bits[MAX_PRECISION + MAX_PRECISION + GUARD];
-       /* Extra bits for zeroed low-order bits. */
-       /* The 1st MAX_PRECISION are zeroed, */
-       /* the last contain flonum bits. */
-       char *return_value;
-       int precision; /* Number of 16-bit words in the format. */
-       long exponent_bits;
-
-       return_value = str;
-       f.low = bits + MAX_PRECISION;
-       f.high = NULL;
-       f.leader = NULL;
-       f.exponent = NULL;
-       f.sign = '\0';
-
-       if (what_kind_of_float (what_kind, & precision, & exponent_bits)) {
-               return_value = NULL; /* We lost. */
-               make_invalid_floating_point_number (words);
-       }
-
-       if (return_value) {
-               memset(bits, '\0', sizeof(LITTLENUM_TYPE) * MAX_PRECISION);
-
-               /* Use more LittleNums than seems */
-               /* necessary: the highest flonum may have */
-               /* 15 leading 0 bits, so could be useless. */
-               f.high = f.low + precision - 1 + GUARD;
-
-               if (atof_generic (& return_value, ".", "eE", & f)) {
-                       make_invalid_floating_point_number (words);
-                       return_value = NULL;    /* we lost */
-               } else {
-                       if (flonum_gen2vax(what_kind, & f, words)) {
-                               return_value = NULL;
-                       }
-               }
-       }
-       return(return_value);
-} /* atof_vax() */
-\f
-/*
- * In: a flonum, a vax floating point format.
- * Out: a vax floating-point bit pattern.
- */
-
-int                            /* 0: OK. */
-    flonum_gen2vax (format_letter, f, words)
-char format_letter; /* One of 'd' 'f' 'g' 'h'. */
-FLONUM_TYPE *f;
-LITTLENUM_TYPE *words; /* Deliver answer here. */
-{
-       LITTLENUM_TYPE *lp;
-       int precision;
-       long exponent_bits;
-       int return_value; /* 0 == OK. */
-
-       return_value = what_kind_of_float(format_letter, &precision, &exponent_bits);
-
-       if (return_value != 0) {
-               make_invalid_floating_point_number (words);
-       } else {
-               if (f->low > f->leader) {
-                       /* 0.0e0 seen. */
-memset(words, '\0', sizeof(LITTLENUM_TYPE) * precision);
-               } else {
-                       long exponent_1;
-                       long exponent_2;
-                       long exponent_3;
-                       long exponent_4;
-                       int exponent_skippage;
-                       LITTLENUM_TYPE word1;
-
-                       /* JF: Deal with new Nan, +Inf and -Inf codes */
-                       if (f->sign != '-' && f->sign != '+') {
-                               make_invalid_floating_point_number(words);
-                               return return_value;
-                       }
-                       /*
-                        * All vaxen floating_point formats (so far) have:
-                        * Bit 15 is sign bit.
-                        * Bits 14:n are excess-whatever exponent.
-                        * Bits n-1:0 (if any) are most significant bits of fraction.
-                        * Bits 15:0 of the next word are the next most significant bits.
-                        * And so on for each other word.
-                        *
-                        * All this to be compatible with a KF11?? (Which is still faster
-                        * than lots of vaxen I can think of, but it also has higher
-                        * maintenance costs ... sigh).
-                        *
-                        * So we need: number of bits of exponent, number of bits of
-                        * mantissa.
-                        */
-
-#ifdef NEVER  /******* This zeroing seems redundant - Dean 3may86 **********/
-                       /*
-                        * No matter how few bits we got back from the atof()
-                        * routine, add enough zero littlenums so the rest of the
-                        * code won't run out of "significant" bits in the mantissa.
-                        */
-                       {
-                               LITTLENUM_TYPE *ltp;
-                               for (ltp = f->leader + 1;
-                                    ltp <= f->low + precision;
-                                    ltp++) {
-                                       *ltp = 0;
-                               }
-                       }
-#endif
-
-                       bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS;
-                       littlenum_pointer = f->leader;
-                       littlenum_end = f->low;
-                       /* Seek (and forget) 1st significant bit */
-                       for (exponent_skippage = 0;
-                            ! next_bits(1);
-                            exponent_skippage ++) ;;
-
-                       exponent_1 = f->exponent + f->leader + 1 - f->low;
-                       /* Radix LITTLENUM_RADIX, point just higher than f->leader. */
-                       exponent_2 = exponent_1 * LITTLENUM_NUMBER_OF_BITS;
-                       /* Radix 2. */
-                       exponent_3 = exponent_2 - exponent_skippage;
-                       /* Forget leading zeros, forget 1st bit. */
-                       exponent_4 = exponent_3 + (1 << (exponent_bits - 1));
-                       /* Offset exponent. */
-
-                       if (exponent_4 & ~mask[exponent_bits]) {
-                               /*
-                                * Exponent overflow. Lose immediately.
-                                */
-
-                               make_invalid_floating_point_number (words);
-
-                               /*
-                                * We leave return_value alone: admit we read the
-                                * number, but return a floating exception
-                                * because we can't encode the number.
-                                */
-                       } else {
-                               lp = words;
-
-                               /* Word 1. Sign, exponent and perhaps high bits. */
-                               /* Assume 2's complement integers. */
-                               word1 = (((exponent_4 &mask[exponent_bits]) << (15 - exponent_bits))
-                                        | ((f->sign == '+') ? 0 : 0x8000)
-                                        | next_bits(15 - exponent_bits));
-                               *lp++ = word1;
-
-                               /* The rest of the words are just mantissa bits. */
-                               for (; lp < words + precision; lp++) {
-                                       *lp = next_bits(LITTLENUM_NUMBER_OF_BITS);
-                               }
-
-                               if (next_bits (1)) {
-                  &n