David Given
416b13fd76
Start factoring out the hardware op code.
2016-09-25 23:29:59 +02:00
David Given
39aa672422
Sort of keep track of registers and register classes. Start walking the
...
generated instruction tree --- holy cow, they look like instructions!
2016-09-25 22:17:14 +02:00
David Given
bde5792b1a
Collapse several rule arrays into one; actually generate the array properly.
2016-09-25 17:14:54 +02:00
David Given
bcc74ba18d
Stupid stringlist is stupid. Use a proper data structure, properly abstracted
...
out (so other things can use it).
2016-09-25 12:18:39 +02:00
David Given
9f78e0b36b
Rethink the way patterns are mapped to rules; generate emitters (probably
...
badly).
2016-09-25 11:49:51 +02:00
David Given
7c028bdd45
We now record the code fragments to be emitted by each rule.
2016-09-25 00:21:46 +02:00
David Given
629e0ddfc6
Some instruction selection is now happening.
2016-09-24 22:46:08 +02:00
David Given
c8fcbe282a
More grammar changes.
2016-09-24 19:03:55 +02:00
David Given
2acc4ed29d
IR codes are now owned by mcgg; ir terminals are inserted into the table during
...
compilation (so you can refer to them).
2016-09-24 18:31:35 +02:00
David Given
1516657907
Crudely bolt on mcgg to mcg itself.
2016-09-24 17:20:40 +02:00
David Given
13132128a1
Parameters are parsed with getopt. Simplify, constify.
2016-09-24 16:59:49 +02:00
David Given
434eafd35d
Change the predicate stuff to use costs instead; now you can use when clauses
...
on leaves. Remove an iburg premature optimisation (required for above).
2016-09-24 13:33:59 +02:00
David Given
d96ceea08a
Lots of exploratory new grammar for instruction definitions and string and
...
fragment emission (none of which is hooked up to anything yet).
2016-09-24 13:08:17 +02:00
David Given
960259f0b0
Add support for labelled tree nodes.
2016-09-24 12:11:30 +02:00
David Given
4546dd5f22
Massive grammar overhaul and refactor. Hacked in support for predicates, where
...
instructions can be turned on and off based on their parameters. New lexer
using a lexer. Now quite a lot of the way towards being a real instruction
selector.
2016-09-21 00:43:10 +02:00
David Given
2183c6c622
Run through clang-format.
2016-09-20 21:00:16 +02:00
David Given
03b7202e54
Strip out surplus files. Rewrite README.
2016-09-20 20:46:45 +02:00
David Given
5cb3fbb3d3
Import iburg.
2016-09-20 20:44:51 +02:00
David Given
13c117d15d
Import iburg.
2016-09-20 20:37:16 +02:00
George Koehler
9db305b338
Enable the Hall check again, and get powerpc to pass it.
...
Upon enabling the check, mach/powerpc/ncg/table fails to build as ncgg
gives many errors of "Previous rule impossible on empty stack". David
Given reported this problem in 2013:
https://sourceforge.net/p/tack/mailman/message/30814694/
Commit c93cb69
commented out the error in util/ncgg/cgg.y to disable
the Hall check. This commit enables it again. In ncgg, the Hall
check is checking that a rule is possible with an empty fake stack.
It would be possible if ncg can coerce the values from the real stack
to the fake stack. The powerpc table defined coercions from STACK to
{FS, %a} and {FD, %a}, but the Hall check didn't understand the
coercions and rejected each rule "with FS" or "with FD".
This commit removes the FS and FD tokens and adds a new group of FSREG
registers for single-precision floats, while keeping FREG registers
for double precision. The registers overlap, with each FSREG
containing one FREG, because it is the same register in PowerPC
hardware. FS tokens become FSREG registers and FD tokens become FREG
registers. The Hall check understands the coercions from STACK to
FSREG and FREG. The idea to define separate but overlapping registers
comes from the PDP-11 table (mach/pdp/ncg/table).
This commit also removes F0 from the FREG group. This is my attempt
to keep F0 off the fake stack, because one of the stacking rules uses
F0 as a scratch register (FSCRATCH).
2016-09-18 15:08:55 -04:00
George Koehler
9ec2918e14
In ncgg, increase MAXREGS from 80 to 200.
...
I need this to add more registers to powerpc.
2016-09-18 14:37:42 -04:00
George Koehler
ff4a7e3d2a
Merge branch 'default' into kernigh-linuxppc
2016-09-17 18:15:54 -04:00
David Given
80cb6ba927
Eliminate the RELOH2 relocation, as it never worked --- the address would be
...
calculated incorrectly because of overflow errors.
Replace it with an extended RELOPPC relocation which understands addis/ori
pairs; add an la pseudoop to the assembler which generates these and the
appropriate relocation. Make good.
--HG--
branch : dtrg-experimental-powerpc-branch
2016-09-17 12:43:15 +02:00
David Given
4703db0fff
Merge from default.
...
--HG--
branch : dtrg-experimental-powerpc-branch
2016-09-15 22:59:01 +02:00
George Koehler
b1d1b5e1f8
Fix bugs with memory allocation in ego.
...
cf/cf_loop.c and share/put.c tried to read the next pointer in an
element of a linked list after freeing the element. ud/ud_copy.c
tried to read beyond the end of the _defs_ array: it only has
_nrexpldefs_ elements, not _nrdefs_ elements.
These bugs caused core dumps on OpenBSD. Its malloc() put _defs_ near
the end of a page, so reading beyond the end crossed into an unmapped
page. Its free() wrote junk bytes and changed the next pointer to
0xdfdfdfdfdfdfdfdf.
2016-09-09 23:37:43 -04:00
David Given
f67c98e239
Distributions are a pain --- let's not bother any more. Instead, we just tag
...
the repository and download a complete snapshot, old and ancient stuff and all.
2016-09-02 23:00:38 +02:00
David Given
612e38f1c6
Remove the old make-based build system, plus some big chunks of horribly
...
obsolete protomake build system.
2016-09-02 22:17:51 +02:00
David Given
2b6d251dec
Fix a fun bug where, every now again, ego would get its temporary files mangled
...
and generate invalid calls to the optimisers.
Previously ego would generate a temporary file template that looked like
/tmp/ego.A.BB.XXXXXX, call mktemp() on it to randomise the XXXXXX, and then
replace A and BB with data.
However, it used strrchr to find the A and B. Which would fine, except when
mktemp produced an A or a B in the randomised part...
This code was written on 4 March 1991. I was 16.
2016-08-22 23:53:01 +02:00
David Given
2a95b1c5e3
Forgot to check a file in.
2016-08-22 22:45:32 +02:00
David Given
5bae29a00c
ego now builds and is used.
...
This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.
Plats now only specify the ego descr file if they have one.
2016-08-21 22:01:19 +02:00
David Given
84ee7c9cc4
Fix linking bug where em_decode would generate binary data instead of text.
2016-08-21 20:27:52 +02:00
David Given
2b2bd93e44
Run through clang-format.
2016-08-21 20:08:05 +02:00
David Given
44b6421519
Run through clang-format.
2016-08-21 19:53:14 +02:00
David Given
671bf250f5
Run through clang-format.
2016-08-21 19:46:19 +02:00
David Given
918f300513
Run through clang-format.
2016-08-21 19:38:54 +02:00
David Given
1b66b63eae
Run through clang-format.
2016-08-21 19:38:02 +02:00
David Given
3584ddb6e9
Push through clang-format.
2016-08-21 19:34:54 +02:00
David Given
a4f136f999
Run through clang-format.
2016-08-21 18:51:36 +02:00
David Given
03a0b182c4
Push em_ego.c through clang-format before working on it.
2016-08-21 18:45:25 +02:00
David Given
53c9731036
aal doesn't build the ranlib table if you don't set -DAAL.
2016-08-20 14:04:46 +02:00
David Given
f561b94b49
Print hex numbers actually properly this time.
2016-08-20 14:02:12 +02:00
David Given
7b8d9e2d0e
Fix compiler warnings and 64bitisms.
2016-08-14 23:01:12 +02:00
David Given
a42939df50
LED builds now.
2016-08-14 14:40:01 +02:00
David Given
4d24666432
Move util/data into modules/src/em_data, for consistency with the other
...
modules.
2016-08-14 14:09:38 +02:00
David Given
262c5fedcf
Biggish refactor to break cycles; my build rules were full of them. cpm builds,
...
which requires top and topgen.
2016-08-14 01:39:40 +02:00
David Given
0d77cb8279
We can build our first C file.
2016-08-07 21:56:53 +02:00
David Given
5e84be70fd
Massive ackbuilder refactor --- cleaner and more expressive. Lists
...
are automatically flattened (leading to better build files), and the
list and filename functions are vastly more orthogonal.
2016-08-04 23:51:19 +02:00
David Given
b2bb4ce3b2
Builds libend (the simplest library). Becoming obvious I need to rework the way
...
ackbuilder deals with lists.
2016-07-30 00:39:22 +02:00
David Given
363d13cc2f
C preprocessor; tabgen; now the pc86 boot.s builds using the ack
...
toolchain.
2016-07-29 00:22:49 +02:00
David Given
f9c77fca03
Replace the hacky cflags variable with an equally hacky but vastly
...
more useful magic vars variable.
2016-07-27 00:10:15 +02:00
David Given
cdeea836f2
Replaced the fairly complex environment code with a much simpler
...
emitter object.
2016-07-26 23:43:31 +02:00
David Given
a8a9d1bbfa
yacc, ncgg; platform ncg builds now.
2016-07-26 23:35:30 +02:00
David Given
bff5c4019c
Baby steps towards building a platform --- make the assembler work.
...
Add ackbuilder support for C preprocessor files and yacc.
2016-07-24 00:50:02 +02:00
David Given
2770a83837
More programs, more libraries. src/modules build files are now saner.
2016-07-23 00:30:31 +02:00
David Given
1fdc69fb97
cemcom.ansi now builds.
2016-07-19 23:43:14 +02:00
David Given
2d2497c318
ackbuilder rules files now require absolute paths in external variables
...
(otherwise commands which change directory don't work).
2016-07-18 23:16:27 +02:00
David Given
bcf3408e36
More stuff builds; almost the C compiler now.
2016-07-14 23:54:13 +02:00
David Given
d805052205
All the amisc binaries now build.
2016-06-19 09:32:45 +02:00
David Given
2af8568cc3
First draft at installables; not very satisfactory. make bugs with multiple
...
output targets and parallelism?
2016-06-16 05:26:44 +02:00
David Given
09554cb324
installable works, although it's a bit kludgy. Change the : separator to +
...
because : is special in make and non of the others I could think of would work.
2016-06-14 07:34:14 +02:00
David Given
605651776e
We can build a real program now!
2016-06-12 20:59:43 +02:00
David Given
88bd7ce126
Remove defunct pmfiles.
...
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given
ef8e6e25e0
Fix a whole pile of issues related to the failed attempt to increase
...
the number of types of relocation possible in the object file. (Now,
hopefully, working.)
Also change the object serialiser/deserialiser to never try to read or
write raw structures; it's way safer this way and we don't need the
performance boost any more.
--HG--
branch : default-branch
2016-03-18 21:46:55 +01:00
David Given
fd7e9f9046
Fix an insidious 64-bitness bug which was causing incorrectly optimised code.
...
--HG--
branch : default-branch
2016-03-17 22:30:24 +01:00
David Given
7e964dd25e
Raise the limit on ack.out relocation types by making the size of a
...
relocation structure bigger. Bump ack.out magic number.
--HG--
branch : default-branch
2016-03-14 21:08:55 +01:00
David Given
ff0c78cc78
Merge from default.
...
--HG--
branch : dtrg-videocore-branch-branch
2016-03-13 21:13:09 +01:00
David Given
44b5d01525
Merge.
...
--HG--
rename : util/ncgg/build.mk => util/cgg/build.mk
2015-03-23 00:14:10 +01:00
David Given
b146d2641c
Fix a slightly mysterious dependency issue.
2015-03-23 00:09:41 +01:00
David Given
98ea849d03
Improve flex correctness.
2015-03-23 00:09:27 +01:00
David Given
9f23fbbe6a
Allow machines to use cg if they wish.
...
--HG--
rename : mach/proto/ncg/build.mk => mach/proto/cg/build.mk
rename : util/ncgg/build.mk => util/cgg/build.mk
2015-03-23 00:08:51 +01:00
David Given
3d5e72e20b
Newer versions of GNU Make have a new function which collides with a
...
variable we're using; change the name of the variable.
2015-03-22 12:09:46 +01:00
David Given
2271bcd0a7
Fixed a parallel build race condition (forgot to declare a dependency to
...
the makefile).
2014-11-09 18:47:51 +01:00
David Given
6a340ea1bd
Remove regrettable comment.
2014-08-31 13:40:39 +02:00
David Given
d3e3e72860
Update from trunk.
...
--HG--
branch : dtrg-videocore
2013-05-29 15:03:48 +01:00
David Given
6fff2d45fe
Attempt to fix 64-bitness error in ashow. Deprecate the structure format macros in h/out.h because they make no sense on 64-bit platforms.
2013-05-29 14:48:51 +01:00
David Given
5e9102955c
Reworked VC4 relocations and some of the instruction encoding to be actually correct. Now generating what could be real code!
...
--HG--
branch : dtrg-videocore
2013-05-21 23:17:30 +01:00
David Given
c18a82ec40
Apply build system fixes for OpenBSD contributed by George Koehler.
2013-05-18 12:15:53 +01:00
David Given
5378e3fe53
Add special relocation type for VC4 jump instructions.
...
--HG--
branch : dtrg-videocore
2013-05-17 22:40:50 +01:00
David Given
11377070fd
Update distribution files.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
aaa3f14a79
Fix build error in opt which was causing all code, everywhere, to be broken.
...
Remember to build opt2 too.
--HG--
branch : dtrg-buildsystem
2013-05-15 22:09:28 +01:00
David Given
e9233b4712
Build ego.
...
--HG--
branch : dtrg-buildsystem
rename : util/arch/build.mk => util/ego/build.mk
2013-05-15 21:14:06 +01:00
David Given
d5f0107746
Build the Basic run-time library (after some modernisation).
...
--HG--
branch : dtrg-buildsystem
2013-05-14 16:11:29 +01:00
David Given
07453d184a
Top, topgen, aelflod. Moved the libraries back into the platform-specific
...
directories --- wrangling descr files was too hard. C programs can be built
for cpm, pc86, linux386, linux68k!
--HG--
branch : dtrg-buildsystem
rename : util/ack/build.mk => util/led/build.mk
rename : util/LLgen/build.mk => util/topgen/build.mk
2013-05-13 23:26:15 +01:00
David Given
81778b603f
Merge updates from trunk.
...
--HG--
branch : dtrg-buildsystem
2013-05-13 12:37:27 +01:00
David Given
b0c238eb5d
Made a start on building the runtimes for each platform and language; the
...
Linuxes all build.
--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk
2013-05-12 23:51:55 +01:00
David Given
c1aca7dae5
First milestone of replacing the build system.
...
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
David Given
d89f172841
Change fatal() and error() to use varargs.
2013-05-10 12:04:21 +01:00
David Given
d91a1dc1a6
Merge changes from branch: linux68k platform, linuxppc platform (partially
...
working), and miscellaneous changes to support these.
2013-05-09 18:14:16 +01:00
David Given
b9b808e01a
Apply George Koehler's aelflod fix for generating non-EM_386 binaries.
...
Adjust platforms to use it. Fix some bugs in the linux386 platform.
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 15:54:23 +01:00
David Given
99d7f513f2
Properly error out if something goes wrong rather than ploughing ahead
...
anyway.
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 11:20:36 +01:00
David Given
c93cb69959
Check in incomplete Linux PowerPC and M68K work.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00
George Koehler
c8fdcff960
Some fixes for aelflod and aslod.
...
Copy rhead() and rsect() from aslod to aelflod, so aelflod can work
for machine with 64-bit long.
In aelflod, fix ELF header so file(1) no longer reports "corrupted
section header size".
2013-04-24 19:57:23 -04:00
George Koehler
0fc7fd5d33
Prevent segfault when trying to print an error message.
...
Use <stdarg.h> to pass arguments correctly, as ack/util/util.c
already uses <stdarg.h> the same way.
2012-10-24 13:44:50 -04:00
David Given
4349d702fa
Change from using platform-specific types to stdint platform-independent types
...
when reading the structure header.
2012-09-27 11:32:40 +01:00
George Koehler
7ef9b79c11
Merge deletion of many undead files.
2012-09-23 15:31:16 -04:00
George Koehler
e7c79415b5
Prevent division by zero in aslod.
...
rhead() and rsect() had assumed sizeof(long) == 4, but OpenBSD/amd64
has sizeof(long) == 8. The problem revealed itself when sect->os_lign
became zero, and align() divided by zero.
2012-09-21 22:51:12 -04:00
George Koehler
0131ca4d46
Delete 689 undead files.
...
These files "magically reappeared" after the conversion from CVS to
Mercurial. The old CVS repository deleted these files but did not
record *when* it deleted these files. The conversion resurrected these
files because they have no history of deletion. These files were
probably deleted before year 1995. The CVS repository begins to record
deletions around 1995.
These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted. There is no way to fix
this, because the CVS repository provides no dates of deletion.
See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
George Koehler
96ea0a5903
Fix more functions in util/ack for 64-bit hosts.
...
This continues the fix from changeset aabde0589450. We must use
va_list to forward the arguments, because some of the arguments might
be 64-bit pointers. A pointer does not fit in an int.
2012-09-07 16:28:10 -04:00
David Given
6ea172d0d9
Fix a 64-bitness issue (removed some untyped K&R C code that assumed ints
...
and pointers were the same size).
2012-02-27 22:36:36 +00:00
Ceriel Jacobs
1072a8797e
Added atol() that ignores overflow, so that unsigned long constants are dealt with properly
2011-06-15 11:13:48 +02:00
Ceriel Jacobs
2483e5723d
Fixed CFU
2011-06-15 10:56:58 +02:00
cjhjacobs
58613009f8
Fixed bug reported on tack-devel mailing list on 20-3-2011
2011-05-18 19:19:19 +02:00
David Given
b6dfaefeff
Removed file that the CVS conversion procedure left in (when it shouldn't have).
2011-03-20 20:47:10 +00:00
dtrg
c326f3c6a3
Remove references to using-machine-name-for-compiler, as we don't do that any more.
2010-08-09 22:47:33 +00:00
dtrg
5a872eed38
Prevent build failure on modern Bisons (which are more picky than the old yacc this was written for).
2010-08-01 10:36:01 +00:00
dtrg
ee72886e54
Renamed 'switch' variable to avoid conflict with a keyword in modern awks.
2010-08-01 10:35:04 +00:00
dtrg
2c54f8c742
Renamed getline() to getln() to avoid conflict with glibc's version.
2010-08-01 10:34:27 +00:00
dtrg
494d9a3e4a
Now runs descr files through the ANSI C preprocessor, rather than the K&R one (which no longer exists).
2007-04-29 21:23:55 +00:00
dtrg
24ea8aee3d
Updated for the 6.0pre2 release.
2007-04-24 20:45:58 +00:00
dtrg
f6085fb234
Updated use of headers to compile cleanly.
2007-04-24 19:33:53 +00:00
dtrg
ae9ac25f45
Modified to run ncgg input files through the ANSI preprocessor rather than the K&R one.
2007-04-23 23:40:59 +00:00
dtrg
f471d2e618
Added the aelflod tool for generating ELF executables. Added documentation for aelflod and ashow. Now installs the documentation when built.
2007-04-23 23:40:10 +00:00
dtrg
6a0dd9377d
Removed a dynamically generated file from the distribution.
2007-02-25 22:49:22 +00:00
dtrg
040151dd76
Removed some explicit (and wrong) redeclarations of system
...
functions.
2007-02-25 20:58:16 +00:00
dtrg
b611731ec3
Updated .distr files for the new release.
2007-02-25 12:51:55 +00:00
dtrg
6d58210806
em_table is now in /h, not /etc.
2007-02-25 12:51:21 +00:00
dtrg
0f16e7540d
new_table is now in /util/data, not /etc.
2007-02-25 12:49:04 +00:00
dtrg
903796a817
Now installs the man page.
2007-02-25 12:48:06 +00:00
dtrg
0974fa0e28
Remove non-standard .SB tags.
2007-02-25 12:47:50 +00:00
dtrg
26a9b76507
Added pregenerated versions of the LLgen source files (to ease
...
bootstrapping issues).
2007-02-24 02:01:57 +00:00
dtrg
478d0b1d8a
Fixed a compilation error that was causing opt to not have its
...
peephole optimisation tables, which would make it generate
duff code.
2007-02-20 00:27:01 +00:00
dtrg
1c7bb87041
Fixed a bug in the maximum segment calculation.
2006-11-11 23:00:55 +00:00
dtrg
30b980bf7e
Added a pmfile to allow LLgen to be built as part of the ACK again.
2006-11-11 22:58:30 +00:00
dtrg
c0ecde554a
Added support for anm, asize, ashow, astrip and the new aslod tool.
2006-10-16 23:25:56 +00:00
dtrg
47e1c27c05
Added new aslod tool for making memory dumps.
2006-10-16 23:25:27 +00:00
dtrg
12683dd8c6
Sanitised the use of #include files to more properly conform to the standards.
2006-10-16 23:20:11 +00:00
dtrg
dbe10d2c19
Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
2006-10-15 00:28:12 +00:00
dtrg
1e4ca91a8b
Modified to install aal's manpage.
2006-07-30 23:45:35 +00:00
dtrg
45b4fef7d6
Rationalised use of #includes to be more standards-compliant.
2006-07-30 23:40:35 +00:00
dtrg
30e34f493f
Rationalised use of #includes to be more standards-compliant.
2006-07-26 18:22:02 +00:00
dtrg
8558656665
Now avoids piping shell scripts into a new instance of sh, instead
...
using a subshell.
2006-07-26 12:29:47 +00:00
dtrg
dc5d08b2a3
Modified to include the appropriate header file rather than (badly)
...
prototyping syscalls itself.
2006-07-26 12:28:56 +00:00
dtrg
3435e8d6ed
Modified to not try to unlink directories when installing.
2006-07-25 23:29:12 +00:00
dtrg
b3b2ec567f
Updated version number.
2006-07-25 23:24:39 +00:00
dtrg
7068d0d301
Modified to use rename() instead of link()/unlink() to rename files.
2006-07-25 23:24:20 +00:00
dtrg
f756747414
Updated to the latest version of pm which installs files with symlinks.
2006-07-25 23:22:58 +00:00
dtrg
b24e1f5aae
Updated to the latest version of pm.
2006-07-25 13:28:35 +00:00
dtrg
1799cb0706
Added a workaround for an OSX compiler bug.
2006-07-23 20:33:26 +00:00
dtrg
f39d595f98
Updated to the latest version of pm.
2006-07-23 20:07:19 +00:00
dtrg
014be56fb0
Replaced calls to the custom strindex() and strrindex() functions with the
...
exactly equivalent and standard strchr() and strrchr() functions instead.
2006-07-23 20:01:02 +00:00
dtrg
05d3be79cd
Removed a really unpleasant test for whether a pointer points at a string
...
constant or not by comparing it with 'end', which presumably points at
the top of the BSS. In fact, on Linux it evaluates to NULL, and on OSX it
doesn't exist at all, so it appears to be unnecessary.
2006-07-23 19:38:13 +00:00
dtrg
345f4c8978
Modified to avoid creating a zero-length iargs array, which some compilers
...
(OSX) do not create a symbol for.
2006-07-23 18:29:38 +00:00
dtrg
eed5d461e4
cpp now gets installed in the right place.
2006-07-23 17:52:23 +00:00
dtrg
7af0c5696d
cpp now gets installed in the right place.
2006-07-22 20:58:27 +00:00
dtrg
558a1ef405
led now gets installed into the right place.
2006-07-22 20:52:44 +00:00
dtrg
8499270aef
Added support for the esize object inspection tool.
2006-07-22 20:10:41 +00:00
dtrg
aa2dab31cf
Rationalised use of #includes to be more standards-compliant.
2006-07-22 20:08:08 +00:00
dtrg
113383e31c
Added support for the led link editor.
2006-07-22 20:04:41 +00:00
dtrg
f232b4dc29
Rationalised use of #includes to be more standards-compliant.
2006-07-22 17:58:49 +00:00
dtrg
304c0e21a0
Added support for the top target peephole optimiser.
2006-07-22 12:31:19 +00:00
dtrg
fdcdaadcb8
Rationalised use of #includes to be more standards-compliant.
2006-07-22 12:28:20 +00:00
dtrg
744d0ca7be
Removed a huge, ancient comment dating from the genmake days.
2006-07-22 12:27:31 +00:00
dtrg
1a037b9685
Added support for the ego global optimisation suite.
2006-07-22 00:52:01 +00:00
dtrg
f371b251d2
Rationalised use of #includes to be more standards-compliant.
2006-07-22 00:46:16 +00:00
dtrg
d220081198
Changed to declare symbols as extern rather than just mentioning
...
them without qualification.
2006-07-22 00:45:51 +00:00
dtrg
86e20aa483
Added a concrete definition of nrglobals, because this was not always happening
...
otherwise.
2006-07-22 00:44:52 +00:00
dtrg
3afd3e4cb4
Updated version number.
2006-07-21 11:25:05 +00:00
dtrg
c0c8695ea4
Now resolves symlinks when creating releases (which avoids including a symlink to pm in the distribution, and not pm itself).
2006-07-21 11:24:46 +00:00
dtrg
154b23cd39
Updated version number. Corrected some typos.
2006-07-21 11:19:42 +00:00
dtrg
34ae7c4634
Removed duplicate (and incorrect) system function declarations.
2006-07-21 11:17:18 +00:00
dtrg
70218cfeed
Updated to the latest version of pm.
2006-07-21 11:15:14 +00:00
dtrg
685e85002e
Rearranged the algorithm in get_text() to fix a memory overrun.
2006-07-21 09:28:36 +00:00
dtrg
097c640a6c
First version in CVS.
2006-07-20 23:24:28 +00:00
dtrg
22db34a460
Fixed revision history.
2006-07-20 23:10:07 +00:00
dtrg
cf461cd82f
First version in CVS.
2006-07-20 23:04:28 +00:00
dtrg
35f2f8b043
Rationalised use of #includes to be more standards-compliant.
2006-07-20 23:04:15 +00:00
dtrg
cf4417431f
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-20 23:02:37 +00:00
dtrg
6717b9e700
Changed configuration to now use malloc()/free() rather than sbrk().
2006-07-20 22:59:25 +00:00
dtrg
db11db0cac
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-19 14:09:25 +00:00
dtrg
6073ee934e
Rationalised use of #includes to be more standards-compliant.
2006-07-19 14:09:05 +00:00
dtrg
57084134e5
Modified to no longer build LLgen, as it is now distributed seperately.
2006-07-18 17:34:30 +00:00
dtrg
d722986e66
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-18 17:20:46 +00:00
dtrg
1ed24cab9b
No longer generates zero bytes in the script's output file.
2006-07-18 17:20:05 +00:00
dtrg
9ca41cf4b6
Worked around unput() not being strictly legal in the tail code section of a yacc input file.
2006-07-18 17:19:20 +00:00
dtrg
cd09c29949
Rationalised use of #includes to be more standards-compliant.
2006-07-18 17:18:42 +00:00
dtrg
f5bbc20093
Removed unnecessary commas seperating yacc tokens, to prevent warnings.
2006-07-18 17:17:14 +00:00
dtrg
4c0a0e6119
Rationalised use of #includes to be more standards-compliant.
2006-07-18 17:10:29 +00:00
dtrg
8ea67498ed
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-18 17:10:18 +00:00
dtrg
e864bf235e
Split LLgen off to be self-contained, and not necessarily part of the ACK. Replaced its build system with one based on pm. Rewrote the README. Updated the license text to match the overriding license common to all the ACK.
2006-02-04 00:57:04 +00:00
dtrg
953a565a10
Moved LLgen documentation from the main ACK documentation directory into LLgen's own documentation directory.
2006-02-04 00:43:32 +00:00
dtrg
dd57d79b1b
Modernised usage of system header files.
2006-02-04 00:37:19 +00:00
dtrg
71a92846dd
Modernised usage of system header files.
2006-02-03 22:23:37 +00:00
dtrg
c39e85da63
Modernised usage of system header files. Changed the patch buffer (which allowed the library path to be modified with a hex editor) to an environment variable instead.
2006-02-03 22:23:11 +00:00
dtrg
4c0b3bb40f
Modernised usage of system header files.
2006-01-24 22:29:19 +00:00
cjhjacobs
26889d3762
Fix: did not deal with quotes in macro definitions properly
2005-06-30 16:54:15 +00:00
dtrg
4ed4d8423f
Added some prototyping to stop a compile error with gcc 4.
2005-06-25 13:49:06 +00:00
dtrg
f2046954e6
Cleaned up the struct sgtty workaround and made it more generic.
2005-06-24 22:11:27 +00:00
dtrg
779fe568fc
Removed an assumption that 'stdin' is a constant, which it's not on Linux. (You can't use it as an initialiser when declaring a global variable.)
2005-06-24 22:10:24 +00:00
dtrg
9bc8c07deb
Replaced references to /usr/tmp with references to /tmp.
2005-06-24 22:08:47 +00:00
dtrg
70ef6fe52e
Applied interim patches to make the interpreter compile on Linux. (Linux doesn't support struct sgtty; all this code should probably be rewritten to use termios instead, if I've understood it correctly.)
2005-06-24 21:42:11 +00:00
ceriel
8f69a0ca44
Fix
2002-09-11 13:32:57 +00:00
ceriel
1e32788ad1
Added missing files to .distr
2002-09-11 13:17:00 +00:00
ceriel
053ba2d164
...
2002-09-10 13:40:14 +00:00
ceriel
ee2c7069e4
Prevent double fclose
2002-08-26 14:27:15 +00:00
ceriel
4556d261d8
???
2002-04-04 12:33:15 +00:00
ceriel
55dbc99000
Updated copyright
1999-04-23 14:15:43 +00:00
ceriel
6ca98e7102
Adapted copyright notice
1999-03-18 15:34:27 +00:00
ceriel
f0a7a313fc
Fix: did not always produce error message
1998-11-10 14:26:06 +00:00
ceriel
d6e0e461f7
Corrected Makefile
1997-09-04 15:49:46 +00:00
ceriel
f8fd2aa273
Removed superfluous ;
1997-06-16 13:07:37 +00:00
ceriel
e38b178317
Many modifications, mostly in comment
1997-05-15 12:03:05 +00:00
ceriel
cebde164bb
Prevent warning about unused labels
1997-04-02 10:42:06 +00:00
ceriel
8ea5d257c4
improved error reporting, added -DNON_CORRECTING
1997-02-21 15:44:44 +00:00
ceriel
664d3fc8d3
some minor fixes
1997-02-21 15:44:10 +00:00
ceriel
13fea7102b
Updated
1997-02-21 12:23:04 +00:00
ceriel
c2607fdf0f
Added non-correcting error recovery stuff
1997-02-21 11:27:57 +00:00
ceriel
a44875cf00
bug fix: code referred to token attribute of wrong token!
1997-02-17 15:14:55 +00:00
ceriel
56033dc0c1
Added -n flag
1996-11-21 10:14:26 +00:00
ceriel
a44bbb3977
Fixed a couple of minor bugs
1996-11-19 13:27:56 +00:00
ceriel
150db958da
Fixed typo
1996-10-22 14:34:16 +00:00
ceriel
4baa1312a8
removed
1995-12-06 14:15:11 +00:00
ceriel
cdb362b628
removed
1995-12-06 14:04:51 +00:00
ceriel
550095a5d0
Removed Version.c
1995-12-06 09:52:54 +00:00
ceriel
2985469116
Fix: wrong offsets for locals when < -32768, installation error for 'show'
1995-11-08 11:09:14 +00:00
ceriel
c1738933d7
Fix: wrong offsets for locals when < -32768
1995-11-08 11:08:09 +00:00
ceriel
a8b1f8e347
Header file was included twice
1995-11-01 15:59:33 +00:00
ceriel
b9a67e72ca
use stdarg when compiling with ANSI C compiler
1995-08-18 07:26:18 +00:00
ceriel
1aa9149ff9
Changed for sparc_solarisdescr
1995-08-18 07:24:18 +00:00
ceriel
c3855160fb
use stdarg when compiling with ANSI C compiler
1995-08-17 14:36:05 +00:00
ceriel
acdb874527
use stdarg when compiling with ANSI C compiler, and some other minor changes
1995-08-17 13:33:55 +00:00
ceriel
32bcf11ab9
Re-ordered for incompatible Linux shell
1995-08-15 14:59:28 +00:00
ceriel
f8cbcf1b4f
Don't use SIGEMT; it is not portable
1995-08-15 09:10:39 +00:00
ceriel
f8d6337862
'ed -' is no longer supported by some systems. Use 'ed -s'
1995-08-14 15:09:59 +00:00
ceriel
f34bf4b487
removed dependency on /usr/include/varargs.h
1995-08-14 15:08:46 +00:00
ceriel
525eb1f1a4
Fixed typo
1995-07-31 09:17:14 +00:00
ceriel
7b6d8fbe56
Added copyright notice
1995-07-31 09:10:42 +00:00
ceriel
c9153e6b9b
Set B_busy
1995-07-25 16:49:15 +00:00
ceriel
3883860106
Added Posix names
1995-06-28 09:46:39 +00:00
ceriel
32c692d93b
Use TARGETHOME for manual page
1995-03-17 14:11:47 +00:00
ceriel
911b0a43d8
Fix: never replace LAR/SAR by AAR LOI/STI if descriptor is not in ROM
1995-03-17 12:32:47 +00:00
ceriel
d5505f2f02
Also create sparc_solarisdescr
1995-03-17 11:00:29 +00:00
ceriel
d1435f4fc6
Added an option to strip the grammar from its actions
1995-02-24 12:10:44 +00:00
ceriel
68cebfb733
do not allow ',' as separator in parameter declarations; this results in bad C-code
1994-12-20 12:47:48 +00:00
ceriel
7393f8923c
Many changes:
...
- added some data flow stuff
- many cosmetic changes
1994-12-06 09:12:21 +00:00
ceriel
ef0ecb31b2
Fix: sometimes produced branch to non-existing label
1994-11-29 14:53:02 +00:00
ceriel
33da68f7e2
made statbuf static, so that is is zero when not initialized
1994-11-14 12:34:50 +00:00
ceriel
a1a816ddc2
Avoid some empty if- and else- parts. gcc -Wall does not like it
1994-10-20 12:43:35 +00:00
ceriel
4851c0c9f3
Fine tuning of some patterns
1994-10-19 14:09:26 +00:00
ceriel
f54d79e41a
removed un-used variable
1994-07-06 08:34:27 +00:00
ceriel
5c83e7dbb5
Header --> Id
1994-06-24 11:31:16 +00:00
ceriel
11f3094b51
Fix: forgot to initialize malloced mem
1994-06-23 10:00:01 +00:00
ceriel
2b54fa3a19
Fix: also redefine LLsafeerror
1994-06-23 09:58:30 +00:00
ceriel
656fb00e9b
Fix: error recovery sometimes skipped tokens it needed later on
1994-04-19 09:38:00 +00:00
ceriel
958aced01b
Generate octal char constants instead of ints for LLsets
1994-04-12 13:53:38 +00:00
ceriel
8a670148e4
changed Header to Id
1994-03-11 10:37:39 +00:00
ceriel
805a0a4b66
Added -DNDEBUG to compilation flags
1994-02-25 14:14:55 +00:00
ceriel
af0e9371e9
call abort() only when NDEBUG is not defined
1994-02-25 14:01:54 +00:00
ceriel
67c750a70c
Improved CSA some more
1993-11-24 12:39:19 +00:00
ceriel
862f5da86d
use 0xFFFF mask for printing shorts, and work around gcc 2.4.5 bug
1993-11-18 15:35:03 +00:00
ceriel
90134a3bea
Some minor changes
1993-11-17 10:25:17 +00:00
ceriel
cc61337a9f
signal, second arg is void function
1993-11-16 12:03:22 +00:00
ceriel
0c60f4c22f
Fixed several lint complaints
1993-11-16 11:35:23 +00:00
ceriel
9fbd4783a7
Fixed bug with "/*"
1993-11-15 09:29:39 +00:00
ceriel
49f8a5a61b
Fixed some minor problems
1993-11-12 16:59:06 +00:00
ceriel
a4a2ae8f96
catch is a signal arg, and should be void catch()
1993-11-12 16:57:15 +00:00
ceriel
03405742a3
noodstop is a signal arg, and should be void noodstop()
1993-11-12 16:53:24 +00:00
ceriel
332b6cb337
Minor changes: gave double def of __ctype with gcc on solaris 2
1993-11-12 15:16:08 +00:00
ceriel
990bf1ac74
onintr must be void
1993-11-12 12:53:28 +00:00
ceriel
b95ae2fa70
Many changes, mostly for Solaris 2
1993-11-10 15:11:28 +00:00
ceriel
4539174f47
Added -DNDEBUG to compile flags
1993-11-10 15:07:55 +00:00
ceriel
9dae71ae08
Updated for C_ prototypes
1993-11-10 15:07:12 +00:00
ceriel
854597cd2d
Updated for C_ prototypes
1993-11-10 14:40:27 +00:00
ceriel
7c473ca0ed
Added -DNDEBUG to compile flags
1993-11-10 14:38:32 +00:00
ceriel
528112d9bd
Bug fix for dlb routines and C_ are now void
1993-11-10 14:22:26 +00:00
ceriel
4f3e07061e
Added -DNDEBUG to compile flags
1993-11-10 14:21:21 +00:00
ceriel
8c849f20f7
Fix: CSA was not quite right
1993-11-10 13:00:01 +00:00
ceriel
f33df43f9a
Fix: had array bound error
1993-11-10 12:58:26 +00:00
ceriel
c9ec055176
Define NDEBUG if you don't want assertions
1993-10-22 14:30:43 +00:00
ceriel
4f2c705501
Some more space for file names
1993-10-12 09:45:59 +00:00
ceriel
549dfcc99d
Fixed: functions were implicitly declared extern and later static
1993-10-07 17:47:26 +00:00
ceriel
38a269fc37
Added sparc_solaris
1993-10-07 17:41:19 +00:00
ceriel
2233b6973b
Several fixes; ported to Solaris 2
1993-10-06 11:45:13 +00:00
ceriel
18967fad9a
Fixed make.hfiles; some "shells" did not accept it
1993-08-05 13:00:40 +00:00
ceriel
042d7b2275
Improved 'stop in' mechanism, and prevent core dump ir currlang is not set
1993-06-09 14:18:43 +00:00
ceriel
40569c479e
Mention filename for some error messages
1993-06-08 13:02:01 +00:00
ceriel
7e30c7d648
Fixed for empty parameter lists
1993-05-10 14:02:52 +00:00
ceriel
04d3c7152c
Changed order of declarations
1993-02-05 18:21:46 +00:00
ceriel
256151c7e4
Added some patterns and fixed error in constant multiplication
1993-02-03 10:10:07 +00:00
ceriel
fd0bc5d531
Fix in tes mechanism: CAL and CAI
1993-01-12 15:48:39 +00:00
ceriel
2361e37811
Fix: used data from freed memory
1992-12-08 17:44:01 +00:00
ceriel
ca4461dc4c
Added LL_MAXTOKNO
1992-11-19 15:37:52 +00:00
ceriel
6896679afd
Added some patterns involving DUPs
1992-09-01 11:16:20 +00:00
ceriel
af5ad235c9
Small change in register allocation criteria
1992-09-01 11:13:42 +00:00
ceriel
ee6d91a1d4
Fix for sparc description
1992-09-01 10:41:37 +00:00
ceriel
0eb2e0dc80
Fix previous 'fix'
1992-07-23 11:51:39 +00:00
ceriel
a56e1f25ff
Was wrong when compiled with ANSI compiler
1992-07-22 13:49:15 +00:00
ceriel
016273ba99
And some more ...
1992-07-22 13:45:08 +00:00
ceriel
4adaf3165f
Added some patterns
1992-07-22 13:37:27 +00:00
ceriel
7c7475bb3a
fixed lint complaint
1992-07-21 14:40:23 +00:00
ceriel
938bbb9ce8
Fix evaluation order problem
1992-07-21 11:23:24 +00:00
ceriel
8ab530baef
Fixed bug in UCFLAGS
1992-07-13 10:28:08 +00:00
ceriel
d58d691472
Fixed V7 and SYS_V utime problem
1992-07-10 15:22:01 +00:00
ceriel
80f5ecf637
strip did not truncate file
1992-07-09 14:02:43 +00:00
ceriel
0b063462ef
Improved N_SOL handling
1992-07-02 11:15:18 +00:00
ceriel
45d0d9f68f
Removed # in commands
1992-06-26 12:54:57 +00:00
ceriel
44a1c5620c
Removed # in commands, changed mechanism for computing mem used
1992-06-26 12:47:07 +00:00
ceriel
50e8baa624
Removed # in commands, removed call to _cleanup()
1992-06-26 12:42:31 +00:00
ceriel
06e487359b
Changed mechanism for coputing amount of memory used
1992-06-26 12:38:10 +00:00
ceriel
aba0ed2f52
Made a declaration a little less suspicious, and removed # from proto.make
1992-06-25 17:41:51 +00:00
ceriel
2cb19d3a30
Corrected problem in reading symbol table: t14=15, t15=16 did not work properly
1992-05-20 10:57:42 +00:00