Clean up deleted files.

This commit is contained in:
mycroft 1993-10-02 20:58:04 +00:00
parent 7fc5781857
commit 14e337e2bf
5 changed files with 0 additions and 773 deletions

View File

@ -1,358 +0,0 @@
# Makefile for GAS.
# Copyright (C) 1989, Free Software Foundation
#
# 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.
#
# $Id: Makefile.gnu,v 1.2 1993/08/02 17:27:55 mycroft Exp $
# This makefile may be used to make the VAX, 68020, 80386,
# SPARC, ns32k, or i860 assembler(s).
BINDIR = /usr/local/bin
#CC=gcc
# If you are on a BSD system, un-comment the next two lines, and comment out
# the lines for SystemV and HPUX below
G0 = -g -I. #-O -Wall
LDFLAGS = $(CFLAGS)
#
# To compile gas on a System Five machine, comment out the two lines above
# and un-comment out the next three lines
# Comment out the -lPW on the LOADLIBES line if you are using GCC.
# G0 = -g -I. -DUSG
# LDFLAGS = $(CFLAGS)
# LOADLIBES = -lmalloc -lPW
#
# To compile gas for HPUX, link m-hpux.h to m68k.h , and un-comment the
# next two lines. (If you are using GCC, comment out the alloca.o part)
# (Get alloca from the emacs distribution, or use GCC.)
# HPUX 7.0 may have a bug in setvbuf. gas gives an error message like
# 1:"Unknown operator" -- Statement 'NO_APP' ignored
# if setvbuf is broken. Re-compile input-file.c (and only input-file.c
# with -DVMS and the problem should go away.
#
# G0 = -g -I. -DUSG
# LOADLIBES = alloca.o
#
# To compile gas for a Sequent Symmetry, comment out all the above lines,
# and un-comment the next two lines.
# G0 = -g -I. -DUSE_SYSTEM_HDR -DEXEC_VERSION=1
# LOADLIBES = -lc /usr/att/lib/libc.a
# If you just want to compile the vax assembler, type 'make avax'
# If you just want to compile the i386 assembler, type 'make a386'
# If you just want to compile the ns32k assembler, type 'make a32k'
# If you just want to compile the sparc assembler, type 'make asparc'
# If you just want to compile the mc68020 assembler, make sure m68k.h
# is correctly set up, and type type 'make a68' (Except on HPUX machines,
# where you will have to make the changes marked below before typing
# 'make a68'
# m68k.h should be a symbolic or hard-link to one of
# m-sun3.h , m-hpux.h or m-generic.h
# depending on which machine you want to compile the 68020 assembler for.
#
# If you want the 68k assembler to be completely compatable with the the
# SUN one, un-comment the -DSUN_ASM_SYNTAX line below.
#
# If you machine does not have vfprintf, but does have _doprnt(),
# remove the # from the -DNO_VARARGS line below.
#
# If the return-type of a signal-hander is void (instead of int),
# remove the # from the -DSIGTY line below.
#
# To include the mc68851 mmu coprocessor instructions in the 68020 assembler,
# remove the # from the -Dm68851 line below.
#
# If you want the 68020 assembler use a register prefix character, un-comment
# the REGISTER_PREFIX line, and (maybe) change the '%' to the appropriate
# character.
#
# If you want the assembler to treat .L* or ..* symbols as local, instead of
# the usual L* symbols, un-comment the DOT_LABEL_PREFIX line.
#
# If you want the 80386 assembler to correctly handle fsub/fsubr and fdiv/fdivr
# opcodes (unlike most 80386 assemblers), remove the # from
# the -DNON_BROKEN_WORDS line below.
#
# To compile 80386 Gas for the Sequent Symmetry, un-comment the -DEXEC_VERSION
# and the -DUSE_SYSTEM_HDR lines below.
#
# To compile gas for the HP 9000/300 un-comment the -DUSE_HP_HDR line below.
#
# For the ns32k, the options are 32532 or 32032 CPU and 32381 or 32081 FPU.
# To select the NS32532, remove the # from the -DNS32532 line below.
# To compile in tne NS32381 opcodes in addition to the NS32081 opcodes
# (the 32381 is a superset of the 32081), remove the # from the -DNS32381
# line below.
#
# For the ns32k on a Sequent, uncomment the SEQUENT_COMPATABILITY line below.
#
# If you want the .align N directive to align to the next N byte boundry,
# instead of the next 1<<N boundry, un-comment the OTHER_ALIGN line below.
# (This option is automatically enabled when building the sparc assembler.
#
O1 = -DNO_VARARGS
O2 = # -DNON_BROKEN_WORDS
O3 = # -Dm68851
O4 = # -DEXEC_VERSION=1
O5 = # -DSIGTY=void
O6 = # -DNS32532
O6 = # -DNS32381
O7 = # -DDOT_LABEL_PREFIX
O8 = # -DSEQUENT_COMPATABILITY
O9 = # -DREGISTER_PREFIX=\'%\'
O10= # -DOTHER_ALIGN
G1 = # -DUSE_SYSTEM_HDR
G2 = # -DUSE_HP_HDR
G3 = # -DSUN_ASM_SYNTAX
OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
CFLAGS = $(G0) $(G1) $(G2) $(G3) $(G4)
#
# To make the 68020 assembler compile as the default, un-comment the next
# line, and comment out all the other lines that start with DEFAULT_GAS
DEFAULT_GAS=a68
#
# To make the VAX assembler compile as the default, un-comment the next
# line and commment out all the other lines that start with DEFAULT_GAS
#DEFAULT_GAS=avax
#
# To make the 80386 assembler compile as the default, un-comment the next
# line and commment out all the other lines that start with DEFAULT_GAS
#DEFAULT_GAS=a386
#
# To make the ns32k assembler compile as the default, un-comment the next
# line and commment out all the other lines that start with DEFAULT_GAS
#DEFAULT_GAS=a32k
#
# To make the sparc assembler compile as the default, un-comment the next
# line and commment out all the other lines that start with DEFAULT_GAS
#DEFAULT_GAS=asparc
#
# To make the i860 assembler compile as the default, un-comment the next
# line and comment out all the other lines that start with DEFAULT_GAS
#DEFAULT_GAS=a860
# Global Sources -------------------------------------------------------------
a =\
as.o xrealloc.o xmalloc.o hash.o hex-value.o \
atof-generic.o append.o messages.o expr.o app.o \
frags.o input-file.o input-scrub.o output-file.o \
subsegs.o symbols.o version.o \
flonum-const.o flonum-copy.o flonum-mult.o strstr.o bignum-copy.o \
obstack.o
#gdb.o gdb-file.o gdb-symbols.o gdb-blocks.o gdb-lines.o
a: $(DEFAULT_GAS)
@rm -f a
@ln $(DEFAULT_GAS) a
# I860 GAS ------------------------------------------------------------------
u = i860.o atof-ieee.o write-i860.o read-i860.o
U = i860.c i860.h i860-opcode.h
i860.o: i860.c i860.h i860-opcode.h as.h frags.h struc-symbol.h
i860.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
$(CC) -c $(CFLAGS) -DI860 i860.c
atof-ieee.o: flonum.h
write-i860.o: write.c i860.h
$(CC) -c -DI860 $(CFLAGS) write.c
mv write.o write-i860.o
read-i860.o: read.c i860.h
$(CC) -c -DI860 $(CFLAGS) read.c
mv read.o read-i860.o
a860: $a $u
$(CC) -o a860 $(LDFLAGS) $a $u $(LOADLIBES)
# SPARC GAS ------------------------------------------------------------------
v = sparc.o atof-ieee.o write-sparc.o read-sparc.o
V = sparc.c sparc.h sparc-opcode.h
atof-ieee.o: flonum.h
sparc.o: sparc.c sparc.h sparc-opcode.h as.h frags.h struc-symbol.h
sparc.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
$(CC) -c $(CFLAGS) -DSPARC sparc.c
write-sparc.o: write.c
$(CC) -c -DSPARC $(CFLAGS) write.c
mv write.o write-sparc.o
read-sparc.o: read.c
$(CC) -c -DSPARC $(CFLAGS) read.c
mv read.o read-sparc.o
asparc: $a $v
$(CC) -o asparc $(LDFLAGS) $a $v $(LOADLIBES)
# NS32K GAS ------------------------------------------------------------------
w = ns32k.o atof-ieee.o write-ns32k.o read-ns32k.o
W = ns32k.c ns32k-opcode.h
atof-ieee.o: flonum.h
ns32k.o: as.h frags.h struc-symbol.h flonum.h expr.h md.h hash.h
ns32k.o: write.h symbols.h ns32k-opcode.h ns32k.c
$(CC) $(CFLAGS) $(OPTIONS) -c ns32k.c
write-ns32k.o: write.c
$(CC) -c -DNS32K $(CFLAGS) write.c
mv write.o write-ns32k.o
read-ns32k.o:
$(CC) -c -DNS32K $(CFLAGS) read.c
mv read.o read-ns32k.o
a32k: $a $w
$(CC) -o a32k $(LDFLAGS) $a $w $(LOADLIBES)
# 80386 GAS ------------------------------------------------------------------
x = i386.o atof-ieee.o write.o read.o
X = i386.c i386.h i386-opcode.h
i386.o: i386.c as.h read.h flonum.h frags.h struc-symbol.h expr.h
i386.o: symbols.h hash.h md.h i386.h i386-opcode.h
$(CC) $(CFLAGS) $(OPTIONS) -c i386.c
atof-ieee.o: flonum.h
a386: $a $x
$(CC) -o a386 $(LDFLAGS) $a $x $(LOADLIBES)
# 68020 GAS ------------------------------------------------------------------
y = m68k.o atof-ieee.o write.o read.o
Y = m68k.c atof-ieee.c m68k-opcode.h m-hpux.h m-sun3.h m-generic.h
atof-ieee.o: flonum.h
m68k.o: m68k.c a.out.gnu.h as.h expr.h flonum.h frags.h hash.h
m68k.o: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
$(CC) $(CFLAGS) $(OPTIONS) -c m68k.c
a68: $a $y
$(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES)
# VAX GAS --------------------------------------------------------------------
z = vax.o atof-vax.o write.o read.o
Z = vax.c atof-vax.c vax-opcode.h vax-inst.h \
make-gas.com objrecdef.h vms.c vms-dbg.c README-vms-dbg
vax.o: vax.c a.out.gnu.h as.h expr.h flonum.h frags.h md.h obstack.h
vax.o: read.h struc-symbol.h symbols.h vax-inst.h vax-opcode.h
atof-vax.o: as.h flonum.h read.h
avax: $a $z
$(CC) -o avax $(LDFLAGS) $a $z $(LOADLIBES)
# global files ---------------------------------------------------------------
as.o: as.c
$(CC) $(CFLAGS) $(OPTIONS) -c as.c
messages.o: messages.c
$(CC) $(CFLAGS) $(OPTIONS) -c messages.c
hash.o: hash.c
$(CC) $(CFLAGS) -Derror=as_fatal -c hash.c
xmalloc.o: xmalloc.c
$(CC) $(CFLAGS) -Derror=as_fatal -c xmalloc.c
xrealloc.o: xrealloc.c
$(CC) $(CFLAGS) -Derror=as_fatal -c xrealloc.c
A =\
as.c xrealloc.c xmalloc.c hash.c hex-value.c \
atof-generic.c append.c messages.c expr.c bignum-copy.c \
frags.c input-file.c input-scrub.c output-file.c read.c \
subsegs.c symbols.c write.c strstr.c \
flonum-const.c flonum-copy.c flonum-mult.c app.c version.c \
obstack.c \
#gdb.c gdb-file.c gdb-symbols.c gdb-blocks.c \
#gdb-lines.c
H = \
a.out.gnu.h as.h bignum.h expr.h flonum.h \
frags.h hash.h input-file.h md.h \
obstack.h read.h struc-symbol.h subsegs.h \
symbols.h write.h
dist: COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile
echo gas-`sed -n -e '/ version /s/[^0-9.]*\([0-9.]*\).*/\1/p' < version.c` > .fname
mkdir `cat .fname`
ln COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile `cat .fname`
tar cvhZf `cat .fname`.tar.Z `cat .fname`
-rm -r `cat .fname`
-rm .fname
clean:
rm -f a avax a68 a386 a32k asparc $a $v $w $x $y $z a core gmon.out bugs a.out
install: a
cp a $(BINDIR)/gas
# General .o-->.h dependencies
app.o: as.h
as.o: a.out.gnu.h as.h read.h struc-symbol.h write.h
atof-generic.o: flonum.h
bignum-copy.o: bignum.h
expr.o: a.out.gnu.h as.h expr.h flonum.h obstack.h read.h struc-symbol.h
expr.o: symbols.h
flonum-const.o: flonum.h
flonum-copy.o: flonum.h
flonum-mult.o: flonum.h
flonum-normal.o:flonum.h
flonum-print.o: flonum.h
frags.o: a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h
#gdb.o: as.h
#gdb-blocks.o: as.h
#gdb-lines.o: as.h frags.h obstack.h
#gdb-symbols.o: a.out.gnu.h as.h struc-symbol.h
hash.o: hash.h
input-file.o: input-file.h
input-scrub.o: as.h input-file.h read.h
messages.o: as.h
obstack.o: obstack.h
read.o: a.out.gnu.h as.h expr.h flonum.h frags.h hash.h md.h obstack.h
read.o: read.h struc-symbol.h symbols.h
subsegs.o: a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h write.h
symbols.o: a.out.gnu.h as.h frags.h hash.h obstack.h struc-symbol.h symbols.h
write.o: a.out.gnu.h as.h md.h obstack.h struc-symbol.h subsegs.h
write.o: symbols.h write.h
flonum.h: bignum.h

