Commit graph

286 commits

Author SHA1 Message Date
David Given
fd91851005 Add enough return types to the K&R C that the ACK builds (on Linux) using clang
now.
2016-11-10 22:04:18 +01: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
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
88bd7ce126 Remove defunct pmfiles.
--HG--
branch : default-branch
2016-06-03 13:56:50 +02: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
11377070fd Update distribution files.
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +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
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
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
dtrg
ee72886e54 Renamed 'switch' variable to avoid conflict with a keyword in modern awks. 2010-08-01 10:35:04 +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
6a0dd9377d Removed a dynamically generated file from the distribution. 2007-02-25 22:49:22 +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
dbe10d2c19 Updated to the version 0.1 of Prime Mover (which involves some syntax changes). 2006-10-15 00:28:12 +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
eed5d461e4 cpp now gets installed in the right place. 2006-07-23 17:52:23 +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
4ed4d8423f Added some prototyping to stop a compile error with gcc 4. 2005-06-25 13:49:06 +00:00
ceriel
4baa1312a8 removed 1995-12-06 14:15:11 +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
1aa9149ff9 Changed for sparc_solarisdescr 1995-08-18 07:24:18 +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
ef0ecb31b2 Fix: sometimes produced branch to non-existing label 1994-11-29 14:53:02 +00:00
ceriel
5c83e7dbb5 Header --> Id 1994-06-24 11:31:16 +00:00
ceriel
0c60f4c22f Fixed several lint complaints 1993-11-16 11:35:23 +00:00
ceriel
a4a2ae8f96 catch is a signal arg, and should be void catch() 1993-11-12 16:57:15 +00:00
ceriel
549dfcc99d Fixed: functions were implicitly declared extern and later static 1993-10-07 17:47:26 +00:00
ceriel
2361e37811 Fix: used data from freed memory 1992-12-08 17:44:01 +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