ack.git
8 years agoPascal runtime library now builds.
David Given [Sat, 13 Aug 2016 11:07:19 +0000 (13:07 +0200)]
Pascal runtime library now builds.

8 years agoPascal compiler builds.
David Given [Sat, 13 Aug 2016 11:03:06 +0000 (13:03 +0200)]
Pascal compiler builds.

8 years agoModula-2 runtime library now builds.
David Given [Sat, 13 Aug 2016 10:43:44 +0000 (12:43 +0200)]
Modula-2 runtime library now builds.

8 years agoFixed a small bug where two line number directives next to each other wouldn't
David Given [Sat, 13 Aug 2016 10:21:16 +0000 (12:21 +0200)]
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).

8 years agoThe Modula-2 compiler now builds.
David Given [Fri, 12 Aug 2016 22:02:21 +0000 (00:02 +0200)]
The Modula-2 compiler now builds.

8 years agoThe Basic runtime builds now.
David Given [Thu, 11 Aug 2016 22:24:40 +0000 (00:24 +0200)]
The Basic runtime builds now.

8 years agoThe Basic compiler works now.
David Given [Thu, 11 Aug 2016 22:19:51 +0000 (00:19 +0200)]
The Basic compiler works now.

8 years agoreplace() gets confused if you give it a singleton list as its parameter.
David Given [Thu, 11 Aug 2016 22:19:30 +0000 (00:19 +0200)]
replace() gets confused if you give it a singleton list as its parameter.

8 years agoReplaced the funky and hard-to-compile ACK malloc with a much smaller
David Given [Wed, 10 Aug 2016 22:30:32 +0000 (00:30 +0200)]
Replaced the funky and hard-to-compile ACK malloc with a much smaller
and simpler one stolen from K&R. libc builds now.

8 years agoMost of libc builds now (missing malloc).
David Given [Mon, 8 Aug 2016 21:55:47 +0000 (23:55 +0200)]
Most of libc builds now (missing malloc).

8 years agoTarget lists can now have keyed items ({["foo"] = "+target"); this is
David Given [Mon, 8 Aug 2016 21:55:23 +0000 (23:55 +0200)]
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.

8 years agoWe can build our first C file.
David Given [Sun, 7 Aug 2016 19:56:53 +0000 (21:56 +0200)]
We can build our first C file.

8 years agoAdd check for undefined variables. Find undefined variables. Fix undefined
David Given [Thu, 4 Aug 2016 22:01:55 +0000 (00:01 +0200)]
Add check for undefined variables. Find undefined variables. Fix undefined
variables.

8 years agoMassive ackbuilder refactor --- cleaner and more expressive. Lists
David Given [Thu, 4 Aug 2016 21:51:19 +0000 (23:51 +0200)]
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.

8 years agoBuilds libend (the simplest library). Becoming obvious I need to rework the way
David Given [Fri, 29 Jul 2016 22:39:22 +0000 (00:39 +0200)]
Builds libend (the simplest library). Becoming obvious I need to rework the way
ackbuilder deals with lists.

8 years agoC preprocessor; tabgen; now the pc86 boot.s builds using the ack
David Given [Thu, 28 Jul 2016 22:22:49 +0000 (00:22 +0200)]
C preprocessor; tabgen; now the pc86 boot.s builds using the ack
toolchain.

8 years agoFix a nasty dependency bug where filenamesof() on installables wouldn't
David Given [Thu, 28 Jul 2016 22:22:22 +0000 (00:22 +0200)]
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).

8 years agoReplace the hacky cflags variable with an equally hacky but vastly
David Given [Tue, 26 Jul 2016 22:10:15 +0000 (00:10 +0200)]
Replace the hacky cflags variable with an equally hacky but vastly
more useful magic vars variable.

8 years agoReplaced the fairly complex environment code with a much simpler
David Given [Tue, 26 Jul 2016 21:43:31 +0000 (23:43 +0200)]
Replaced the fairly complex environment code with a much simpler
emitter object.

8 years agoyacc, ncgg; platform ncg builds now.
David Given [Tue, 26 Jul 2016 21:35:30 +0000 (23:35 +0200)]
yacc, ncgg; platform ncg builds now.

