David Given
53c9731036
aal doesn't build the ranlib table if you don't set -DAAL.
2016-08-20 14:04:46 +02:00
David Given
f561b94b49
Print hex numbers actually properly this time.
2016-08-20 14:02:12 +02:00
David Given
7b8d9e2d0e
Fix compiler warnings and 64bitisms.
2016-08-14 23:01:12 +02:00
David Given
a42939df50
LED builds now.
2016-08-14 14:40:01 +02:00
David Given
4d24666432
Move util/data into modules/src/em_data, for consistency with the other
...
modules.
2016-08-14 14:09:38 +02:00
David Given
262c5fedcf
Biggish refactor to break cycles; my build rules were full of them. cpm builds,
...
which requires top and topgen.
2016-08-14 01:39:40 +02:00
David Given
0d77cb8279
We can build our first C file.
2016-08-07 21:56:53 +02:00
David Given
5e84be70fd
Massive ackbuilder refactor --- cleaner and more expressive. Lists
...
are automatically flattened (leading to better build files), and the
list and filename functions are vastly more orthogonal.
2016-08-04 23:51:19 +02:00
David Given
b2bb4ce3b2
Builds libend (the simplest library). Becoming obvious I need to rework the way
...
ackbuilder deals with lists.
2016-07-30 00:39:22 +02:00
David Given
363d13cc2f
C preprocessor; tabgen; now the pc86 boot.s builds using the ack
...
toolchain.
2016-07-29 00:22:49 +02:00
David Given
f9c77fca03
Replace the hacky cflags variable with an equally hacky but vastly
...
more useful magic vars variable.
2016-07-27 00:10:15 +02:00
David Given
cdeea836f2
Replaced the fairly complex environment code with a much simpler
...
emitter object.
2016-07-26 23:43:31 +02:00
David Given
a8a9d1bbfa
yacc, ncgg; platform ncg builds now.
2016-07-26 23:35:30 +02:00
David Given
bff5c4019c
Baby steps towards building a platform --- make the assembler work.
...
Add ackbuilder support for C preprocessor files and yacc.
2016-07-24 00:50:02 +02:00
David Given
2770a83837
More programs, more libraries. src/modules build files are now saner.
2016-07-23 00:30:31 +02:00
David Given
1fdc69fb97
cemcom.ansi now builds.
2016-07-19 23:43:14 +02:00
David Given
2d2497c318
ackbuilder rules files now require absolute paths in external variables
...
(otherwise commands which change directory don't work).
2016-07-18 23:16:27 +02:00
David Given
bcf3408e36
More stuff builds; almost the C compiler now.
2016-07-14 23:54:13 +02:00
David Given
d805052205
All the amisc binaries now build.
2016-06-19 09:32:45 +02:00
David Given
2af8568cc3
First draft at installables; not very satisfactory. make bugs with multiple
...
output targets and parallelism?
2016-06-16 05:26:44 +02:00
David Given
09554cb324
installable works, although it's a bit kludgy. Change the : separator to +
...
because : is special in make and non of the others I could think of would work.
2016-06-14 07:34:14 +02:00
David Given
605651776e
We can build a real program now!
2016-06-12 20:59:43 +02:00
David Given
88bd7ce126
Remove defunct pmfiles.
...
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given
ef8e6e25e0
Fix a whole pile of issues related to the failed attempt to increase
...
the number of types of relocation possible in the object file. (Now,
hopefully, working.)
Also change the object serialiser/deserialiser to never try to read or
write raw structures; it's way safer this way and we don't need the
performance boost any more.
--HG--
branch : default-branch
2016-03-18 21:46:55 +01:00
David Given
fd7e9f9046
Fix an insidious 64-bitness bug which was causing incorrectly optimised code.
...
--HG--
branch : default-branch
2016-03-17 22:30:24 +01:00
David Given
7e964dd25e
Raise the limit on ack.out relocation types by making the size of a
...
relocation structure bigger. Bump ack.out magic number.
--HG--
branch : default-branch
2016-03-14 21:08:55 +01:00
David Given
ff0c78cc78
Merge from default.
...
--HG--
branch : dtrg-videocore-branch-branch
2016-03-13 21:13:09 +01:00
David Given
44b5d01525
Merge.
...
--HG--
rename : util/ncgg/build.mk => util/cgg/build.mk
2015-03-23 00:14:10 +01:00
David Given
b146d2641c
Fix a slightly mysterious dependency issue.
2015-03-23 00:09:41 +01:00
David Given
98ea849d03
Improve flex correctness.
2015-03-23 00:09:27 +01:00
David Given
9f23fbbe6a
Allow machines to use cg if they wish.
...
--HG--
rename : mach/proto/ncg/build.mk => mach/proto/cg/build.mk
rename : util/ncgg/build.mk => util/cgg/build.mk
2015-03-23 00:08:51 +01:00
David Given
3d5e72e20b
Newer versions of GNU Make have a new function which collides with a
...
variable we're using; change the name of the variable.
2015-03-22 12:09:46 +01:00
David Given
2271bcd0a7
Fixed a parallel build race condition (forgot to declare a dependency to
...
the makefile).
2014-11-09 18:47:51 +01:00
David Given
6a340ea1bd
Remove regrettable comment.
2014-08-31 13:40:39 +02:00
David Given
d3e3e72860
Update from trunk.
...
--HG--
branch : dtrg-videocore
2013-05-29 15:03:48 +01:00
David Given
6fff2d45fe
Attempt to fix 64-bitness error in ashow. Deprecate the structure format macros in h/out.h because they make no sense on 64-bit platforms.
2013-05-29 14:48:51 +01:00
David Given
5e9102955c
Reworked VC4 relocations and some of the instruction encoding to be actually correct. Now generating what could be real code!
...
--HG--
branch : dtrg-videocore
2013-05-21 23:17:30 +01:00
David Given
c18a82ec40
Apply build system fixes for OpenBSD contributed by George Koehler.
2013-05-18 12:15:53 +01:00
David Given
5378e3fe53
Add special relocation type for VC4 jump instructions.
...
--HG--
branch : dtrg-videocore
2013-05-17 22:40:50 +01:00
David Given
11377070fd
Update distribution files.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
aaa3f14a79
Fix build error in opt which was causing all code, everywhere, to be broken.
...
Remember to build opt2 too.
--HG--
branch : dtrg-buildsystem
2013-05-15 22:09:28 +01:00
David Given
e9233b4712
Build ego.
...
--HG--
branch : dtrg-buildsystem
rename : util/arch/build.mk => util/ego/build.mk
2013-05-15 21:14:06 +01:00
David Given
d5f0107746
Build the Basic run-time library (after some modernisation).
...
--HG--
branch : dtrg-buildsystem
2013-05-14 16:11:29 +01:00
David Given
07453d184a
Top, topgen, aelflod. Moved the libraries back into the platform-specific
...
directories --- wrangling descr files was too hard. C programs can be built
for cpm, pc86, linux386, linux68k!
--HG--
branch : dtrg-buildsystem
rename : util/ack/build.mk => util/led/build.mk
rename : util/LLgen/build.mk => util/topgen/build.mk
2013-05-13 23:26:15 +01:00
David Given
81778b603f
Merge updates from trunk.
...
--HG--
branch : dtrg-buildsystem
2013-05-13 12:37:27 +01:00
David Given
b0c238eb5d
Made a start on building the runtimes for each platform and language; the
...
Linuxes all build.
--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk
2013-05-12 23:51:55 +01:00
David Given
c1aca7dae5
First milestone of replacing the build system.
...
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
David Given
d89f172841
Change fatal() and error() to use varargs.
2013-05-10 12:04:21 +01:00
David Given
d91a1dc1a6
Merge changes from branch: linux68k platform, linuxppc platform (partially
...
working), and miscellaneous changes to support these.
2013-05-09 18:14:16 +01:00
David Given
b9b808e01a
Apply George Koehler's aelflod fix for generating non-EM_386 binaries.
...
Adjust platforms to use it. Fix some bugs in the linux386 platform.
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 15:54:23 +01:00
David Given
99d7f513f2
Properly error out if something goes wrong rather than ploughing ahead
...
anyway.
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 11:20:36 +01:00
David Given
c93cb69959
Check in incomplete Linux PowerPC and M68K work.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00
George Koehler
c8fdcff960
Some fixes for aelflod and aslod.
...
Copy rhead() and rsect() from aslod to aelflod, so aelflod can work
for machine with 64-bit long.
In aelflod, fix ELF header so file(1) no longer reports "corrupted
section header size".
2013-04-24 19:57:23 -04:00
George Koehler
0fc7fd5d33
Prevent segfault when trying to print an error message.
...
Use <stdarg.h> to pass arguments correctly, as ack/util/util.c
already uses <stdarg.h> the same way.
2012-10-24 13:44:50 -04:00
David Given
4349d702fa
Change from using platform-specific types to stdint platform-independent types
...
when reading the structure header.
2012-09-27 11:32:40 +01:00
George Koehler
7ef9b79c11
Merge deletion of many undead files.
2012-09-23 15:31:16 -04:00
George Koehler
e7c79415b5
Prevent division by zero in aslod.
...
rhead() and rsect() had assumed sizeof(long) == 4, but OpenBSD/amd64
has sizeof(long) == 8. The problem revealed itself when sect->os_lign
became zero, and align() divided by zero.
2012-09-21 22:51:12 -04:00
George Koehler
0131ca4d46
Delete 689 undead files.
...
These files "magically reappeared" after the conversion from CVS to
Mercurial. The old CVS repository deleted these files but did not
record *when* it deleted these files. The conversion resurrected these
files because they have no history of deletion. These files were
probably deleted before year 1995. The CVS repository begins to record
deletions around 1995.
These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted. There is no way to fix
this, because the CVS repository provides no dates of deletion.
See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
George Koehler
96ea0a5903
Fix more functions in util/ack for 64-bit hosts.
...
This continues the fix from changeset aabde0589450. We must use
va_list to forward the arguments, because some of the arguments might
be 64-bit pointers. A pointer does not fit in an int.
2012-09-07 16:28:10 -04:00
David Given
6ea172d0d9
Fix a 64-bitness issue (removed some untyped K&R C code that assumed ints
...
and pointers were the same size).
2012-02-27 22:36:36 +00:00
Ceriel Jacobs
1072a8797e
Added atol() that ignores overflow, so that unsigned long constants are dealt with properly
2011-06-15 11:13:48 +02:00
Ceriel Jacobs
2483e5723d
Fixed CFU
2011-06-15 10:56:58 +02:00
cjhjacobs
58613009f8
Fixed bug reported on tack-devel mailing list on 20-3-2011
2011-05-18 19:19:19 +02:00
David Given
b6dfaefeff
Removed file that the CVS conversion procedure left in (when it shouldn't have).
2011-03-20 20:47:10 +00:00
dtrg
c326f3c6a3
Remove references to using-machine-name-for-compiler, as we don't do that any more.
2010-08-09 22:47:33 +00:00
dtrg
5a872eed38
Prevent build failure on modern Bisons (which are more picky than the old yacc this was written for).
2010-08-01 10:36:01 +00:00
dtrg
ee72886e54
Renamed 'switch' variable to avoid conflict with a keyword in modern awks.
2010-08-01 10:35:04 +00:00
dtrg
2c54f8c742
Renamed getline() to getln() to avoid conflict with glibc's version.
2010-08-01 10:34:27 +00:00
dtrg
494d9a3e4a
Now runs descr files through the ANSI C preprocessor, rather than the K&R one (which no longer exists).
2007-04-29 21:23:55 +00:00
dtrg
24ea8aee3d
Updated for the 6.0pre2 release.
2007-04-24 20:45:58 +00:00
dtrg
f6085fb234
Updated use of headers to compile cleanly.
2007-04-24 19:33:53 +00:00
dtrg
ae9ac25f45
Modified to run ncgg input files through the ANSI preprocessor rather than the K&R one.
2007-04-23 23:40:59 +00:00
dtrg
f471d2e618
Added the aelflod tool for generating ELF executables. Added documentation for aelflod and ashow. Now installs the documentation when built.
2007-04-23 23:40:10 +00:00
dtrg
6a0dd9377d
Removed a dynamically generated file from the distribution.
2007-02-25 22:49:22 +00:00
dtrg
040151dd76
Removed some explicit (and wrong) redeclarations of system
...
functions.
2007-02-25 20:58:16 +00:00
dtrg
b611731ec3
Updated .distr files for the new release.
2007-02-25 12:51:55 +00:00
dtrg
6d58210806
em_table is now in /h, not /etc.
2007-02-25 12:51:21 +00:00
dtrg
0f16e7540d
new_table is now in /util/data, not /etc.
2007-02-25 12:49:04 +00:00
dtrg
903796a817
Now installs the man page.
2007-02-25 12:48:06 +00:00
dtrg
0974fa0e28
Remove non-standard .SB tags.
2007-02-25 12:47:50 +00:00
dtrg
26a9b76507
Added pregenerated versions of the LLgen source files (to ease
...
bootstrapping issues).
2007-02-24 02:01:57 +00:00
dtrg
478d0b1d8a
Fixed a compilation error that was causing opt to not have its
...
peephole optimisation tables, which would make it generate
duff code.
2007-02-20 00:27:01 +00:00
dtrg
1c7bb87041
Fixed a bug in the maximum segment calculation.
2006-11-11 23:00:55 +00:00
dtrg
30b980bf7e
Added a pmfile to allow LLgen to be built as part of the ACK again.
2006-11-11 22:58:30 +00:00
dtrg
c0ecde554a
Added support for anm, asize, ashow, astrip and the new aslod tool.
2006-10-16 23:25:56 +00:00
dtrg
47e1c27c05
Added new aslod tool for making memory dumps.
2006-10-16 23:25:27 +00:00
dtrg
12683dd8c6
Sanitised the use of #include files to more properly conform to the standards.
2006-10-16 23:20:11 +00:00
dtrg
dbe10d2c19
Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
2006-10-15 00:28:12 +00:00
dtrg
1e4ca91a8b
Modified to install aal's manpage.
2006-07-30 23:45:35 +00:00
dtrg
45b4fef7d6
Rationalised use of #includes to be more standards-compliant.
2006-07-30 23:40:35 +00:00
dtrg
30e34f493f
Rationalised use of #includes to be more standards-compliant.
2006-07-26 18:22:02 +00:00
dtrg
8558656665
Now avoids piping shell scripts into a new instance of sh, instead
...
using a subshell.
2006-07-26 12:29:47 +00:00
dtrg
dc5d08b2a3
Modified to include the appropriate header file rather than (badly)
...
prototyping syscalls itself.
2006-07-26 12:28:56 +00:00
dtrg
3435e8d6ed
Modified to not try to unlink directories when installing.
2006-07-25 23:29:12 +00:00
dtrg
b3b2ec567f
Updated version number.
2006-07-25 23:24:39 +00:00
dtrg
7068d0d301
Modified to use rename() instead of link()/unlink() to rename files.
2006-07-25 23:24:20 +00:00
dtrg
f756747414
Updated to the latest version of pm which installs files with symlinks.
2006-07-25 23:22:58 +00:00
dtrg
b24e1f5aae
Updated to the latest version of pm.
2006-07-25 13:28:35 +00:00
dtrg
1799cb0706
Added a workaround for an OSX compiler bug.
2006-07-23 20:33:26 +00:00
dtrg
f39d595f98
Updated to the latest version of pm.
2006-07-23 20:07:19 +00:00
dtrg
014be56fb0
Replaced calls to the custom strindex() and strrindex() functions with the
...
exactly equivalent and standard strchr() and strrchr() functions instead.
2006-07-23 20:01:02 +00:00
dtrg
05d3be79cd
Removed a really unpleasant test for whether a pointer points at a string
...
constant or not by comparing it with 'end', which presumably points at
the top of the BSS. In fact, on Linux it evaluates to NULL, and on OSX it
doesn't exist at all, so it appears to be unnecessary.
2006-07-23 19:38:13 +00:00
dtrg
345f4c8978
Modified to avoid creating a zero-length iargs array, which some compilers
...
(OSX) do not create a symbol for.
2006-07-23 18:29:38 +00:00
dtrg
eed5d461e4
cpp now gets installed in the right place.
2006-07-23 17:52:23 +00:00
dtrg
7af0c5696d
cpp now gets installed in the right place.
2006-07-22 20:58:27 +00:00
dtrg
558a1ef405
led now gets installed into the right place.
2006-07-22 20:52:44 +00:00
dtrg
8499270aef
Added support for the esize object inspection tool.
2006-07-22 20:10:41 +00:00
dtrg
aa2dab31cf
Rationalised use of #includes to be more standards-compliant.
2006-07-22 20:08:08 +00:00
dtrg
113383e31c
Added support for the led link editor.
2006-07-22 20:04:41 +00:00
dtrg
f232b4dc29
Rationalised use of #includes to be more standards-compliant.
2006-07-22 17:58:49 +00:00
dtrg
304c0e21a0
Added support for the top target peephole optimiser.
2006-07-22 12:31:19 +00:00
dtrg
fdcdaadcb8
Rationalised use of #includes to be more standards-compliant.
2006-07-22 12:28:20 +00:00
dtrg
744d0ca7be
Removed a huge, ancient comment dating from the genmake days.
2006-07-22 12:27:31 +00:00
dtrg
1a037b9685
Added support for the ego global optimisation suite.
2006-07-22 00:52:01 +00:00
dtrg
f371b251d2
Rationalised use of #includes to be more standards-compliant.
2006-07-22 00:46:16 +00:00
dtrg
d220081198
Changed to declare symbols as extern rather than just mentioning
...
them without qualification.
2006-07-22 00:45:51 +00:00
dtrg
86e20aa483
Added a concrete definition of nrglobals, because this was not always happening
...
otherwise.
2006-07-22 00:44:52 +00:00
dtrg
3afd3e4cb4
Updated version number.
2006-07-21 11:25:05 +00:00
dtrg
c0c8695ea4
Now resolves symlinks when creating releases (which avoids including a symlink to pm in the distribution, and not pm itself).
2006-07-21 11:24:46 +00:00
dtrg
154b23cd39
Updated version number. Corrected some typos.
2006-07-21 11:19:42 +00:00
dtrg
34ae7c4634
Removed duplicate (and incorrect) system function declarations.
2006-07-21 11:17:18 +00:00
dtrg
70218cfeed
Updated to the latest version of pm.
2006-07-21 11:15:14 +00:00
dtrg
685e85002e
Rearranged the algorithm in get_text() to fix a memory overrun.
2006-07-21 09:28:36 +00:00
dtrg
097c640a6c
First version in CVS.
2006-07-20 23:24:28 +00:00
dtrg
22db34a460
Fixed revision history.
2006-07-20 23:10:07 +00:00
dtrg
cf461cd82f
First version in CVS.
2006-07-20 23:04:28 +00:00
dtrg
35f2f8b043
Rationalised use of #includes to be more standards-compliant.
2006-07-20 23:04:15 +00:00
dtrg
cf4417431f
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-20 23:02:37 +00:00
dtrg
6717b9e700
Changed configuration to now use malloc()/free() rather than sbrk().
2006-07-20 22:59:25 +00:00
dtrg
db11db0cac
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-19 14:09:25 +00:00
dtrg
6073ee934e
Rationalised use of #includes to be more standards-compliant.
2006-07-19 14:09:05 +00:00
dtrg
57084134e5
Modified to no longer build LLgen, as it is now distributed seperately.
2006-07-18 17:34:30 +00:00
dtrg
d722986e66
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-18 17:20:46 +00:00
dtrg
1ed24cab9b
No longer generates zero bytes in the script's output file.
2006-07-18 17:20:05 +00:00
dtrg
9ca41cf4b6
Worked around unput() not being strictly legal in the tail code section of a yacc input file.
2006-07-18 17:19:20 +00:00
dtrg
cd09c29949
Rationalised use of #includes to be more standards-compliant.
2006-07-18 17:18:42 +00:00
dtrg
f5bbc20093
Removed unnecessary commas seperating yacc tokens, to prevent warnings.
2006-07-18 17:17:14 +00:00
dtrg
4c0a0e6119
Rationalised use of #includes to be more standards-compliant.
2006-07-18 17:10:29 +00:00
dtrg
8ea67498ed
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-18 17:10:18 +00:00
dtrg
e864bf235e
Split LLgen off to be self-contained, and not necessarily part of the ACK. Replaced its build system with one based on pm. Rewrote the README. Updated the license text to match the overriding license common to all the ACK.
2006-02-04 00:57:04 +00:00
dtrg
953a565a10
Moved LLgen documentation from the main ACK documentation directory into LLgen's own documentation directory.
2006-02-04 00:43:32 +00:00
dtrg
dd57d79b1b
Modernised usage of system header files.
2006-02-04 00:37:19 +00:00
dtrg
71a92846dd
Modernised usage of system header files.
2006-02-03 22:23:37 +00:00
dtrg
c39e85da63
Modernised usage of system header files. Changed the patch buffer (which allowed the library path to be modified with a hex editor) to an environment variable instead.
2006-02-03 22:23:11 +00:00
dtrg
4c0b3bb40f
Modernised usage of system header files.
2006-01-24 22:29:19 +00:00
cjhjacobs
26889d3762
Fix: did not deal with quotes in macro definitions properly
2005-06-30 16:54:15 +00:00
dtrg
4ed4d8423f
Added some prototyping to stop a compile error with gcc 4.
2005-06-25 13:49:06 +00:00
dtrg
f2046954e6
Cleaned up the struct sgtty workaround and made it more generic.
2005-06-24 22:11:27 +00:00
dtrg
779fe568fc
Removed an assumption that 'stdin' is a constant, which it's not on Linux. (You can't use it as an initialiser when declaring a global variable.)
2005-06-24 22:10:24 +00:00
dtrg
9bc8c07deb
Replaced references to /usr/tmp with references to /tmp.
2005-06-24 22:08:47 +00:00