David Given
52ad82f8b9
Merge pull request #3 from kernigh/ego-fix
...
Fix bugs with memory allocation in ego.
2016-09-10 11:25:21 +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
8c94b1316c
Add unlink system call.
2016-09-04 19:23:02 +02:00
David Given
56e13e24e0
Cleanup some stray files.
2016-09-03 19:22:38 +02:00
David Given
1b8df04e58
Add modeline, fix formatting.
2016-09-03 19:17:09 +02:00
David Given
95ad06849b
Updated.
2016-09-03 19:07:12 +02:00
David Given
de2f99dc1a
More documentation.
2016-09-03 19:01:47 +02:00
David Given
ea4142daee
First half of the ackbuilder documentation.
2016-09-03 01:04:16 +02:00
David Given
ff9bf5b08a
Makefiles are now slightly less inaccurate. Does actually seem to do sensible
...
incremental builds now. I loathe make.
2016-09-03 00:20:11 +02:00
David Given
de7023dd61
Add an install target.
2016-09-02 23:03:57 +02: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
96e7447bfa
Clean up the top level makefile.
2016-09-01 23:36:39 +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
08823a172c
filenamesof() an installable now returns all installed files, not just the ones
...
at the top level (necessary to make a lot of the dependency stuff work when
using tools which depend on installables).
2016-08-21 21:55:21 +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
1a7b4f8729
Build the examples when doing a normal build; this exercises the compiler as a
...
whole and is one step further towards a proper test suite.
2016-08-20 14:05:24 +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
856eb120b3
Add files which got missed in the initial build pass.
2016-08-20 14:04:17 +02:00
David Given
edee22510b
liblinux is no more; its files are now in libsys.
2016-08-20 14:03:49 +02:00
David Given
52eaf753b6
rpi has a time() function; don't try to call gettimeofday().
2016-08-20 14:03:19 +02:00
David Given
f561b94b49
Print hex numbers actually properly this time.
2016-08-20 14:02:12 +02:00
David Given
204f932ed2
Raspberry Pi backend now builds.
2016-08-20 12:40:13 +02:00
David Given
23e8d5af5a
Wildcards are allowed to match no files now.
2016-08-20 12:40:00 +02:00
David Given
46bd70380c
Filename variables now get passed into ackbuilder on the command line.
2016-08-15 00:47:08 +02:00
David Given
420c47c386
Fix dependency error (only shows up with make, not ninja. Odd).
2016-08-15 00:46:43 +02:00
David Given
7b8d9e2d0e
Fix compiler warnings and 64bitisms.
2016-08-14 23:01:12 +02:00
David Given
870489c8b0
Er, oops; the ninja build system is in a package called ninja-build.
2016-08-14 22:55:10 +02:00
David Given
53f043ff40
Backport to Lua 5.1 (because 5.2 on Travis doesn't have luaposix...).
2016-08-14 22:52:57 +02:00
David Given
38c6a87ed5
Add another Travis library.
2016-08-14 22:41:54 +02:00
David Given
8b24b0247b
Update Travis metadata.
2016-08-14 14:44:00 +02:00
David Given
a42939df50
LED builds now.
2016-08-14 14:40:01 +02:00
David Given
2dab95eced
Move the em_code headers into the em_code module.
2016-08-14 14:17:35 +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
38fa6941d5
linux68k builds now.
2016-08-14 11:34:18 +02:00
David Given
fb2a42a2db
installables need to depend on their source files...
2016-08-14 11:25:47 +02:00
David Given
3df4906d52
Turns out I wasn't building the syscall libraries. Do so.
2016-08-14 11:23:57 +02:00
David Given
b549980af2
Wasn't exporting the plat headers; refactor to make this a little cleaner.
2016-08-14 11:01:36 +02:00
David Given
f253b6a169
linux386 builds. Also, forgot to turn back on the language runtimes.
2016-08-14 10:37:55 +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
10746f8b97
Add cycle detection, because it was ruining my day. Allow targets to be stored
...
in a file called build-<target>.lua to allow better dividing up of build rules
(to break cycles).
2016-08-14 01:38:36 +02:00
David Given
e0b8bd221d
Pascal runtime library now builds.
2016-08-13 13:07:19 +02:00
David Given
e770d09dc8
Pascal compiler builds.
2016-08-13 13:03:06 +02:00
David Given
00c67fcc0e
Modula-2 runtime library now builds.
2016-08-13 12:43:44 +02:00
David Given
dbf8332bf0
Fixed a small bug where two line number directives next to each other wouldn't
...
be parsed properly (the second one would be treated as Modula-2 syntax).
2016-08-13 12:21:16 +02:00
David Given
8e869b56e7
The Modula-2 compiler now builds.
2016-08-13 00:02:21 +02:00
David Given
08b7c4aaae
The Basic runtime builds now.
2016-08-12 00:24:40 +02:00
David Given
7c60c27302
The Basic compiler works now.
2016-08-12 00:19:51 +02:00
David Given
b592c88bdf
replace() gets confused if you give it a singleton list as its parameter.
2016-08-12 00:19:30 +02:00
David Given
a200a2fb53
Replaced the funky and hard-to-compile ACK malloc with a much smaller
...
and simpler one stolen from K&R. libc builds now.
2016-08-11 00:30:32 +02:00
David Given
3ce4e53aa9
Most of libc builds now (missing malloc).
2016-08-08 23:55:47 +02:00
David Given
c213602a02
Target lists can now have keyed items ({["foo"] = "+target"); this is
...
used by both installable and by clibrary{} to allow headers to be
installed into subdirectories.
2016-08-08 23:55:23 +02:00
David Given
0d77cb8279
We can build our first C file.
2016-08-07 21:56:53 +02:00
David Given
b50dc4214a
Add check for undefined variables. Find undefined variables. Fix undefined
...
variables.
2016-08-05 00:01:55 +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
c6292642c6
Fix a nasty dependency bug where filenamesof() on installables wouldn't
...
return any of the installable files (which meant installables were
never considered as dependencies).
2016-07-29 00:22:22 +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
05e3cf286f
Saner clibrary dependency and header handling.
2016-07-19 23:42:56 +02:00
David Given
b7720c298b
Error out if a template expansion returns nil (as it's normally an error).
2016-07-19 23:42:42 +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
523374c36b
Built a make bootstrap that runs either make or ninja depending on which is
...
installed.
2016-07-16 14:58:29 +02:00
David Given
bcf3408e36
More stuff builds; almost the C compiler now.
2016-07-14 23:54:13 +02:00
David Given
cdbd605803
concat, targetnamesof. deps is now handled more consistently (treated the same
...
as ins but not passed in as inputs).
2016-07-14 23:53:34 +02:00
David Given
f70c12fad5
Allow headers which aren't .h files.
2016-06-30 13:27:47 +02:00
David Given
60edd08390
Make work with make.
2016-06-30 13:19:10 +02:00
David Given
90764320bb
Better cwd handling.
2016-06-29 13:58:38 +02:00
David Given
c8711628ab
clibrary can now export headers.
2016-06-29 13:28:45 +02:00
David Given
7f7005bac5
Local rules; include() and replace().
2016-06-29 13:28:22 +02:00
David Given
d805052205
All the amisc binaries now build.
2016-06-19 09:32:45 +02:00
David Given
1978867fd2
Add ninja support. It works so much better than make.
2016-06-19 08:55:02 +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
a04dbf33f3
Add hgignore file.
2016-06-12 20:59:16 +02:00
David Given
015804afce
cprogram works.
2016-06-09 07:14:41 +02:00
David Given
f47bb49c1f
Multiple build files work. Use deps intelligently. clibraries.
2016-06-09 06:55:44 +02:00
David Given
fcc5a878ae
Rather cleaner cfile implementation where you just give it a .c and a pile of .h files.
2016-06-08 03:21:53 +02:00
David Given
8082ef16a7
cfile with dynamically generated headers sort of works.
2016-06-07 05:00:26 +02:00
David Given
f4449e3f97
Multioutput rules work!
2016-06-07 04:20:08 +02:00
David Given
79f7c0ad23
Leaf rules work!
2016-06-07 04:13:56 +02:00
David Given
b7d2b9c3cf
Dependent rules work!
2016-06-07 00:10:22 +02:00
David Given
14ccf7151e
Most of simplerule now looks like it's working.
2016-06-06 22:13:30 +02:00
David Given
cb0111b290
Skeleton of the rule engine and type system.
2016-06-06 20:50:48 +02:00
David Given
df1372ab35
Really basic skeleton of Ackbuilder mark 2.
2016-06-06 17:18:19 +02:00
David Given
d0bfee142b
Archival non-working checkin of the experimental build tool.
2016-06-05 10:39:29 +02:00
David Given
ffc03090ea
hgtags shouldn't be checked in.
2016-06-04 18:16:52 +02:00
David Given
059073e56c
Branching bug fix.
...
--HG--
branch : default-branch
2016-06-04 12:57:25 +02:00
David Given
45f0cb3c0d
Added tag release-5-6 for changeset 976d56ed63bd
...
--HG--
branch : default-branch
2016-06-04 12:56:00 +02:00
David Given
6db95dc81e
Added tag release-6-0-pre-1 for changeset 3d69c08001d4
...
--HG--
branch : default-branch
2016-06-04 12:55:42 +02:00
David Given
ca981a2f6a
Added tag release-6-0-pre-3 for changeset dd12ef08179d
...
--HG--
branch : default-branch
2016-06-04 12:55:36 +02:00
David Given
73ade9cbcf
Added tag release-6-0-pre-4 for changeset 42d4fcc3a87c
...
--HG--
branch : default-branch
2016-06-04 12:55:27 +02:00
David Given
82399d86ae
Added tag release-6-0-pre-5 for changeset 0708542a3c39
...
--HG--
branch : default-branch
2016-06-04 12:53:57 +02:00
David Given
88bd7ce126
Remove defunct pmfiles.
...
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given
9d620ad1c2
The archiver is called aal now.
...
--HG--
branch : default-branch
2016-06-02 12:35:38 +02:00
David Given
4b3c1a2d07
Add missing (but probably non-working) rpi file.
...
--HG--
branch : default-branch
2016-06-02 12:21:13 +02:00
David Given
f24658181d
Has it really been three years since the last release?
...
--HG--
branch : default-branch
2016-06-02 12:07:31 +02:00
David Given
7ee4dcde7b
Don't strip binaries so we retain debugging information.
...
--HG--
branch : default-branch
2016-06-02 12:06:54 +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
391cb0f2cd
Fix checkin into wrong hg branch.
...
--HG--
branch : default-branch
2016-03-17 20:53:45 +01:00
David Given
863b610144
Fix use-after-free.
2016-03-17 20:52:27 +01:00
David Given
b7b449cec3
Install directory now defaults to INSDIR, for ease of use during development.
2016-03-17 20:52:15 +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
88e13ecce3
Don't use the ACK preprocessor on host files --- use the host preprocessor
...
instead.
--HG--
branch : default-branch
2016-03-14 20:58:19 +01:00
David Given
e85991ec86
Fix stray 'call file'.
...
--HG--
branch : default-branch
2016-03-13 21:40:05 +01:00
David Given
436db46f48
Merge in VideoCore IV code generator.
...
--HG--
branch : default-branch
2016-03-13 21:39:05 +01:00
David Given
ff0c78cc78
Merge from default.
...
--HG--
branch : dtrg-videocore-branch-branch
2016-03-13 21:13:09 +01:00
David Given
4c5eb9a602
The ACK needs ed? Also, Ubuntu doesn't *have* ed?
...
--HG--
branch : default-branch
2015-06-19 22:14:09 +02:00
David Given
5e9f79db05
Add Travis config file.
...
--HG--
branch : default-branch
2015-06-19 22:07:16 +02:00
David Given
f07c6e4d6a
Rename branch.
...
--HG--
branch : dtrg-videocore-branch-branch
2015-06-18 23:39:25 +02:00
David Given
ff774212be
Rename branch.
...
--HG--
branch : default-branch
2015-06-18 23:39:25 +02:00
David Given
171f16d7b8
Rename branch.
...
--HG--
branch : dtrg-videocore-branch
2015-06-18 23:38:50 +02:00
David Given
62cc636f10
Merge.
...
--HG--
branch : dtrg-videocore
2015-03-23 00:15:42 +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
c5018d7088
64-bit-ify (adhoc varargs are evil).
2015-03-23 00:07:59 +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
e36d739fa4
Add (largely untested) float/int conversion.
...
--HG--
branch : dtrg-videocore
2013-07-01 13:05:36 +01:00
David Given
8b6951dac0
Fix incorrect offset encoding in lea (sp) instructions.
...
--HG--
branch : dtrg-videocore
2013-06-29 00:35:07 +01:00
David Given
edb174da8d
Fix incorrect encoding of 'push lr' and 'pop pc'.
...
--HG--
branch : dtrg-videocore
2013-06-29 00:32:39 +01:00
David Given
29af6f1adb
ISA change: clz has been renamed to log2.
...
--HG--
branch : dtrg-videocore
2013-06-27 11:25:50 +01:00
David Given
2b3f95de0b
Fix jump range checking in the addcmpb family of instructions.
...
--HG--
branch : dtrg-videocore
2013-06-26 23:32:54 +01:00
David Given
c72eaef8ee
Add routine to set the Raspberry Pi clock to 250MHz (loads faster than the default 19.2MHz).
...
--HG--
branch : dtrg-videocore
rename : plat/rpi/libsys/pi_user_to_phys.s => plat/rpi/libsys/pi_fast_mode.s
2013-06-24 23:57:27 +01:00
David Given
d94c1c8150
Updated distr files.
...
--HG--
branch : dtrg-videocore
rename : mach/i80/.distr => mach/vc4/.distr
rename : plat/cpm/.distr => plat/rpi/.distr
2013-06-21 23:38:21 +01:00
David Given
2be811bac2
Updated VC4 docs.
...
--HG--
branch : dtrg-videocore
2013-06-21 23:21:08 +01:00
David Given
fd2360be0f
Ship assembler man pages.
...
--HG--
branch : dtrg-videocore
rename : man/8080_as.6 => man/i80_as.6
rename : man/m68k2_as.6 => man/m68020_as.6
2013-06-21 23:20:50 +01:00
David Given
55be35a68a
Add a stub malloc.h.
...
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/headers/stdlib.h => lang/cem/libcc.ansi/headers/malloc.h
2013-06-20 00:15:14 +01:00
David Given
052dd9bfc0
Actually remember to set the stack pointer on startup. Reduce to stack from 16kB to a much more reasonable 1kB.
...
--HG--
branch : dtrg-videocore
2013-06-20 00:14:55 +01:00
David Given
eaf4339cd6
Implement a very crude busy-wait based select() mechanism for consol input.
...
--HG--
branch : dtrg-videocore
rename : plat/rpi/include/ack/config.h => plat/rpi/include/sys/select.h
rename : plat/rpi/libsys/time.c => plat/rpi/libsys/select.c
2013-06-09 22:16:30 +01:00
David Given
bbd4b46850
Fix stack corruption when adjusting SP. Be a bit more rigorous about clearing the pseudostack on branch/labels.
...
--HG--
branch : dtrg-videocore
2013-06-07 21:25:38 +01:00
David Given
ed6c4a85d1
Change the size of the SRAM area to 128kB (to reflect reality).
...
--HG--
branch : dtrg-videocore
2013-06-06 00:05:48 +01:00
David Given
3e0123ca03
Fix treatment of out-of-range values in switch csa.
...
--HG--
branch : dtrg-videocore
2013-06-05 23:57:23 +01:00
David Given
aacabba165
Apply fix contributed by George Koehler:
...
- don't crash if BSS overlaps BDOS
- fix stack initialisation bug
- fix command line argification
2013-06-02 22:02:15 +01:00
David Given
86c6fa2f1e
Implement NOT...
...
--HG--
branch : dtrg-videocore
2013-05-30 23:50:19 +01:00
David Given
d5a112dbfd
Some more termios compatibility options.
...
--HG--
branch : dtrg-videocore
2013-05-30 23:25:22 +01:00
David Given
2054618e75
Add basic termios to the rpi platform to allow echoing/newline translation to be controlled.
...
--HG--
branch : dtrg-videocore
rename : plat/rpi/include/unistd.h => plat/rpi/include/termios.h
rename : plat/rpi/libsys/write.c => plat/rpi/libsys/tcgetattr.c
rename : plat/rpi/libsys/write.c => plat/rpi/libsys/tcsetattr.c
2013-05-30 23:19:55 +01:00
David Given
d273497077
Add some missing libc functions: setenv, unsetenv, strdup.
...
--HG--
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
extra : source : 64d6e6eec18d76bf8f3947ec5d171db94acdb282
2013-05-29 21:41:58 +01:00
David Given
074b42aa97
Add some missing libc functions: setenv, unsetenv, strdup.
...
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
2013-05-29 21:41:58 +01:00
David Given
f522aba4af
Add support for snprintf and vsnprintf. Try and make the return value a bit
...
more standards-compliant.
--HG--
extra : source : a19eb606871f918e3d9e195b487b5276855edc8e
2013-05-29 17:10:58 +01:00
David Given
69953d016c
Add support for snprintf and vsnprintf. Try and make the return value a bit
...
more standards-compliant.
--HG--
branch : dtrg-videocore
2013-05-29 17:10:58 +01: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
e0c121d6e6
Use relocation enumerations rather than hard-coded values for relocation types
...
(these were causing problems due to the enumeration values having changed).
2013-05-29 14:11:04 +01:00
David Given
1f36370d87
Implement nop (the C compiler sometimes generates this!).
...
--HG--
branch : dtrg-videocore
2013-05-26 22:54:53 +01:00
David Given
ae993b1eb2
Add a crude README.
...
--HG--
branch : dtrg-videocore
2013-05-26 19:54:22 +01:00
David Given
38e4726f5c
Boot code now works properly in both kernel and bare-metal mode.
...
--HG--
branch : dtrg-videocore
2013-05-26 19:41:37 +01:00
David Given
ef25c53c9c
Fix bug in ine/dee.
...
--HG--
branch : dtrg-videocore
2013-05-26 18:59:19 +01:00
David Given
e01f00e320
Allow reading from the mini UART. Add a check to not touch the UART unless it's been initialised (in case of accidents when running in kernel mode).
...
--HG--
branch : dtrg-videocore
2013-05-26 18:58:54 +01:00
David Given
366cd10194
Remainders are calculated correctly. printf now works.
...
--HG--
branch : dtrg-videocore
2013-05-26 13:13:58 +01:00
David Given
510888e6d5
.csb now works.
...
--HG--
branch : dtrg-videocore
rename : mach/vc4/libem/csa.s => mach/vc4/libem/csb.s
2013-05-26 13:06:25 +01:00
David Given
6284512b37
Fix erroneous section check (symbols may not have a defined section in pass 1).
...
--HG--
branch : dtrg-videocore
2013-05-26 00:35:15 +01:00
David Given
bd9497be77
Renamed the pi-specific functions to be a bit cleaner.
...
--HG--
branch : dtrg-videocore
rename : plat/rpi/libsys/phys_to_user.s => plat/rpi/libsys/pi_phys_to_user.s
rename : plat/rpi/libsys/uart.s => plat/rpi/libsys/pi_uart.s
rename : plat/rpi/libsys/user_to_phys.s => plat/rpi/libsys/pi_user_to_phys.s
2013-05-26 00:22:39 +01:00
David Given
308d41e083
Added triple-quad load and store (used by the signal stuff).
...
--HG--
branch : dtrg-videocore
2013-05-26 00:22:08 +01:00
David Given
e299cc3bcf
stdio (output only) now works.
...
--HG--
branch : dtrg-videocore
2013-05-25 23:59:31 +01:00
David Given
8c21a2ef9b
Stop fighting the terrible code and remove the regvar support --- it didn't help much and was a pain.
...
--HG--
branch : dtrg-videocore
2013-05-25 23:58:35 +01:00
David Given
6a672d5e96
Heap allocations now works.
...
--HG--
branch : dtrg-videocore
2013-05-25 23:28:47 +01:00
David Given
3b07fee160
Major bugfix where instructions weren't being shrunk correctly. (Turns out there's built-in support for doing this, which I hadn't found.)
...
--HG--
branch : dtrg-videocore
2013-05-25 23:26:10 +01:00
David Given
b6680a48cc
Disable register variables. The code is a bit worse, but having two stackable registers makes things much easier to understand.
...
--HG--
branch : dtrg-videocore
2013-05-25 13:31:58 +01:00
David Given
d7efb0a32c
Implement .csa.
...
--HG--
branch : dtrg-videocore
rename : mach/vc4/libem/dummy.s => mach/vc4/libem/csa.s
2013-05-25 13:31:27 +01:00
David Given
2ee79ab0b2
Encode comparing branch correctly.
...
--HG--
branch : dtrg-videocore
2013-05-25 13:31:01 +01:00
David Given
ec25fec145
Build binaries that will run bare metal. Add enough syscall library to init the uart and write text.
...
--HG--
branch : dtrg-videocore
rename : plat/rpi/libsys/libsys.h => plat/rpi/libsys/libsysasm.h
rename : plat/rpi/libsys/_sys_rawread.s => plat/rpi/libsys/phys_to_user.s
rename : plat/rpi/libsys/_sys_rawread.s => plat/rpi/libsys/uart.s
rename : plat/rpi/libsys/_sys_rawread.s => plat/rpi/libsys/user_to_phys.s
2013-05-25 00:35:29 +01:00
David Given
472f778342
Don't write out constant data as big-endian! Some other cleanups.
...
--HG--
branch : dtrg-videocore
2013-05-25 00:33:38 +01:00
David Given
98e745d04c
Fix awful bug where uint32_t was sometimes defined as a short.
...
--HG--
branch : dtrg-videocore
2013-05-25 00:33:01 +01:00
David Given
98a51732ab
Various codegen tweaks.
...
--HG--
branch : dtrg-videocore
2013-05-24 17:04:29 +01:00
David Given
2c7ee27206
Double-quads can be loaded and stored (more) correctly.
...
--HG--
branch : dtrg-videocore
2013-05-22 23:55:23 +01:00
David Given
6cbe6e1c4e
Better treatment of sign extension.
...
--HG--
branch : dtrg-videocore
2013-05-22 23:12:48 +01:00
David Given
8f338f9b44
Now actually runs on real hardware.
...
--HG--
branch : dtrg-videocore
2013-05-22 22:46:10 +01:00
David Given
7537c85e0a
Generate adds instructions when a shift-and-add is seen (useful for array indexing).
...
--HG--
branch : dtrg-videocore
2013-05-22 21:37:48 +01:00
David Given
b5e5df4a63
Allocate a user stack to run code in.
...
--HG--
branch : dtrg-videocore
2013-05-22 18:25:30 +01:00
David Given
cdce394b6c
Generate ld rd, (rs) instructions properly.
...
--HG--
branch : dtrg-videocore
2013-05-22 11:02:46 +01:00
David Given
9e556d8b7b
Optimise direct access to globals, and incrementing and decrementing locals.
...
--HG--
branch : dtrg-videocore
2013-05-22 10:55:13 +01:00
David Given
0068952bd1
Build the Raspberry Pi code.
...
--HG--
branch : dtrg-videocore
2013-05-22 09:47:22 +01:00
David Given
6b5316dcfa
More typo fixes.
...
--HG--
branch : dtrg-videocore
2013-05-22 00:52:58 +01:00
David Given
08c4334224
Typo fixes.
...
--HG--
branch : dtrg-videocore
2013-05-22 00:44:04 +01:00
David Given
72542288cd
Adjust bootstrap code to build kernels that work with the mailbox test app.
...
--HG--
branch : dtrg-videocore
2013-05-22 00:16:59 +01:00
David Given
f904465e9c
Fix signedness problem that was showing up on ARM.
...
--HG--
branch : dtrg-videocore
2013-05-22 00:16:16 +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
1312fe298b
Now compiles (incorrectly) the entire libc, libpc, libm2 and libbasic!
...
--HG--
branch : dtrg-videocore
2013-05-21 20:05:26 +01:00
David Given
92817a6ad7
Allow platforms to specify size of long double; seperate alignment from size.
...
--HG--
branch : dtrg-videocore
2013-05-21 19:18:11 +01:00
David Given
877e06ed89
Lots more opcodes including float support. Define float and double to be the
...
same thing (as the VC4 seems not to have double-precision float support).
--HG--
branch : dtrg-videocore
2013-05-21 18:16:30 +01:00
David Given
6cdea73e84
Add a lot more opcodes.
...
--HG--
branch : dtrg-videocore
2013-05-20 23:27:45 +01:00
David Given
d6565f4d5b
Fix typo.
...
--HG--
branch : dtrg-videocore
2013-05-20 23:27:31 +01:00
David Given
e5341e4167
Remember to clear ackflags on reset.
...
--HG--
branch : dtrg-videocore
2013-05-20 22:41:27 +01:00
David Given
970f2bae62
Major revamp to simplify and use 2op instructions. Better code. Now looks like it may work one day.
...
--HG--
branch : dtrg-videocore
2013-05-20 22:35:12 +01:00
David Given
5082b2a5d7
Add lea instruction. Fix dependency issues.
...
--HG--
branch : dtrg-videocore
2013-05-20 19:56:33 +01:00
David Given
11890026db
Push/pop are the right way round. Don't corrup short-form ALU instructions. Correct encoding of push/pop register ranges.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:34:42 +01:00
David Given
76ba0bf6b3
First steps towards a code generator.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:33:42 +01:00
David Given
61bff18082
Added skeleton bootstrap code.
...
--HG--
branch : dtrg-videocore
rename : plat/pc86/boot.s => plat/rpi/boot.s
2013-05-19 23:33:29 +01:00
David Given
80f85001fa
Correctly emit constants in some ALU instructions.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:19:10 +01:00
David Given
a46ee91859
Fix warning.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:18:36 +01:00
David Given
4f15423d63
Add compare-and-branch instructions.
...
--HG--
branch : dtrg-videocore
2013-05-19 18:40:19 +01:00
David Given
80afe75c9b
Added memory operations that work on fixed up addresses.
...
--HG--
branch : dtrg-videocore
2013-05-19 13:03:53 +01:00
David Given
febe8ca937
Add register offset and postincrement memory operations.
...
--HG--
branch : dtrg-videocore
2013-05-19 12:39:35 +01:00
David Given
fc2833d456
Add most vanilla memory load/store instructions.
...
--HG--
branch : dtrg-videocore
2013-05-19 00:56:56 +01:00
David Given
fc1b3672a3
Reapply bugfix to sbrk() which got dropped during the move from linx386/libsys
...
to liblinux. Set errno correctly.
2013-05-18 13:00:37 +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
26877d3c4f
Add a whole bunch of VC4 opcodes.
...
--HG--
branch : dtrg-videocore
2013-05-17 23:30:49 +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
5b4aa07dee
Merge fixes from trunk.
...
--HG--
branch : dtrg-videocore
2013-05-17 15:28:04 +01:00
David Given
9a513e8ef3
Fix warning.
2013-05-17 00:04:54 +01:00
David Given
e7c2029c9c
Dependency fixes.
2013-05-17 00:04:37 +01:00
David Given
32ebc502c8
Skeleton of VideoCore IV support for the Raspberry Pi.
...
--HG--
branch : dtrg-videocore
rename : mach/powerpc/as/.distr => mach/vc4/as/.distr
rename : mach/powerpc/as/mach0.c => mach/vc4/as/mach0.c
rename : mach/powerpc/as/mach1.c => mach/vc4/as/mach1.c
rename : mach/powerpc/as/mach2.c => mach/vc4/as/mach2.c
rename : mach/powerpc/as/mach3.c => mach/vc4/as/mach3.c
rename : mach/powerpc/as/mach4.c => mach/vc4/as/mach4.c
rename : mach/powerpc/as/mach5.c => mach/vc4/as/mach5.c
rename : mach/i86/build.mk => mach/vc4/build.mk
rename : mach/powerpc/libem/powerpc.h => mach/vc4/libem/videocore.h
rename : mach/i86/libend/.distr => mach/vc4/libend/.distr
rename : mach/i86/libend/edata.s => mach/vc4/libend/edata.s
rename : mach/i86/libend/em_end.s => mach/vc4/libend/em_end.s
rename : mach/i86/libend/end.s => mach/vc4/libend/end.s
rename : mach/i86/libend/etext.s => mach/vc4/libend/etext.s
rename : mach/powerpc/ncg/.distr => mach/vc4/ncg/.distr
rename : mach/powerpc/ncg/mach.c => mach/vc4/ncg/mach.c
rename : mach/powerpc/ncg/mach.h => mach/vc4/ncg/mach.h
rename : mach/powerpc/ncg/table => mach/vc4/ncg/table
rename : plat/pc86/descr => plat/rpi/descr
2013-05-17 00:03:38 +01:00
David Given
e5f6d5acfa
Fix buffer overrun looking up type information for op_lab pseudoops (as
...
they're not EM opcodes, we shouldn't look them up in em_flags!).
2013-05-16 22:02:59 +01:00
David Given
f70f78b6e4
Correctly generate dependency information.
2013-05-16 22:02:00 +01:00
David Given
84f81a442c
Merge in build system changes.
2013-05-16 14:33:19 +01:00
David Given
24ef1627ec
A few last build tweaks.
...
--HG--
branch : dtrg-buildsystem
2013-05-16 14:20:58 +01:00
David Given
11377070fd
Update distribution files.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
8fbce949f5
Now describe the make-based build system in the README.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:12:05 +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
f6c43b95ef
Modula-2 now works.
...
--HG--
branch : dtrg-buildsystem
rename : lang/pc/build.mk => lang/m2/build.mk
rename : lang/pc/libpc/build.mk => lang/m2/comp/build.mk
rename : lang/pc/libpc/build.mk => lang/m2/libm2/build.mk
2013-05-14 22:24:38 +01:00
David Given
66aebcdd91
Pascal compiler now runs.
...
--HG--
branch : dtrg-buildsystem
rename : lang/basic/build.mk => lang/pc/build.mk
rename : lang/cem/cemcom.ansi/build.mk => lang/pc/comp/build.mk
rename : lang/basic/lib/build.mk => lang/pc/libpc/build.mk
2013-05-14 20:47:04 +01:00
David Given
a6ebaeabd0
Basic compiler now runs.
...
--HG--
branch : dtrg-buildsystem
2013-05-14 18:01:38 +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
a68b117e96
Add missing dependency.
...
--HG--
branch : dtrg-buildsystem
2013-05-14 14:55: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
442306d557
Split off some of the platform-independent stuff (such as as and ncg).
...
--HG--
branch : dtrg-buildsystem
rename : plat/pc86/build.mk => mach/i386/build.mk
rename : plat/pc86/build.mk => mach/i80/build.mk
rename : plat/pc86/build.mk => mach/i86/build.mk
rename : plat/pc86/build.mk => mach/m68020/build.mk
rename : plat/pc86/build.mk => mach/powerpc/build.mk
2013-05-13 22:12:46 +01:00
David Given
81778b603f
Merge updates from trunk.
...
--HG--
branch : dtrg-buildsystem
2013-05-13 12:37:27 +01:00
David Given
af0dedeb6e
Fix typo.
...
--HG--
branch : dtrg-buildsystem
2013-05-13 11:14:10 +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
bcfb3d802f
Add pmfile for m68020 libend.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 00:58:35 +01:00
David Given
8e2d027c49
Add pmfile for m68020 libem.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 00:57:47 +01:00
David Given
8d0261473d
Add missing linux68k platform and liblinux support library.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 00:56:10 +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
David Given
dccecc5d45
Back out erroneous change.
2012-12-14 11:56:21 +00: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
David Given
2beb3646a7
Change to use stdint's implementation independent types rather than short and
...
long (which vary depending on whether you're on a 64-bit system or not).
2012-09-27 10:54:41 +01:00
George Koehler
7ef9b79c11
Merge deletion of many undead files.
2012-09-23 15:31:16 -04:00
George Koehler
3dcc3bd1cf
Allow pc86 bootloader to boot from more floppy drives.
...
When the bootloader probes the drive geometry, the BIOS can clobber the
es register. If this happens, the bootloader loads the program to the
wrong address, and jumps off the code. This happens with an emulated
floppy drive in Bochs or QEMU, but not with an emulated hard disk.
2012-09-23 14:43:22 -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
be234ea759
*Again* fix fit16i() for systems with 64-bit long.
...
I already did this in abebf1586c06, but I edited the wrong file. Then
in edddc6b7cd17, I deleted that file.
By fixing fit16i(), I can now compile ACK for OpenBSD/amd64.
2012-09-19 23:39:51 -04:00
George Koehler
8bf34937f1
Delete old and unused files from modules/src/em_code
2012-09-17 16:04:55 -04:00
George Koehler
99eb12a282
Fix fit16i() for systems with 64-bit long.
...
(long)0xFFFF8000 had expanded to 0x00000000FFFF8000.
With (long)(-0x8000), the compiler now extends the negative sign.
2012-09-16 19:57:07 -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
George Koehler
800d4ae032
Fix cemcom.ansi for 64-bit hosts.
...
Hosts with sizeof(arith) == sizeof(long) == 8 need to set full_mask[1]
through full_mask[8]. Because MAXSIZE == 8, we only had full_mask[0]
through full_mask[7]. This fix declares arith full_mask[MAXSIZE + 1]
and prevents a fatal error: "array full_mask too small for this machine"
2012-09-07 15:53:13 -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
cvs2hg
eb0b730607
convert CVS tags
2011-02-11 00:51:45 +00:00
dtrg
45ee287136
Replaced dis and new with modern implementations donated by erik@backerud.se.
2010-10-02 21:52:29 +00:00
dtrg
075cb488a3
Call the correct kill() and getpid() syscalls rather than _kill() and _getpid().
2010-10-02 21:51:40 +00:00
dtrg
a33473e0a5
Now call creat() and open() instead of _creat() and _open().
2010-09-27 20:47:32 +00:00
dtrg
7292b538bc
Added support for remove() and unlink().
2010-09-27 20:44:49 +00:00
dtrg
a8ecb11013
Fixed very old bug where Streams.GetStreamPosition would return the wrong position --- thanks to Jan Verhoeven for finding this.
2010-09-01 19:55:15 +00:00
dtrg
085f346f8c
Fixed definitions of O_* flags.
2010-08-20 19:27:09 +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
a0c67da261
Changed to actually work. (On modern Linux systems the old version just
...
crashes. On old Linux systems it apparently only worked by accident.)
2010-08-06 17:06:31 +00:00
dtrg
293f34fa9b
Flush stdout before prompting the user for input.
2010-08-06 17:02:16 +00:00
dtrg
da6111328d
Flush output stream before waiting for user input.
2010-08-05 22:23:34 +00:00
cvs2hg
7273130b4c
fixup commit for tag 'release-6-0-pre-4'
2010-08-04 18:04:08 +00:00
dtrg
9d2d5606ea
Forgot to update version number.
2010-08-04 18:04:07 +00:00
dtrg
5147166810
Updated for 6.0pre4.
2010-08-04 18:01:12 +00:00
dtrg
e537bcc321
Fixed typo.
2010-08-04 17:59:40 +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
51b41f72f8
Invoke genfiles explicitly with sh --- CVS doesn't store executable bits.
2010-08-01 10:35:33 +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
481bcd8a8b
Added a very-nearly-noop peephole optimiser for Z80.
2008-03-20 23:20:08 +00:00
dtrg
fc44fe2185
Properly handles files ending in a partial line.
2008-03-20 22:50:50 +00:00
dtrg
4dd1ff6d80
Archival checkin (semi-working code).
2007-11-02 18:56:58 +00:00
cvs2hg
58e5e12ead
fixup commit for tag 'release-6-0-pre-3'
2007-04-29 23:09:25 +00:00
dtrg
54ce3f451b
Configured distr system for the 6.0pre3 release.
2007-04-29 23:09:24 +00:00
dtrg
663f4f2fb5
Cleaned up a bit and made work with the new platform architecture.
2007-04-29 23:03:24 +00:00
dtrg
78777e802b
Now using more conservative optimisation due to random seg fault issues.
2007-04-29 23:02:23 +00:00
dtrg
df088c184b
Added optimised rules for int<<8 and uint>>8 (which can be done with simple register shuffling rather than calling .sli).
2007-04-29 23:00:31 +00:00
dtrg
868b8c5075
Fixed the ego parameters to actually allow extended optimisation.
2007-04-29 21:25:09 +00:00
dtrg
eb4ea1e761
Use better optimisation options.
2007-04-29 21:24:17 +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
6127ddf024
Fixed the trap code to write out the error message correctly.
2007-04-29 20:47:48 +00:00
dtrg
9d0f0a8fdd
Disabled the code to throw signals on EM traps; this is the platform's job (and requires working signal support, which we may not have).
2007-04-29 20:46:48 +00:00
dtrg
c9d7f7ef23
Added suppot for BSS clearing and command line parsing.
2007-04-29 00:28:06 +00:00
dtrg
a7323e1a8b
Documented floating-point status.
2007-04-28 22:34:47 +00:00
dtrg
3a4147a37d
Added the Mandelbrot generator.
2007-04-28 22:34:05 +00:00
dtrg
be8baf3da6
Added cpm platform.
2007-04-27 22:42:41 +00:00
dtrg
013f58f94e
Added the stdint.h header file.
2007-04-27 22:42:02 +00:00
dtrg
0d8578410c
Cleaned up and enabled the support for conditionally emitting the floating-point stdio code.
2007-04-27 22:41:39 +00:00
dtrg
7f266d6b4e
Removed a completely pointless 128-byte buffer.
2007-04-27 22:41:05 +00:00
dtrg
440d6faadd
Fixed a bug where loc lol stf was getting the constant pushed onto the stack *after* stf had popped it off.
2007-04-27 22:15:31 +00:00
dtrg
24ea8aee3d
Updated for the 6.0pre2 release.
2007-04-24 20:45:58 +00:00
dtrg
bc5ccee8d5
Removed bashish.
2007-04-24 19:48:41 +00:00
dtrg
bfeb736c35
Stripped down the library to something approaching the ANSI C minimum and replaced most of the header files, to provide a reasonably consistent base to work up from.
2007-04-24 19:42:24 +00:00
dtrg
740940c9fc
Fixed major typos in the signal declarations that was preventing anything that used signal() from compiling.
2007-04-24 19:34:34 +00:00
dtrg
f6085fb234
Updated use of headers to compile cleanly.
2007-04-24 19:33:53 +00:00
dtrg
b8e1348f2a
Ensured that _errno is always defined. Rejigged the pc86 boot code so it doesn't always waste 510 bytes of memory.
2007-04-24 19:25:00 +00:00
dtrg
413880c52d
Added support for the linux386 platform. Disabled building of the K&R C, Basic and Occam compilers.
2007-04-23 23:41:50 +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
67c4f3de87
Modified to allow a space between the sign and the first digit of a constant.
2007-04-23 23:24:46 +00:00
dtrg
9b920e59cb
Now fetches argc, argv, env correctly from the host OS.
2007-04-23 23:24:03 +00:00
dtrg
9710c14c93
Added the 'Star Trek' example game.
2007-04-21 23:20:11 +00:00
dtrg
921c55968c
Adapted to tell the user what language they were written in (because they're too similar!). Modified the Pascal implementation to work with our new syscall model.
2007-04-21 23:19:32 +00:00
dtrg
1c83baa702
Adapted for ANSI C and our pseudo-Posix syscall interface.
2007-04-21 23:18:14 +00:00
dtrg
b66d66b597
Fixed a bug where the preprocessor would occasionally lose whitespace at the beginning of lines immediately after a #endif, which was confusing the assembler.
2007-04-21 23:10:13 +00:00
dtrg
2a367fa192
Disabled Terminal as it uses hard-coded ioctls and appears to be non-standard anyway.
2007-04-21 23:07:57 +00:00
dtrg
f4e37e1319
Changed to call the isatty() syscall directly, rather than fiddling around with non-portable ioctls.
2007-04-21 23:07:05 +00:00
dtrg
400c475c03
Disabled the K&R C compiler in favour of the ANSI one.
2007-04-21 23:03:35 +00:00
dtrg
b500b1a7b7
Added linux386 platform.
2007-04-21 23:02:11 +00:00
dtrg
201c66879d
Updated to work with the new libmon-less setup.
2007-04-21 22:59:42 +00:00
dtrg
04860c08a8
Updated to work with the linux386 platform.
2007-04-21 22:57:51 +00:00
dtrg
daee8da3c4
yacc source files are now run through the ANSI C preprocessor, not the K&R one.
2007-04-21 22:55:59 +00:00
dtrg
4428647786
Everything is built in ANSI C now.
2007-04-21 22:55:04 +00:00
dtrg
d77b4ce97c
Renamed the language libraries and runtimes to have more
...
conventional names.
2007-02-26 22:36:56 +00:00
cvs2hg
2d80c1d2c8
fixup commit for tag 'release-6-0-pre-1'
2007-02-25 22:49:23 +00:00
dtrg
6a0dd9377d
Removed a dynamically generated file from the distribution.
2007-02-25 22:49:22 +00:00
dtrg
a4e52740bb
Added some OpenBSD-related comments.
2007-02-25 22:09:15 +00:00
dtrg
8da0d38b6d
Applied a patch to support OpenBSD.
2007-02-25 22:07:11 +00:00
dtrg
17b0c36f69
Replaced the call to posix.setenv() with the more portable
...
posix.putenv().
2007-02-25 20:59:21 +00:00
dtrg
040151dd76
Removed some explicit (and wrong) redeclarations of system
...
functions.
2007-02-25 20:58:16 +00:00
dtrg
9170d09462
Performed major renovations to make the script work on OpenBSD.
2007-02-25 20:56:41 +00:00
dtrg
415e7e14fc
em_table is now in /h; new_table is now in util/data.
2007-02-25 12:58:41 +00:00
dtrg
d85e045ae6
Updated for the new release.
2007-02-25 12:53:55 +00:00
dtrg
b046c21d7f
Added the ability to install a built ACK, and did some general
...
tidying.
2007-02-25 12:53:17 +00:00
dtrg
3dd11c674d
Adjusted some of the default parameters and their names.
2007-02-25 12:52:32 +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
6e509e22dd
Added shell magic.
2007-02-25 12:46:11 +00:00
dtrg
f6a41864cf
Moved to /h.
2007-02-25 12:45:24 +00:00
dtrg
f05f9de3ed
Moved sys/timeb.h from include/_tail_mon.
2007-02-25 12:44:13 +00:00
dtrg
877dc01422
Moved from /etc.
2007-02-25 12:42:04 +00:00
dtrg
880e3eade8
Updated to version 0.1.1 of Prime Mover.
2007-02-25 12:39:52 +00:00
dtrg
681e2e0432
Added example programs.
2007-02-25 00:30:07 +00:00
dtrg
d2c505ad6b
Removed some bashish; added comment support; removed the make
...
distr functionality, as nothing was using it any more and it was
causing problems.
2007-02-24 02:05:56 +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
5c5f711cbb
Done a major overhaul of the way target include files are installed and
...
how platform libraries are built. The ARCH pm variable has now been
renamed PLATFORM (which is more accurate) and a different ARCH
variable added, which represents the CPU family rather than the
hardware platform.
2007-02-20 00:46:10 +00:00
dtrg
809cd2ef0b
Added a definition of endrom.
2007-02-20 00:42:23 +00:00
dtrg
5165f0b11f
Added some comments and a CVS header.
2007-02-20 00:41:26 +00:00
dtrg
39689a4de9
Tweaked to allow _ as a leading character in identifier names (if
...
use of underscores in identifiers has been turned on).
2007-02-20 00:40:00 +00:00
dtrg
e4292486a3
Added some missing #includes.
2007-02-20 00:38:49 +00:00
dtrg
08431edbdb
Now uses fd 0 instead of trying to explicitly open /dev/tty.
2007-02-20 00:38:13 +00:00
dtrg
611bc73043
Changed to no longer include /usr/include by default.
2007-02-20 00:36:15 +00:00
dtrg
f9ddb860a9
Fixed some reentrant comments.
2007-02-20 00:35:37 +00:00
dtrg
94a7b315e3
Changed the 'preprocess' rule to use the system C preprocessor.
2007-02-20 00:32:58 +00:00
dtrg
c40a44b52e
Added some missing CVS headers and did a bit of cleaning up.
2007-02-20 00:31:54 +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
df153ba299
Added 8086 PC bootable floppy support (pc86).
2007-02-20 00:25:12 +00:00
dtrg
1c7bb87041
Fixed a bug in the maximum segment calculation.
2006-11-11 23:00:55 +00:00
dtrg
c21ba9ed0f
Updated to work with the new version of pm.
2006-11-11 22:59:52 +00:00
dtrg
02a2876821
Now uses the version of LLgen included with the ACK instead of the standalone version.
2006-11-11 22:59:01 +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
708a83ef22
ack expects the tail_ libraries not to have the .a extension.
2006-07-30 23:45:48 +00:00
dtrg
1e4ca91a8b
Modified to install aal's manpage.
2006-07-30 23:45:35 +00:00
dtrg
606012371e
Added support for the ANSI C language runtime and preprocessor.
2006-07-30 23:45:18 +00:00
dtrg
1efe7422d3
Added rules for building things with the ack itself.
2006-07-30 23:44:57 +00:00
dtrg
9bcefaafa8
Broke dependency on tool_cpp in order to speed up the build.
2006-07-30 23:41:16 +00:00
dtrg
45b4fef7d6
Rationalised use of #includes to be more standards-compliant.
2006-07-30 23:40:35 +00:00
dtrg
d3b557e0db
Adjusted to only check the module name against the leaf of the filename, to prevent unnecessary warnings if the source file isn't in the current directory.
2006-07-30 23:38:41 +00:00
dtrg
67733b9d3c
Added the correct shell script magic. (Some platforms insist on this.)
2006-07-30 23:37:15 +00:00
dtrg
c1725577a7
Worked around a mysterious preprocessor oddness causing some
...
crucial whitespace to be removed.
2006-07-30 23:36:19 +00:00
dtrg
e6f856e795
Updated to the latest version of pm.
2006-07-30 23:33:31 +00:00
dtrg
7826e03427
Added support for the K&R C language runtime.
2006-07-27 22:51:38 +00:00
dtrg
c5acfe7919
Added support for the Modula-2 language runtime.
2006-07-27 22:14:55 +00:00
dtrg
5a8968ae4f
Added support for the Pascal language runtime.
2006-07-27 22:07:38 +00:00
dtrg
f3a9a3bc40
Added support for the Basic and Occam language runtimes.
2006-07-27 21:58:13 +00:00
dtrg
d29b1ef7d0
Added support for the Basic compiler.
2006-07-26 23:08:09 +00:00
dtrg
1caa63775f
Rationalised use of #includes to be more standards-compliant.
2006-07-26 23:06:56 +00:00
dtrg
4c65324e11
Adjusted to allow the path of the Lpars.h file to be given on the
...
command line.
2006-07-26 23:05:52 +00:00
dtrg
e5e66bf27d
Updated to the latest version of pm.
2006-07-26 18:24:16 +00:00
dtrg
2cfb9afac8
Added support for the Occam compiler.
2006-07-26 18:23:32 +00:00
dtrg
30e34f493f
Rationalised use of #includes to be more standards-compliant.
2006-07-26 18:22:02 +00:00
dtrg
4fd0f0dba4
Renamed em.h to occam-em.h to avoid a clash with an ACK module
...
header file.
2006-07-26 18:20:38 +00:00
dtrg
c65c560acd
Tweaked the CVS settings.
2006-07-26 18:19:15 +00:00
dtrg
2d2ee38770
Added support for the Modula-2 compiler.
2006-07-26 17:12:19 +00:00
dtrg
26b17074a1
Rationalised use of #includes to be more standards-compliant.
2006-07-26 17:10:30 +00:00
dtrg
bbd94dc2dc
Changed to no longer build sys_lock() and sys_unlock(); they only work
...
on platforms that support hardlinks, and nobody uses them anyway.
2006-07-26 12:40:59 +00:00
dtrg
3494ffb302
Fixed to use rename() for renaming files, not link()/unlink().
2006-07-26 12:40:25 +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
ec254c30c1
Updated to the latest version of pm.
2006-07-26 12:27:01 +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
6ebe928712
Updated to the latest version of pm.
2006-07-25 09:23:21 +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
babe9eafad
Modified to no longer build unoptimised duplicates of all the standard
...
string functions (strcpy, strlen, etc).
2006-07-23 19:58:27 +00:00
dtrg
ec8788ce7d
Changed to call ranlib on ar archives. (Unnecessary on Linux and *BSD,
...
but needed on OSX and technically correct.)
2006-07-23 19:56:11 +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
dc4606aa21
Really added support for the Pascal compiler.
2006-07-22 21:24:41 +00:00
dtrg
f1386f3aa5
Added support for the Pascal compiler.
2006-07-22 21:03:07 +00:00
dtrg
2dbc112117
Rationalised use of #includes to be more standards-compliant.
2006-07-22 21:01:15 +00:00
dtrg
e6ddd5be27
Changed to export a header file so it can be correctly referred to.
2006-07-22 20:59:22 +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
f8e168adcd
Updated to the latest version of pm.
2006-07-22 12:29:40 +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
78ff773233
First version in CVS.
2006-07-22 00:49:48 +00:00
dtrg
2e48c1b80d
Changed so as to not compile the ACK with optimisation, to improve
...
debuggability.
2006-07-22 00:47:55 +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
03e34d0e2a
Updated to the latest version of pm.
2006-07-21 13:13:47 +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
db0b628497
Removed a definition of 'struct label' as 'label_t', as it clashes with
...
a common Posix extension on BSD systems.
2006-07-21 10:35:34 +00:00
dtrg
685e85002e
Rearranged the algorithm in get_text() to fix a memory overrun.
2006-07-21 09:28:36 +00:00
dtrg
a1ba8c6d3f
Fixed revision history.
2006-07-20 23:24:42 +00:00
dtrg
097c640a6c
First version in CVS.
2006-07-20 23:24:28 +00:00
dtrg
ea8f3fe1ff
Rationalised use of #includes to be more standards-compliant.
2006-07-20 23:17:25 +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
4f1a4b30f7
First version in CVS.
2006-07-20 22:57:46 +00:00
dtrg
e34b2fefba
Updated to point at the ncg code generator instead of the cg one.
2006-07-20 22:37:57 +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
4b79248af9
Modified to no longer build LLgen, as it is now distributed separately.
2006-07-19 14:03:33 +00:00
dtrg
b6757337b3
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-19 10:30:26 +00:00
dtrg
e859ef2491
Rationalised use of #includes to be more standards-compliant.
2006-07-19 10:28:43 +00:00
dtrg
4cb0ab8a63
Rationalised use of #includes to be more standards-compliant.
2006-07-18 18:05:47 +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
87e91b4766
Added comment about the use of 'cc' rather than 'gcc'.
2006-07-18 17:21:34 +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
1eb1cb6f62
Renamed the 'index' variable to 'offset', to prevent clashes with the libc index() function.
2006-07-18 17:00:30 +00:00
dtrg
4f6fff6b1f
Removed unnecessary commas seperating yacc tokens, to prevent warnings.
2006-07-18 16:59:11 +00:00
dtrg
2aca7fbaf4
Renamed the private 'atol()' function to 'our_atol()' to avoid clashes with the libc one.
2006-07-18 16:57:51 +00:00
dtrg
13a9ff3379
Removed unnecessary commas seperating yacc tokens, to prevent warnings.
2006-07-18 16:52:08 +00:00
dtrg
423368e42f
Renamed the 'index()' function to 'indexmode()', to prevent clashes with the libc index() function.
2006-07-18 16:50:22 +00:00
dtrg
45ed0df6d0
Removed a #define that was also defined in cv.c.
2006-07-18 16:48:21 +00:00
dtrg
454bdae81f
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-18 16:45:57 +00:00
cvs2hg
5cb054f106
fixup commit for tag 'llgen-1-0'
2006-02-04 00:57:05 +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
dtrg
4fdd9b83fc
Converted to use termios, not sgtty. (pbetti@e-tech.net)
2005-08-10 22:48:40 +00:00
cjhjacobs
26889d3762
Fix: did not deal with quotes in macro definitions properly
2005-06-30 16:54:15 +00:00
dtrg
e0846f63be
Removed duplicate and inconsistent function declarations.
2005-06-25 15:52:19 +00:00
dtrg
35bd1df1aa
Now includes stdlib.h to avoid implicit call declarations.
2005-06-25 15:50:40 +00:00
dtrg
4ed4d8423f
Added some prototyping to stop a compile error with gcc 4.
2005-06-25 13:49:06 +00:00
cvs2hg
cf1a80ecb6
fixup commit for tag 'release-5-6'
2005-06-24 23:20:42 +00:00
dtrg
e8b47b4745
Added some new readmes at the top level.
2005-06-24 23:20:41 +00:00
dtrg
5c8a5ed523
Added LLgen_NCER.n to the distribution because the makefile seems to want it.
2005-06-24 23:19:55 +00:00
dtrg
754267f0bd
Added new mkdist tool.
2005-06-24 23:19:24 +00:00
dtrg
adb3cc5523
Created new tool to generate distributions.
2005-06-24 22:13:57 +00:00
dtrg
dd400ca720
Removed a call to _cleanup(), which appears to be a Minixism (and should be unnecessary).
2005-06-24 22:12:02 +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
dtrg
9bd955e4f6
Removed Versions, since that file doesn't actually exist.
2005-06-24 21:14:44 +00:00
ceriel
a56d81ea51
new copyright notice in repository
2005-05-26 06:47:43 +00:00
ceriel
b1632b8060
Fix
2003-01-08 09:39:52 +00:00
ceriel
8f69a0ca44
Fix
2002-09-11 13:32:57 +00:00
ceriel
e8fdf4fcda
fix
2002-09-11 13:19:23 +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
daa34d0fe6
minor mods
2002-09-10 13:30:06 +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
df46c5e165
Fix for union initializers
2001-07-03 10:10:56 +00:00
ceriel
910316cfde
Fix: parameter name same as function name not dealt with properly
2001-07-03 08:55:16 +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
384c4bc698
Fixed bug with 4-byte sets on 2-byte machines
1998-09-03 12:51:38 +00:00
ceriel
91cb060d10
Replaced a couple of UnGetChar calls with ChPushBack calls. The
...
UnGetChar call is wrong after skipspaces().
1998-02-09 09:49:00 +00:00
ceriel
d6e0e461f7
Corrected Makefile
1997-09-04 15:49:46 +00:00
ceriel
1840829928
Added LLgen_NCER.n
1997-07-10 07:58:30 +00:00
ceriel
298f8c8b0f
fixed typo
1997-07-10 07:58:19 +00:00
ceriel
495dce5d6c
Added LLgen_NCER.n
1997-07-10 07:55:35 +00:00
ceriel
8a2a3fd74b
Only list readable directories
1997-07-01 12:05:54 +00:00
ceriel
4ec7d8bf7f
Bug fix: copied wrong size to destination in structure returns
1997-07-01 08:33:13 +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
6db931eee6
Link em_data.a as well (needed when producing readable EM
1997-04-01 13:58:58 +00:00
ceriel
2c66222509
Fixed bug: flt_div should not touch e1
1997-03-13 18:38:24 +00:00
ceriel
2382ef1a27
Additions for non-correcting error recovery
1997-02-21 17:22:42 +00:00
ceriel
99ac23b4b4
Additions for non-correcting error recovery
1997-02-21 17:11:04 +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
ae0cde301d
Bug fix: conversion is OK if arg = 0.0
1997-01-27 14:06:51 +00:00
ceriel
9f61a33c9f
troff flag -Tlpr is now changed to -Tlp
1996-12-04 14:03:12 +00:00
ceriel
3b3ec3a2af
Fixed typo in catchsig.s
1996-11-26 15:05:10 +00:00
ceriel
63e0b36b41
renamed _len to _length: conflict with name in minix lib
1996-11-26 15:02:36 +00:00
ceriel
56033dc0c1
Added -n flag
1996-11-21 10:14:26 +00:00
ceriel
ea09125e30
fixed a bug: STD/LDD was generated on odd-numbered reg
1996-11-19 13:28:41 +00:00
ceriel
a44bbb3977
Fixed a couple of minor bugs
1996-11-19 13:27:56 +00:00
ceriel
322c1c1b4c
Some fixes
1996-11-19 09:12:36 +00:00
ceriel
d0587ef3ab
Stupid confusion with fdtox and fxtod
1996-11-18 16:49:54 +00:00
ceriel
150db958da
Fixed typo
1996-10-22 14:34:16 +00:00
ceriel
efacd02ffd
Added LONGCARD as a local extension
1996-08-14 07:42:40 +00:00
ceriel
1592c3638c
Moved TryToString call into ChkAssCompat
1996-06-06 07:47:00 +00:00
ceriel
7f7f5f187f
Fix: compatibility check in RETURN statement
1996-06-06 07:37:02 +00:00
ceriel
740f1d5f75
fix in cmpxchg instruction; i486 book is wrong
1996-04-25 08:38:05 +00:00
ceriel
6ec3dd7ebd
fix in flushbuf: make sure it does not return EOF when it actually succeeds
1996-04-24 13:06:00 +00:00
ceriel
73b54a2326
fixed bug with %[] in doscan.c
1996-04-01 09:08:59 +00:00
ceriel
3895a59e03
Fix to fix in idf.c
1996-02-19 12:19:47 +00:00
ceriel
67cb729554
Fixed bug: crashed when parameter has same name as function
1995-12-20 09:58:56 +00:00
ceriel
d0288b673b
Some improvements
1995-12-19 09:30:48 +00:00
ceriel
7442852cad
Removed unclear test
1995-12-18 11:02:18 +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
e5894e0f5a
removed
1995-12-06 13:28:04 +00:00
ceriel
6576498776
removed MakeVersion
1995-12-06 13:26:54 +00:00
ceriel
d224889b8d
removed Makefile
1995-12-06 13:26:03 +00:00
ceriel
a6ea80436b
removed Makefile, added README
1995-12-06 13:25:23 +00:00
ceriel
0ea8200a57
added file
1995-12-06 13:23:09 +00:00
ceriel
4a5e3f42d3
removed
1995-12-06 13:21:54 +00:00
ceriel
2358a2f5e2
Added pascal compiler report
1995-12-06 13:17:50 +00:00
ceriel
6e2fe89c61
removed
1995-12-06 13:08:44 +00:00
ceriel
583130b79b
deleted
1995-12-06 13:04:25 +00:00
ceriel
550095a5d0
Removed Version.c
1995-12-06 09:52:54 +00:00
ceriel
f7157ca24c
Copied versions of dv[iu].s from ../../m68k2/libem.
1995-12-05 15:38:55 +00:00
ceriel
ddc1751296
A couple of minor changes
1995-12-05 13:51:43 +00:00
ceriel
0a643bb9d0
Improved the pow() function to give more exact results
1995-12-05 12:29:36 +00:00
ceriel
812b6f2158
Fixed obscure bug in setvbuf
1995-12-04 17:11:54 +00:00
ceriel
6d39052c12
Corrected nested function info
1995-12-04 16:42:11 +00:00
ceriel
d4abf57904
Fixed warnings, recognize -gdb
1995-12-04 15:29:42 +00:00
ceriel
a9df108116
Made to work; how did this get into the repository???
1995-12-04 15:20:46 +00:00
ceriel
39011a99c5
Pass -gdb on to M2 compiler
1995-12-04 15:01:07 +00:00
ceriel
c97f79454d
Fixed a bug with local character arrays initialized with a string
1995-11-15 09:42:25 +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
4565576021
Fixed bug with labels
1995-11-07 10:37:59 +00:00
ceriel
0bf45ac757
Get() parameter is optional
1995-11-01 16:54:17 +00:00
ceriel
a8b1f8e347
Header file was included twice
1995-11-01 15:59:33 +00:00
ceriel
29e457c381
Fix by Charles Lindsey
1995-09-25 08:09:55 +00:00
ceriel
71da2cdda9
Fixed some bugs with the setxx instructions
1995-09-12 12:09:08 +00:00
ceriel
8b3437dd24
Fix: setxx instructions should only accept byte registers
1995-09-12 12:08:42 +00:00
ceriel
b766e2beab
Added libassert for when DEBUG is defined
1995-08-18 07:28:47 +00:00
ceriel
71913a9d1d
A68 rules from Charles Lindsey
1995-08-18 07:27:57 +00:00
ceriel
3ad37ef26b
lib --> lib.bin for a68
1995-08-18 07:26:46 +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
4c73887050
use stdarg when compiling with ANSI C compiler
1995-08-17 16:51:09 +00:00
ceriel
7b207deeb7
use stdarg when compiling with ANSI C compiler
1995-08-17 16:43:36 +00:00
ceriel
53eb117563
use stdarg when compiling with ANSI C compiler
1995-08-17 16:34:29 +00:00
ceriel
0dc2d5a625
use stdarg when compiling with ANSI C compiler
1995-08-17 16:14:45 +00:00
ceriel
b7396a7cd4
use stdarg when compiling with ANSI C compiler
1995-08-17 15:20:35 +00:00
ceriel
0509996f7f
use stdarg when compiling with ANSI C compiler
1995-08-17 15:01:56 +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
a96a9107c8
'ed -' is no longer supported on some systems. replaced by 'ed -s'
1995-08-17 12:22:33 +00:00
ceriel
e41c75c1bc
Some minor changes
1995-08-17 10:03:43 +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
65cd309c08
'ed -' is no longer supported by some systems. Use 'ed -s'
1995-08-15 08:43:10 +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
7c086b1710
create modules/h too, for varargs.h
1995-08-14 15:07:53 +00:00
ceriel
c587ca287e
'ed -' is no longer supported by some systems. Use 'ed -s'
1995-08-14 08:08:56 +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
bf6f4f8a6e
Minor mod to Makefile
1995-07-27 07:14:54 +00:00
ceriel
5a6d5d877f
declare errno in cerror.s
1995-07-26 08:55:56 +00:00
ceriel
2624e5d05c
Use _end instead of $_end. $_end does not always indicate the right
...
position. This should be fixed as well, but how?
1995-07-26 08:52:03 +00:00
ceriel
ef30bb3398
Fix by Charles Lindsey: still used reg vars, despite ms_gto
1995-07-26 08:44:35 +00:00
ceriel
41d0c898e5
Fixed typo
1995-07-26 08:43:02 +00:00
ceriel
1bcd59df35
Some changes suggested by Charles Lindsey
1995-07-26 08:42:56 +00:00
ceriel
c9153e6b9b
Set B_busy
1995-07-25 16:49:15 +00:00
ceriel
4978d19bff
Several fixes from Charles Lindsey
1995-07-25 16:43:42 +00:00
ceriel
34b3d1fb52
Fix: produced jgt instead of jg
1995-07-25 13:21:53 +00:00
ceriel
5e03b1bebb
Fixes: some conditionals were evaluated wrong due to the overflow bit
1995-07-21 12:05:26 +00:00
ceriel
3883860106
Added Posix names
1995-06-28 09:46:39 +00:00
ceriel
c833d93d2d
Some fixes
1995-06-12 14:28:36 +00:00
ceriel
a0bd098f98
Fix: got into infinite loop
1995-05-02 12:23:28 +00:00
ceriel
15d2949b88
Fix: opaque types my only be defined in the CORRESPONDING implementation
1995-04-26 13:54:56 +00:00
ceriel
5edfb9eccf
Fix: had a semicolon too much (KJB)
1995-04-18 13:56:20 +00:00
ceriel
fdc0e2efdb
minor improvement
1995-03-29 11:57:27 +00:00
ceriel
34f7036b87
Reordered patterns
1995-03-28 11:22:34 +00:00
ceriel
06b0d3775f
Added some patterns
1995-03-28 10:01:02 +00:00
ceriel
f069cba449
Made arith_sign more portable
1995-03-28 09:10:31 +00:00
ceriel
86cb2d66d7
Fixed: % and / were interchanged
1995-03-27 11:46:47 +00:00
ceriel
d801356f1e
Fixed typo
1995-03-27 11:22:57 +00:00
ceriel
bcb4a75630
free WorkingDir only if including cpp
1995-03-24 13:56:20 +00:00
ceriel
e4fd4fce8e
Fix: C_pt_ps and C_pt_op prototypes only valid when READABLE_EM is defined
1995-03-24 10:27:28 +00:00
ceriel
b71c0ca9a3
Added Amake.srclist
1995-03-21 09:39:29 +00:00
ceriel
32c692d93b
Use TARGETHOME for manual page
1995-03-17 14:11:47 +00:00
ceriel
87d67255d9
Added filter for TARGETHOME, needed for man pages that include an include-file
1995-03-17 14:11:06 +00:00
ceriel
404d86d544
Added -F option to indicate name of floating point hook
1995-03-17 12:37:06 +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
65353b1417
Fix: description of setxx should write arg
1995-02-24 11:53:43 +00:00
ceriel
0ae5288ab7
Fix for membership test with constant LHS
1994-12-20 16:00:57 +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
2b0a61d143
Added more precise info about parameters
1994-12-20 12:40:21 +00:00
cvs2hg
dc2a339e09
fixup commit for tag 'oct-1'
1994-12-06 09:12:22 +00:00