8 years agoBaby steps towards building a platform --- make the assembler work.
David Given [Sat, 23 Jul 2016 22:50:02 +0000 (00:50 +0200)]
Baby steps towards building a platform --- make the assembler work.
Add ackbuilder support for C preprocessor files and yacc.

8 years agoMore programs, more libraries. src/modules build files are now saner.
David Given [Fri, 22 Jul 2016 22:30:31 +0000 (00:30 +0200)]
More programs, more libraries. src/modules build files are now saner.

8 years agocemcom.ansi now builds.
David Given [Tue, 19 Jul 2016 21:43:14 +0000 (23:43 +0200)]
cemcom.ansi now builds.

8 years agoSaner clibrary dependency and header handling.
David Given [Tue, 19 Jul 2016 21:42:56 +0000 (23:42 +0200)]
Saner clibrary dependency and header handling.

8 years agoError out if a template expansion returns nil (as it's normally an error).
David Given [Tue, 19 Jul 2016 21:42:42 +0000 (23:42 +0200)]
Error out if a template expansion returns nil (as it's normally an error).

8 years agoackbuilder rules files now require absolute paths in external variables
David Given [Mon, 18 Jul 2016 21:16:27 +0000 (23:16 +0200)]
ackbuilder rules files now require absolute paths in external variables
(otherwise commands which change directory don't work).

8 years agoBuilt a make bootstrap that runs either make or ninja depending on which is
David Given [Sat, 16 Jul 2016 12:58:29 +0000 (14:58 +0200)]
Built a make bootstrap that runs either make or ninja depending on which is
installed.

8 years agoMore stuff builds; almost the C compiler now.
David Given [Thu, 14 Jul 2016 21:54:13 +0000 (23:54 +0200)]
More stuff builds; almost the C compiler now.

8 years agoconcat, targetnamesof. deps is now handled more consistently (treated the same
David Given [Thu, 14 Jul 2016 21:53:34 +0000 (23:53 +0200)]
concat, targetnamesof. deps is now handled more consistently (treated the same
as ins but not passed in as inputs).

8 years agoAllow headers which aren't .h files.
David Given [Thu, 30 Jun 2016 11:27:47 +0000 (13:27 +0200)]
Allow headers which aren't .h files.

8 years agoMake work with make.
David Given [Thu, 30 Jun 2016 11:19:10 +0000 (13:19 +0200)]
Make work with make.

8 years agoBetter cwd handling.
David Given [Wed, 29 Jun 2016 11:58:38 +0000 (13:58 +0200)]
Better cwd handling.

8 years agoclibrary can now export headers.
David Given [Wed, 29 Jun 2016 11:28:45 +0000 (13:28 +0200)]
clibrary can now export headers.

8 years agoLocal rules; include() and replace().
David Given [Wed, 29 Jun 2016 11:28:22 +0000 (13:28 +0200)]
Local rules; include() and replace().

8 years agoAll the amisc binaries now build.
David Given [Sun, 19 Jun 2016 07:32:45 +0000 (09:32 +0200)]
All the amisc binaries now build.

8 years agoAdd ninja support. It works so much better than make.
David Given [Sun, 19 Jun 2016 06:55:02 +0000 (08:55 +0200)]
Add ninja support. It works so much better than make.

8 years agoFirst draft at installables; not very satisfactory. make bugs with multiple
David Given [Thu, 16 Jun 2016 03:26:44 +0000 (05:26 +0200)]
First draft at installables; not very satisfactory. make bugs with multiple
output targets and parallelism?

8 years agoinstallable works, although it's a bit kludgy. Change the : separator to +
David Given [Tue, 14 Jun 2016 05:34:14 +0000 (07:34 +0200)]
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.

8 years agoWe can build a real program now!
David Given [Sun, 12 Jun 2016 18:59:43 +0000 (20:59 +0200)]
We can build a real program now!

8 years agoAdd hgignore file.
David Given [Sun, 12 Jun 2016 18:59:16 +0000 (20:59 +0200)]
Add hgignore file.

8 years agocprogram works.
David Given [Thu, 9 Jun 2016 05:14:41 +0000 (07:14 +0200)]
cprogram works.

8 years agoMultiple build files work. Use deps intelligently. clibraries.
David Given [Thu, 9 Jun 2016 04:55:44 +0000 (06:55 +0200)]
Multiple build files work. Use deps intelligently. clibraries.

8 years agoRather cleaner cfile implementation where you just give it a .c and a pile of .h...
David Given [Wed, 8 Jun 2016 01:21:53 +0000 (03:21 +0200)]
Rather cleaner cfile implementation where you just give it a .c and a pile of .h files.

8 years agocfile with dynamically generated headers sort of works.
David Given [Tue, 7 Jun 2016 03:00:26 +0000 (05:00 +0200)]
cfile with dynamically generated headers sort of works.

8 years agoMultioutput rules work!
David Given [Tue, 7 Jun 2016 02:20:08 +0000 (04:20 +0200)]
Multioutput rules work!

8 years agoLeaf rules work!
David Given [Tue, 7 Jun 2016 02:13:56 +0000 (04:13 +0200)]
Leaf rules work!

8 years agoDependent rules work!
David Given [Mon, 6 Jun 2016 22:10:22 +0000 (00:10 +0200)]
Dependent rules work!

8 years agoMost of simplerule now looks like it's working.
David Given [Mon, 6 Jun 2016 20:13:30 +0000 (22:13 +0200)]
Most of simplerule now looks like it's working.

8 years agoSkeleton of the rule engine and type system.
David Given [Mon, 6 Jun 2016 18:50:48 +0000 (20:50 +0200)]
Skeleton of the rule engine and type system.

8 years agoReally basic skeleton of Ackbuilder mark 2.
David Given [Mon, 6 Jun 2016 15:18:19 +0000 (17:18 +0200)]
Really basic skeleton of Ackbuilder mark 2.

8 years agoArchival non-working checkin of the experimental build tool.
David Given [Sun, 5 Jun 2016 08:39:29 +0000 (10:39 +0200)]
Archival non-working checkin of the experimental build tool.

8 years agohgtags shouldn't be checked in.
David Given [Sat, 4 Jun 2016 16:16:52 +0000 (18:16 +0200)]
hgtags shouldn't be checked in.

8 years agoBranching bug fix.
David Given [Sat, 4 Jun 2016 10:57:25 +0000 (12:57 +0200)]
Branching bug fix.

--HG--
branch : default-branch

8 years agoAdded tag release-5-6 for changeset 976d56ed63bd
David Given [Sat, 4 Jun 2016 10:56:00 +0000 (12:56 +0200)]
Added tag release-5-6 for changeset 976d56ed63bd

--HG--
branch : default-branch

8 years agoAdded tag release-6-0-pre-1 for changeset 3d69c08001d4
David Given [Sat, 4 Jun 2016 10:55:42 +0000 (12:55 +0200)]
Added tag release-6-0-pre-1 for changeset 3d69c08001d4

--HG--
branch : default-branch

8 years agoAdded tag release-6-0-pre-3 for changeset dd12ef08179d
David Given [Sat, 4 Jun 2016 10:55:36 +0000 (12:55 +0200)]
Added tag release-6-0-pre-3 for changeset dd12ef08179d

--HG--
branch : default-branch

8 years agoAdded tag release-6-0-pre-4 for changeset 42d4fcc3a87c
David Given [Sat, 4 Jun 2016 10:55:27 +0000 (12:55 +0200)]
Added tag release-6-0-pre-4 for changeset 42d4fcc3a87c

--HG--
branch : default-branch

8 years agoAdded tag release-6-0-pre-5 for changeset 0708542a3c39
David Given [Sat, 4 Jun 2016 10:53:57 +0000 (12:53 +0200)]
Added tag release-6-0-pre-5 for changeset 0708542a3c39

--HG--
branch : default-branch

8 years agoRemove defunct pmfiles.
David Given [Fri, 3 Jun 2016 11:56:50 +0000 (13:56 +0200)]
Remove defunct pmfiles.

--HG--
branch : default-branch

8 years agoThe archiver is called aal now. release-6-0-pre-5
David Given [Thu, 2 Jun 2016 10:35:38 +0000 (12:35 +0200)]
The archiver is called aal now.

--HG--
branch : default-branch

8 years agoAdd missing (but probably non-working) rpi file.
David Given [Thu, 2 Jun 2016 10:21:13 +0000 (12:21 +0200)]
Add missing (but probably non-working) rpi file.

--HG--
branch : default-branch

8 years agoHas it really been three years since the last release?
David Given [Thu, 2 Jun 2016 10:07:31 +0000 (12:07 +0200)]
Has it really been three years since the last release?

--HG--
branch : default-branch

8 years agoDon't strip binaries so we retain debugging information.
David Given [Thu, 2 Jun 2016 10:06:54 +0000 (12:06 +0200)]
Don't strip binaries so we retain debugging information.

--HG--
branch : default-branch

8 years agoFix a whole pile of issues related to the failed attempt to increase
David Given [Fri, 18 Mar 2016 20:46:55 +0000 (21:46 +0100)]
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

8 years agoFix an insidious 64-bitness bug which was causing incorrectly optimised code.
David Given [Thu, 17 Mar 2016 21:30:24 +0000 (22:30 +0100)]
Fix an insidious 64-bitness bug which was causing incorrectly optimised code.

--HG--
branch : default-branch

8 years agoFix checkin into wrong hg branch.
David Given [Thu, 17 Mar 2016 19:53:45 +0000 (20:53 +0100)]
Fix checkin into wrong hg branch.

--HG--
branch : default-branch

8 years agoFix use-after-free.
David Given [Thu, 17 Mar 2016 19:52:27 +0000 (20:52 +0100)]
Fix use-after-free.

8 years agoInstall directory now defaults to INSDIR, for ease of use during development.
David Given [Thu, 17 Mar 2016 19:52:15 +0000 (20:52 +0100)]
Install directory now defaults to INSDIR, for ease of use during development.

8 years agoRaise the limit on ack.out relocation types by making the size of a
David Given [Mon, 14 Mar 2016 20:08:55 +0000 (21:08 +0100)]
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

8 years agoDon't use the ACK preprocessor on host files --- use the host preprocessor
David Given [Mon, 14 Mar 2016 19:58:19 +0000 (20:58 +0100)]
Don't use the ACK preprocessor on host files --- use the host preprocessor
instead.

--HG--
branch : default-branch

8 years agoFix stray 'call file'.
David Given [Sun, 13 Mar 2016 20:40:05 +0000 (21:40 +0100)]
Fix stray 'call file'.

--HG--
branch : default-branch

8 years agoMerge in VideoCore IV code generator.
David Given [Sun, 13 Mar 2016 20:39:05 +0000 (21:39 +0100)]
Merge in VideoCore IV code generator.

--HG--
branch : default-branch

8 years agoMerge from default. dtrg-videocore
David Given [Sun, 13 Mar 2016 20:13:09 +0000 (21:13 +0100)]
Merge from default.

--HG--
branch : dtrg-videocore-branch-branch

9 years agoThe ACK needs ed? Also, Ubuntu doesn't *have* ed?
David Given [Fri, 19 Jun 2015 20:14:09 +0000 (22:14 +0200)]
The ACK needs ed? Also, Ubuntu doesn't *have* ed?

--HG--
branch : default-branch

9 years agoAdd Travis config file.
David Given [Fri, 19 Jun 2015 20:07:16 +0000 (22:07 +0200)]
Add Travis config file.

--HG--
branch : default-branch

9 years agoRename branch.
David Given [Thu, 18 Jun 2015 21:39:25 +0000 (23:39 +0200)]
Rename branch.

--HG--
branch : dtrg-videocore-branch-branch

9 years agoRename branch.
David Given [Thu, 18 Jun 2015 21:39:25 +0000 (23:39 +0200)]
Rename branch.

--HG--
branch : default-branch

9 years agoRename branch.
David Given [Thu, 18 Jun 2015 21:38:50 +0000 (23:38 +0200)]
Rename branch.

--HG--
branch : dtrg-videocore-branch

9 years agoMerge.
David Given [Sun, 22 Mar 2015 23:15:42 +0000 (00:15 +0100)]
Merge.

--HG--
branch : dtrg-videocore

9 years agoMerge.
David Given [Sun, 22 Mar 2015 23:14:10 +0000 (00:14 +0100)]
Merge.

--HG--
rename : util/ncgg/build.mk => util/cgg/build.mk

9 years agoFix a slightly mysterious dependency issue.
David Given [Sun, 22 Mar 2015 23:09:41 +0000 (00:09 +0100)]
Fix a slightly mysterious dependency issue.

9 years agoImprove flex correctness.
David Given [Sun, 22 Mar 2015 23:09:27 +0000 (00:09 +0100)]
Improve flex correctness.

9 years agoAllow machines to use cg if they wish.
David Given [Sun, 22 Mar 2015 23:08:51 +0000 (00:08 +0100)]
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

9 years ago64-bit-ify (adhoc varargs are evil).
David Given [Sun, 22 Mar 2015 23:07:59 +0000 (00:07 +0100)]
64-bit-ify (adhoc varargs are evil).

9 years agoNewer versions of GNU Make have a new function which collides with a
David Given [Sun, 22 Mar 2015 11:09:46 +0000 (12:09 +0100)]
Newer versions of GNU Make have a new function which collides with a
variable we're using; change the name of the variable.

9 years agoFixed a parallel build race condition (forgot to declare a dependency to
David Given [Sun, 9 Nov 2014 17:47:51 +0000 (18:47 +0100)]
Fixed a parallel build race condition (forgot to declare a dependency to
the makefile).

10 years agoRemove regrettable comment.
David Given [Sun, 31 Aug 2014 11:40:39 +0000 (13:40 +0200)]
Remove regrettable comment.

11 years agoAdd (largely untested) float/int conversion.
David Given [Mon, 1 Jul 2013 12:05:36 +0000 (13:05 +0100)]
Add (largely untested) float/int conversion.

--HG--
branch : dtrg-videocore

11 years agoFix incorrect offset encoding in lea (sp) instructions.
David Given [Fri, 28 Jun 2013 23:35:07 +0000 (00:35 +0100)]
Fix incorrect offset encoding in lea (sp) instructions.

--HG--
branch : dtrg-videocore

11 years agoFix incorrect encoding of 'push lr' and 'pop pc'.
David Given [Fri, 28 Jun 2013 23:32:39 +0000 (00:32 +0100)]
Fix incorrect encoding of 'push lr' and 'pop pc'.

--HG--
branch : dtrg-videocore

11 years agoISA change: clz has been renamed to log2.
David Given [Thu, 27 Jun 2013 10:25:50 +0000 (11:25 +0100)]
ISA change: clz has been renamed to log2.

--HG--
branch : dtrg-videocore

11 years agoFix jump range checking in the addcmpb family of instructions.
David Given [Wed, 26 Jun 2013 22:32:54 +0000 (23:32 +0100)]
Fix jump range checking in the addcmpb family of instructions.

--HG--
branch : dtrg-videocore

11 years agoAdd routine to set the Raspberry Pi clock to 250MHz (loads faster than the default...
David Given [Mon, 24 Jun 2013 22:57:27 +0000 (23:57 +0100)]
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

11 years agoUpdated distr files.
David Given [Fri, 21 Jun 2013 22:38:21 +0000 (23:38 +0100)]
Updated distr files.

--HG--
branch : dtrg-videocore
rename : mach/i80/.distr => mach/vc4/.distr
rename : plat/cpm/.distr => plat/rpi/.distr

11 years agoUpdated VC4 docs.
David Given [Fri, 21 Jun 2013 22:21:08 +0000 (23:21 +0100)]
Updated VC4 docs.

--HG--
branch : dtrg-videocore

11 years agoShip assembler man pages.
David Given [Fri, 21 Jun 2013 22:20:50 +0000 (23:20 +0100)]
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

11 years agoAdd a stub malloc.h.
David Given [Wed, 19 Jun 2013 23:15:14 +0000 (00:15 +0100)]
Add a stub malloc.h.

--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/headers/stdlib.h => lang/cem/libcc.ansi/headers/malloc.h

11 years agoActually remember to set the stack pointer on startup. Reduce to stack from 16kB...
David Given [Wed, 19 Jun 2013 23:14:55 +0000 (00:14 +0100)]
Actually remember to set the stack pointer on startup. Reduce to stack from 16kB to a much more reasonable 1kB.

--HG--
branch : dtrg-videocore

11 years agoImplement a very crude busy-wait based select() mechanism for consol input.
David Given [Sun, 9 Jun 2013 21:16:30 +0000 (22:16 +0100)]
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

11 years agoFix stack corruption when adjusting SP. Be a bit more rigorous about clearing the...
David Given [Fri, 7 Jun 2013 20:25:38 +0000 (21:25 +0100)]
Fix stack corruption when adjusting SP. Be a bit more rigorous about clearing the pseudostack on branch/labels.

--HG--
branch : dtrg-videocore