David Given
0e10329876
Fix an issue throughout where B couldn't be built by ackprogram due to symbol
...
laziness.
2016-12-29 17:11:53 +00:00
David Given
4485d89b23
Hook the B compiler up to the compiler driver.
2016-11-27 20:48:07 +01:00
David Given
5bce5fc4da
Change the extension used by Basic files for .b to .bas, to avoid conflicts
...
with B.
2016-11-27 20:38:33 +01:00
David Given
a9a0b37b14
Plats which use aelflod need to depend on it.
2016-11-26 12:07:08 +01:00
David Given
cf33bd6cc4
Enable tests for linuxppc via qemu-ppc.
2016-11-26 11:56:17 +01:00
David Given
36ab90385f
Change sbrk() to take an int rather than an intptr_t (following the OpenBSD way
...
rather than the Linux way; various non-C bits of the ACK assume it takes an
int, so it's cleaner).
2016-11-23 22:06:24 +01:00
David Given
48e74f46fc
Add the very experimental qemuppc plat, intended to generate minimal images
...
which can be emulated using qemu (for, hopefully, a test suite). Currently it
generates images which won't run because there's no RAM.
2016-11-12 19:20:58 +01:00
David Given
8c3670483f
Get top working with the PowerPC; use it to eliminate useless branches and
...
moves.
2016-10-29 23:37:11 +02:00
David Given
a8c4dac67c
Merge from default (merging in George Koehler's PowerPC changes).
2016-10-29 22:40:40 +02:00
David Given
5f0164db62
Bolt mcg into the PowerPC backend. It doesn't build yet, but it is generating
...
*some* code.
2016-10-17 00:06:06 +02:00
George Koehler
ce5faba919
Remove .linenumber and .filename; use hol0 and hol0+4.
...
We need this because some .e files in lang/ are using 'loe 0' and 'lae
4' to load the line number from hol0 and filename from hol0+4.
2016-09-30 13:40:36 -04:00
George Koehler
b427d33f9f
Define the begdata, begrom, begbss symbols for linuxppc.
...
I copied the definitions from linux386 and linux68k.
This change also moves _errno and the other common symbols in boot.s
from .text to .bss. Common symbols belong in .bss, but the assembler
seems dumb enough to put them in any section.
2016-09-30 13:21:42 -04:00
George Koehler
865ef629dd
Multiple tweaks to plat/linuxppc/descr
...
Don't define __POWERPC. I don't know any other compiler that defines
__POWERPC and don't want to invent a new macro. Apple's gcc 4.0.1
from Xcode 2.5 defines __ppc__, _ARCH_PPC, __POWERPC__. Debian's gcc
4.9.2-10 defines _ARCH_PPC, __PPC__, __powerpc__, __PPC, __powerpc,
PPC, powerpc.
Move the base vm address from 0x80000000 down to 0x10000000, as this
is where Debian loads /bin/true. This is still higher than the base
addresses for linux386 and linux68k.
Sync led's arguments with linux386.
2016-09-21 16:26:30 -04:00
George Koehler
5b69777647
Rename our pseudo-opcode 'la' to 'li32'.
...
GNU as has "la %r4,8(%r3)" as an alias for "addi %r4,%r3,8", meaning
to load the address of the thing at 8(%r3). Our 'la', now 'li32',
makes an addis/ori pair to load an immediate 32-bit value. For
example, "li32 r4,23456789" loads a big number.
2016-09-18 17:03:23 -04:00
David Given
80cb6ba927
Eliminate the RELOH2 relocation, as it never worked --- the address would be
...
calculated incorrectly because of overflow errors.
Replace it with an extended RELOPPC relocation which understands addis/ori
pairs; add an la pseudoop to the assembler which generates these and the
appropriate relocation. Make good.
--HG--
branch : dtrg-experimental-powerpc-branch
2016-09-17 12:43:15 +02:00
David Given
45a950571d
Mostly add support for the experimental and largely broken linuxppc platform.
...
(Doesn't quite build.)
--HG--
branch : dtrg-experimental-powerpc-branch
2016-09-15 23:12:03 +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
88bd7ce126
Remove defunct pmfiles.
...
--HG--
branch : default-branch
2016-06-03 13:56:50 +02: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
11377070fd
Update distribution files.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +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
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
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
c93cb69959
Check in incomplete Linux PowerPC and M68K work.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00