David Given
fe3951d4ae
Warning fix.
2018-06-23 11:14:49 +02:00
David Given
fac0764621
Don't crash and burn if there are no tests to run.
2018-06-23 11:14:40 +02:00
David Given
5fd8d772fd
Move the string-to-float functions into core, after marking them as
...
ACKCONF_WANT_FLOAT.
2018-06-23 11:14:24 +02:00
David Given
94ffa3ba88
libc floating point and stdio floating point can now be turned on and off using
...
ACKCONF variables.
2018-06-23 00:04:14 +02:00
David Given
9bf1d548fc
Rearrange the libc config files, ready for adding new options.
2018-06-22 23:43:15 +02:00
David Given
b21c099a57
Get the em libc working again: remove the modula-2 termcap library, as it's a
...
straight copy of the libc one and having two symbols defined at once gets ass
upset.
2018-06-22 23:17:14 +02:00
David Given
035c9558e8
Merge from default.
2018-06-22 22:43:02 +02:00
David Given
4cf3188fd1
Merge pull request #105 from davidgiven/dtrg-ass
...
Prevent ass crashing on error on 64-bit machines.
2018-06-22 22:42:11 +02:00
David Given
a0c6fea32c
Replace fake-varargs, which doesn't work on 64-bit machines, with real varargs.
2018-06-22 22:29:52 +02:00
David Given
c5fd338300
Replace fake-varargs, which doesn't work on 64-bit machines, with real varargs.
2018-06-22 22:29:52 +02:00
David Given
c0276416d8
Move some more libc functions into core.
2018-06-22 22:20:02 +02:00
David Given
d1cdb07719
Realise that the libc core can safely call other libc core functions, even if
...
they're not defined in the core: so putw() can call stdio stuff, for example.
So the earlier concept of pureness isn't necessary. Rename accordingly.
2018-06-21 23:24:23 +02:00
David Given
62025c92bd
The ctype functions are pure.
2018-06-21 23:06:29 +02:00
David Given
d9d7ffe0d7
The maths library is pure.
2018-06-21 23:00:33 +02:00
David Given
f9c059812b
Moved the setjmp functions into the new pure directoy.
2018-06-21 22:55:42 +02:00
David Given
32f47b1d24
Move the pure locale functions into the new pure directory.
2018-06-21 22:54:25 +02:00
David Given
b9d2f353d9
Move the pure stdlib functions into the new pure directory.
2018-06-21 22:52:31 +02:00
David Given
4dbdb7d8d5
Rethink the libc layout.
2018-06-21 22:47:02 +02:00
David Given
83e1b2ad94
Move the str and mem functions into the new src/core.
2018-06-21 22:39:08 +02:00
David Given
93f39e4bbf
Run libcc.ansi through clang-format.
2018-06-21 22:33:47 +02:00
David Given
60b7d8de6e
Merge pull request #96 from kernigh/kernigh-emu-1
...
Fixes to build emulators, ass, int on OpenBSD
2018-06-20 22:30:01 +02:00
David Given
9eff7102e9
Merge pull request #103 from davidgiven/dtrg-warnings
...
Fix a lot of warnings.
2018-06-18 22:31:35 +02:00
David Given
698613cd7d
Turns out that the compiler needs access to the libpc headers too; refactor
...
into a separate target to avoid build loops and make it work.
2018-06-18 22:17:38 +02:00
David Given
11854f4dfe
Ansify and warning fix.
2018-06-17 22:30:27 +02:00
David Given
5784f5fabe
Run C files through clang-format.
2018-06-17 16:11:29 +02:00
David Given
9ede428e3c
Use cproto to extract all the prototypes.
2018-06-17 16:10:57 +02:00
David Given
9947e7ac63
Added a pc.h to contain libpc prototypes; some ansification.
2018-06-17 15:54:18 +02:00
David Given
d1671fc2e3
Move the private Pascal headers into libpc where they belong.
2018-06-17 15:44:33 +02:00
David Given
13e195d19f
Warning fixes.
2018-06-17 15:42:26 +02:00
David Given
ce249649b2
Warning fix.
2018-06-17 15:34:29 +02:00
David Given
ddca7276c0
Merge pull request #102 from davidgiven/dtrg-powerpc
...
Add a PowerPC simulator for running the tests.
2018-06-17 11:45:26 +02:00
David Given
89e8956bb2
Fix edge case in rlwnm when the mask is 32 bits wide. All tests now pass.
2018-06-17 11:00:01 +02:00
David Given
7ec9f54679
Turns out that andi and andis only have . forms. Fixed; another test passes.
2018-06-17 10:43:39 +02:00
David Given
78eaf836be
Turns out I was returning values from syscalls in the wrong register; fixed.
...
More tests pass.
2018-06-17 10:22:20 +02:00
David Given
ab660a44e9
Lots of floating point, bugfixes, and system calls. Most of the tests pass now.
2018-06-17 09:24:01 +02:00
David Given
67efbb5f7f
Do a bit of floating point stuff; added brk(); fixed a horrible bug where
...
stores with 16-bit displacements were storing the register number and not the
contents of the register.
2018-06-16 22:55:23 +02:00
David Given
5d7cdd2c67
Fix a setcr0 bug which was trashing the condition register; some system
...
calls are now implemented. A few tests more-or-less pass (but crash on
exit).
2018-06-16 08:35:36 +02:00
David Given
39a49265ce
Merge pull request #100 from kernigh/kernigh-pdp
...
Two fixes for ack -mpdpv7
2018-06-15 15:40:24 +09:00
George Koehler
5db312a1c0
Prevent crash in isatty()
...
The existing code allocated 2 bytes (char*), but gtty() needs 6 bytes
(struct sgttyb), so isatty() smashed the stack and corrupted its
return address, probably causing SIGBUS or SIGSEGV.
Fix by switching to TIOCGETD, which needs 2 bytes. TIOCGETD isn't in
the manual for tty(4), but does appear in
https://minnie.tuhs.org//cgi-bin/utree.pl?file=V7/usr/sys/dev/tty.c
This fixes hilo_c.pdpv7 and hilo_mod.pdpv7 in simh-pdp11.
2018-06-15 00:48:29 -04:00
George Koehler
5de5611c24
Use 2-byte alignment in pdpv7 to prevent SIGBUS.
...
Change the alignment in C structs (wa, pa, sa, and so on) from 1 to 2
bytes. This prevents the SIGBUS when PDP-11 Unix V7 catches the
misalignment. This fixes hilo_p.pdpv7 in simh-pdp11.
Change ALIGN to document that sections have 2-byte alignment. This
change should have no effect, because the sections only contain 2-byte
values.
2018-06-15 00:17:12 -04:00
David Given
5111556d14
Got the emulator to the point where we're hitting the first major emulation bug
...
(the calloc test hangs).
2018-06-14 05:53:39 -07:00
David Given
853af4c4dd
Some code runs (up to needing setcr0).
2018-06-14 04:41:21 -07:00
David Given
b71145f79d
Implement a non-functional skeleton of the PowerPC emulator (with, hopefully,
...
most of the instruction decode done).
2018-06-14 03:07:36 -07:00
David Given
c9e5190a12
Merge pull request #99 from davidgiven/dtrg-ass
...
Bodge together a buildable em22 plat for use with int.
2018-06-14 10:08:17 +09:00
David Given
519eef933c
Merge from trunk.
2018-06-13 21:47:25 +09:00
David Given
31c2ba3f94
File cleanup.
2018-06-13 21:47:08 +09:00
David Given
7eaa235fd1
Bodge the ancient em monitor library into building as a libsys for the em22
...
plat. It's completely untested, but it builds and makes e.out executables.
2018-06-13 21:44:25 +09:00
David Given
13a7abdd69
Rename a function to avoid a clash with an em system call.
2018-06-13 21:34:14 +09:00
David Given
670c7ce96f
After finding the em_table documentation, move it somewhere where other people
...
can find it.
2018-06-13 20:58:44 +09:00
David Given
15161ebb35
Remember to always link the libsys and libend.
2018-06-13 20:57:31 +09:00