ack/plat/osxppc/libsys
George Koehler 26de4c1ab1 Add test for EM _rck_. Fix traps in PowerPC ncg.
The new test rck_e.e segfaults on PowerPC unless I make some changes.
The inline code for _rck_ was wrong because it didn't allow the trap
handler to return.  _sig_ forgot to push the old trap handler.

Move plat/linuxppc/libsys/trap.s to mach/powerpc/libem/trp.s and
rewrite it with simplified/extended mnemonics.  Remove .trap alias for
.trp procedure.  Add a missing `mtspr lr, r0` so we can return from
the trap handler.  Call write() and _exit() so trp.s works with both
linuxppc and osxppc.  Before, Mac OS X was wrongly using the trap.s
for Linux.

In powerpc/libem, simplify .aar4; teach .csa and .csb to raise the
trap if the default target is zero.

C programs don't need these changes.  You may relink your C programs
with the changed .csa and .csb, but C code doesn't raise the trap.
Modula-2 code can raise traps, so you may want to relink your Modula-2
programs with the changed libem, but you might keep your old .o files
from Modula-2.  You may need to recompile your Pascal programs (delete
old .o files from Pascal) because the Pascal compiler might use _rck_.
2017-12-24 22:37:52 -05:00
..
_exit.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
build.lua Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
close.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
fstat.s Add getdirentries() and stat() for Mac OS X. 2016-11-28 14:32:49 -05:00
getdirentries.s Add getdirentries() and stat() for Mac OS X. 2016-11-28 14:32:49 -05:00
getpid.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
gettimeofday.s Make working gettimeofday() for Mac OS X. 2016-11-23 13:25:55 -05:00
ioctl.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
kill.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
lseek.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
lstat.s Add getdirentries() and stat() for Mac OS X. 2016-11-28 14:32:49 -05:00
mmap.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
mprotect.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
open.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
read.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
set_errno.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
sigaction.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00
stat.s Add getdirentries() and stat() for Mac OS X. 2016-11-28 14:32:49 -05:00
write.s Commit a preview of osx386 and osxppc as new platforms. 2016-10-02 14:58:05 -04:00