View File

@ -1,133 +0,0 @@
This is the beta-test version of the GNU assembler. (Probably
around Version 1.35, but check version.c which gets updated more
often than this readme.)
The assembler has been modified to support a feature that is
potentially useful when assembling compiler output, but which may
confuse assembly language programmers. If assembler encounters a
.word pseudo-op of the form symbol1-symbol2 (the difference of two
symbols), and the difference of those two symbols will not fit in 16
bits, the assembler will create a branch around a long jump to
symbol1, and insert this into the output directly before the next
label: The .word will (instead of containing garbage, or giving an
error message) contain (the address of the long jump)-symbol2. This
allows the assembler to assemble jump tables that jump to locations
very far away into code that works properly. If the next label is
more than 32K away from the .word, you lose (silently) RMS claims
this will never happen. If the -k option is given, you will get a
warning message when this happens.
These files are currently set up to allow you to compile all of the
versions of the assembler (68020, VAX, ns32k, and i386) on the same
machine. To compile the 68020 version, type 'make a68'. To compile
the VAX version, type 'make avax'. To compile the ns32k version,
type 'make a32k'. To compile the Intel 80386 version, type 'make
a386'. The Makefile contains instructions on how to make one of the
assemblers compile as the default.
Before you can compile the 68020 version of the assembler, you must
make m68k.h be a link to m-sun3.h , m-hpux.h or m-generic.h . If
you are on a SUN-3 (or other machine that uses a magic number of
(2 << 16) | OMAGIC type 'ln -s m-sun3.h m68k.h' else if you are on a
machine running HP-UX, type 'ln m-hpux.h m689k.h' else type
'ln -s m-generic.h m68k.h' If your machine does not support symbolic
links, omit the '-s'.
See the instructions in the Makefile for compiling gas for the Sequent
Symmetry (dynix 3.0.12 + others?) or for the HP 9000/300
If your machine does not have both varargs.h and vfprintf(), but does have
_doprnt() add -DNO_VARARGS to the CFLAGS line in the makefile. If your
machine has neither vfprintf() or _doprnt(), you will have to change
messages.c in order to get readable error messages from the assembler.
REPORTING BUGS IN GAS
Bugs in gas should be reported to bug-gnu-utils@prep.ai.mit.edu If you can't
get through to prep, try hack@gnu.ai.mit.edu or hack@media-lab.media.mit.edu
If you report a bug in GAS, please remember to include:
A description of exactly what went wrong.
The type of machine GAS was running on (VAX, 68020, etc),
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.
------------------------------ README.APOLLO ---------------------------------
The changes required to get the GNU C compiler running on
Apollo 68K platforms are available via anonymous ftp from
labrea.stanford.edu (36.8.0.47) in the form of a compressed
tar file named "/pub/gnu/apollo-gcc-1.37.tar.Z".
The size of the file is 84145 bytes.
To build GCC for the Apollo you'll need the virgin FSF
distributions of bison-1.03, gas-1.34, and gcc-1.37. They
are also on labrea.stanford.edu as well as prep.ai.mit.edu.
My changes are to enable gas to produce Apollo COFF object
files and allow gcc to parse some of the syntax extensions
which appear in Apollo C header files. Note that the
COFF encapsulation technique cannot be used on the Apollo.
The tar file should be unpacked in the directory containing
the gas-1.34 and gcc-1.37 directories; a few files will be overlaid,
and an APOLLO-GCC-README file will appear in the top directory.
This file contains detailed instructions on how to proceed.
These changes will only work for SR10.1 or later systems, using
the 6.6 or later version of the Apollo C compiler.
If you do not have ftp access, I can mail you the changes in the
form of diffs; they are approximately 40K in length. If you request
them, be sure to give me a voice phone number so I can contact you
in case I can't send you mail; I've had several requests in the
past from people I can't contact.
By the way, I'm working on getting the GNU C++ compiler running;
there are a couple problems to solve. I hope to be able to announce
the Apollo version shortly after the 1.37 version is released.
John Vasta Hewlett-Packard Apollo Systems Division
vasta@apollo.hp.com M.S. CHA-01-LT
(508) 256-6600 x6362 300 Apollo Drive, Chelmsford, MA 01824
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta
------------------------------------
You might refer others who are interested in a similar thing.
Kevin Buchs buchs@mayo.edu
------------------------------ README.COFF -----------------------------------
If you have a COFF system, you may wish to aquire
UUCP: osu-cis!~/gnu/coff/gnu-coff.tar.Z
or
FTP: tut.cis.ohio-state.edu:/pub/gnu/coff/gnu-coff.tar.Z
These contain patches for gas that will make it produce COFF output.
I have never seen these patches, so I don't know how well they work.

View File

@ -1,41 +0,0 @@
/* Append a string ontp another string
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. */
#ifndef lint
static char rcsid[] = "$Id: append.c,v 1.2 1993/08/02 17:28:01 mycroft Exp $";
#endif /* not lint */
/* JF: This is silly. Why not stuff this in some other file? */
#ifdef USG
#define bcopy(from,to,n) memcpy(to,from,n)
#endif
void
append (charPP, fromP, length)
char **charPP;
char *fromP;
unsigned long length;
{
if (length) { /* Don't trust bcopy() of 0 chars. */
bcopy (fromP, * charPP,(int) length);
*charPP += length;
}
}
/* end: append.c */

View File

@ -1,161 +0,0 @@
/* flonum_const.c - Useful Flonum constants
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. */
#ifndef lint
static char rcsid[] = "$Id: flonum-const.c,v 1.2 1993/08/02 17:28:16 mycroft Exp $";
#endif /* not lint */
#include "flonum.h"
/* JF: I added the last entry to this table, and I'm not
sure if its right or not. Could go either way. I wish
I really understood this stuff. */
const int table_size_of_flonum_powers_of_ten = 11;
static const LITTLENUM_TYPE zero[] = { 1 };
/***********************************************************************\
* *
* Warning: the low order bits may be WRONG here. *
* I took this from a suspect bc(1) script. *
* "minus_X"[] is supposed to be 10^(2^-X) expressed in base 2^16. *
* The radix point is just AFTER the highest element of the [] *
* *
* Because bc rounds DOWN for printing (I think), the lowest *
* significance littlenums should probably have 1 added to them. *
* *
\***********************************************************************/
/* JF: If this equals 6553/(2^16)+39321/(2^32)+... it approaches .1 */
static const LITTLENUM_TYPE minus_1 [] = {
39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321,
39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 6553 };
static const LITTLENUM_TYPE plus_1 [] = { 10 };
/* JF: If this equals 655/(2^16) + 23592/(2^32) + ... it approaches .01 */
static const LITTLENUM_TYPE minus_2 [] = {
10485, 36700, 62914, 23592, 49807, 10485, 36700, 62914, 23592, 49807,
10485, 36700, 62914, 23592, 49807, 10485, 36700, 62914, 23592, 655 };
static const LITTLENUM_TYPE plus_2 [] = { 100 };
/* This approaches .0001 */
static const LITTLENUM_TYPE minus_3 [] = {
52533, 20027, 37329, 65116, 64067, 60397, 14784, 18979, 33659, 19503,
2726, 9542, 629, 2202, 40475, 10590, 4299, 47815, 36280, 6 };
static const LITTLENUM_TYPE plus_3 [] = { 10000 };
/* JF: this approaches 1e-8 */
static const LITTLENUM_TYPE minus_4 [] = {
22516, 49501, 54293, 19424, 60699, 6716, 24348, 22618, 23904, 21327,
3919, 44703, 19149, 28803, 48959, 6259, 50273, 62237, 42 };
/* This equals 1525 * 2^16 + 57600 */
static const LITTLENUM_TYPE plus_4 [] = { 57600, 1525 };
/* This approaches 1e-16 */
static const LITTLENUM_TYPE minus_5 [] = {
22199, 45957, 17005, 26266, 10526, 16260, 55017, 35680, 40443, 19789,
17356, 30195, 55905, 28426, 63010, 44197, 1844 };
static const LITTLENUM_TYPE plus_5 [] = { 28609, 34546, 35 };
static const LITTLENUM_TYPE minus_6 [] = {
30926, 26518, 13110, 43018, 54982, 48258, 24658, 15209, 63366, 11929,
20069, 43857, 60487, 51 };
static const LITTLENUM_TYPE plus_6 [] = { 61313, 34220, 16731, 11629, 1262 };
static const LITTLENUM_TYPE minus_7 [] = {
29819, 14733, 21490, 40602, 31315, 65186, 2695 };
static const LITTLENUM_TYPE plus_7 [] = {
7937, 49002, 60772, 28216, 38893, 55975, 63988, 59711, 20227, 24 };
static const LITTLENUM_TYPE minus_8 [] = {
45849, 19069, 18068, 36324, 37948, 48745, 10873, 64360, 15961, 20566,
24178, 15922, 59427, 110 };
static const LITTLENUM_TYPE plus_8 [] = {
15873, 11925, 39177, 991, 14589, 19735, 25347, 65086, 53853, 938,
37209, 47086, 33626, 23253, 32586, 42547, 9731, 59679, 590 };
static const LITTLENUM_TYPE minus_9 [] = {
63601, 55221, 43562, 33661, 29067, 28203, 65417, 64352, 22462, 41110,
12570, 28635, 23199, 50572, 28471, 27074, 46375, 64028, 13106, 63700,
32698, 17493, 32420, 34382, 22750, 20681, 12300 };
static const LITTLENUM_TYPE plus_9 [] = {
63564, 61556, 29377, 54467, 18621, 28141, 36415, 61241, 47119, 30026,
19740, 46002, 13541, 61413, 30480, 38664, 32205, 50593, 51112, 48904,
48263, 43814, 286, 30826, 52813, 62575, 61390, 24540, 21495, 5 };
static const LITTLENUM_TYPE minus_10 [] = {
50313, 34681, 1464, 25889, 19575, 41125, 17635, 4598, 49708, 13427,
17287, 56115, 53783, 38255, 32415, 17778, 31596, 7557, 20951, 18477,
40353, 1178, 44405, 11837, 11571, 50963, 15649, 11698, 40675, 2308, };
static const LITTLENUM_TYPE plus_10[] = {
18520, 53764, 54535, 61910, 61962, 59843, 46270, 58053, 12473, 63785,
2449, 43230, 50044, 47595, 10403, 35766, 32607, 1124, 24966, 35044,
25524, 23631, 18826, 14518, 58448, 14562, 49618, 5588, 25396, 28 };
static const LITTLENUM_TYPE minus_11 [] = {
6223, 59909, 62437, 59960, 14652, 45336, 48800, 7647, 51962, 37982,
60436, 58176, 26767, 8440, 9831, 48556, 20994, 14148, 6757, 17221,
60624, 46129, 53210, 44085, 54016, 24259, 11232, 21229, 21313, 81, };
static const LITTLENUM_TYPE plus_11 [] = {
36159, 2055, 33615, 61362, 23581, 62454, 9748, 15275, 39284, 58636,
16269, 42793, 47240, 45774, 50861, 48400, 9413, 40281, 4030, 9572,
7984, 33038, 59522, 19450, 40593, 24486, 54320, 6661, 55766, 805, };
/* Shut up complaints about differing pointer types. They only differ
in the const attribute, but there isn't any easy way to do this
*/
#define X (LITTLENUM_TYPE *)
const FLONUM_TYPE flonum_negative_powers_of_ten [] = {
{X zero, X zero, X zero, 0, '+'},
{X minus_1, X minus_1 +19, X minus_1 + 19, -20, '+'},
{X minus_2, X minus_2 +19, X minus_2 + 19, -20, '+'},
{X minus_3, X minus_3 +19, X minus_3 + 19, -20, '+'},
{X minus_4, X minus_4 +18, X minus_4 + 18, -20, '+'},
{X minus_5, X minus_5 +16, X minus_5 + 16, -20, '+'},
{X minus_6, X minus_6 +13, X minus_6 + 13, -20, '+'},
{X minus_7, X minus_7 + 6, X minus_7 + 6, -20, '+'},
{X minus_8, X minus_8 +13, X minus_8 + 13, -40, '+'},
{X minus_9, X minus_9 +26, X minus_9 + 26, -80, '+'},
{X minus_10, X minus_10+29, X minus_10 + 29,-136, '+'},
{X minus_11, X minus_11+29, X minus_11 + 29,-242, '+'},
};
const FLONUM_TYPE flonum_positive_powers_of_ten [] = {
{X zero, X zero, X zero, 0, '+'},
{X plus_1, X plus_1 + 0, X plus_1 + 0, 0, '+'},
{X plus_2, X plus_2 + 0, X plus_2 + 0, 0, '+'},
{X plus_3, X plus_3 + 0, X plus_3 + 0, 0, '+'},
{X plus_4, X plus_4 + 1, X plus_4 + 1, 0, '+'},
{X plus_5, X plus_5 + 2, X plus_5 + 2, 1, '+'},
{X plus_6, X plus_6 + 4, X plus_6 + 4, 2, '+'},
{X plus_7, X plus_7 + 9, X plus_7 + 9, 4, '+'},
{X plus_8, X plus_8 + 18, X plus_8 + 18, 8, '+'},
{X plus_9, X plus_9 + 29, X plus_9 + 29, 24, '+'},
{X plus_10, X plus_10 + 29, X plus_10 + 29, 77, '+'},
{X plus_11, X plus_11 + 29, X plus_11 + 29, 183, '+'},
};
#ifdef VMS
dummy1()
{
}
#endif
/* end: flonum_const.c */

View File

@ -1,80 +0,0 @@
/* flonum_copy.c - copy a flonum
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. */
#ifndef lint
static char rcsid[] = "$Id: flonum-copy.c,v 1.2 1993/08/02 17:28:18 mycroft Exp $";
#endif /* not lint */
#include "flonum.h"
#ifdef USG
#define bzero(s,n) memset(s,0,n)
#define bcopy(from,to,n) memcpy(to,from,n)
#endif
void
flonum_copy (in, out)
FLONUM_TYPE * in;
FLONUM_TYPE * out;
{
int in_length; /* 0 origin */
int out_length; /* 0 origin */
out -> sign = in -> sign;
in_length = in -> leader - in -> low;
if (in_length < 0)
{
out -> leader = out -> low - 1; /* 0.0 case */
}
else
{
out_length = out -> high - out -> low;
/*
* Assume no GAPS in packing of littlenums.
* I.e. sizeof(array) == sizeof(element) * number_of_elements.
*/
if (in_length <= out_length)
{
{
/*
* For defensive programming, zero any high-order littlenums we don't need.
* This is destroying evidence and wasting time, so why bother???
*/
if (in_length < out_length)
{
bzero ((char *)(out->low + in_length + 1), out_length - in_length);
}
}
bcopy ((char *)(in->low), (char *)(out->low), (int)((in_length + 1) * sizeof(LITTLENUM_TYPE)));
out -> exponent = in -> exponent;
out -> leader = in -> leader - in -> low + out -> low;
}
else
{
int shorten; /* 1-origin. Number of littlenums we drop. */
shorten = in_length - out_length;
/* Assume out_length >= 0 ! */
bcopy ((char *)(in->low + shorten),(char *)( out->low), (int)((out_length + 1) * sizeof(LITTLENUM_TYPE)));
out -> leader = out -> high;
out -> exponent = in -> exponent + shorten;
}
} /* if any significant bits */
}
/* end: flonum_copy.c */