1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-25 08:12:11 -07:00
Commit graph

35 commits

Author SHA1 Message Date
Ken Brown
b57067e8a0 Support the Cygwin build of MPS
* mps/code/prmccyi6.c:
* mps/code/cyi6gc.gmk: New files, for the Cygwin build.

* mps/code/config.h:
* mps/code/lockix.c:
* mps/code/prmcix.c:
* mps/code/protix.c:
* mps/code/protsgix.c:
* mps/code/pthrdext.c:
* mps/code/testthr.h:
* mps/code/thix.c:
* mps/code/vmix.c: Port to Cygwin.

* mps/configure.ac (x86_64-*-cygwin*/no): Add definitions for
Cygwin.

* mps/code/mps.c [MPS_PF_CYI6GC]:
* mps/code/mpstd.h: Define 64-bit Cygwin stuff.

* mps/code/gcbench.c: [MPS_OS_CY]:
* mps/code/djbench.c [MPS_OS_CY]: Include alloca.h.

* mps/code/arenacv.c (TEST_ARENA_SIZE) [MPS_OS_CY]: Increase to
make test pass.  (Bug#74805)

* mps/code/arenavm.c (VMArenaCreate): Avoid compiler warning.
2025-10-08 10:33:45 -04:00
Richard Brooksby
0460bcf671 Minor documentation improvements in response to review <https://github.com/ravenbrook/mps/pull/179#pullrequestreview-1354912126>. 2023-03-23 15:44:06 +00:00
Bruce Mitchener
892063a954 Correct file name references.
The checks that these files are being used on the right platform
contain the wrong file names.
2023-02-27 10:19:55 +07:00
Gareth Rees
65065bc8c4 Save and restore errno in signal handlers.
Ensure there are assertions on the results of all the libc functions
in protsgix.c and pthrdext.c.
2020-09-02 19:59:23 +01:00
Gareth Rees
f47c389a52 Fix indentation of second clause of license. 2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda Use https: instead of http: when linking to the ravenbrook web site. 2020-08-30 10:13:03 +01:00
Gareth Rees
c13b7610d3 Set sa_restart flag when calling sigaction().
This ensures that if a mutator thread is blocked in a system call when
the MPS handles a signal, the system call will not fail with EINTR but
instead will be restarted.

Add a test case for the thread suspend and resume signals.
2020-08-30 09:23:35 +01:00
Peter Jackson
4de2606846 Publish licence updates in code directory.
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.

Copied from Perforce
 Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
4eda4e85c7 Use tags with dots; regularize design references from code.
Copied from Perforce
 Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
2b0fec987d Clean up function definitions: no need for "extern"; opening brace goes on new line.
Copied from Perforce
 Change: 194654
2018-07-15 19:05:39 +01:00
Gareth Rees
7b754520fd Consistent order to prologue: include "mpm.h"; platform check; include other mps headers; include system headers; srcid.
Copied from Perforce
 Change: 194107
2018-06-23 11:31:57 +01:00
Gareth Rees
2b4ae16b87 Add discriminator to mutatorcontextstruct and implement mutatorcontextinitfault and mutatorcontextinitthread on posix/linux.
Copied from Perforce
 Change: 192577
 ServerID: perforce.ravenbrook.com
2016-10-14 12:39:50 +01:00
Gareth Rees
bcfbaaf3e4 Initialization and checking of mutatorcontext data structures.
New files prmcix.c and prmcxc.c avoid duplicated code.

Copied from Perforce
 Change: 192562
 ServerID: perforce.ravenbrook.com
2016-10-13 23:13:40 +01:00
Gareth Rees
91551170b1 Remove return statements that have no effect.
Copied from Perforce
 Change: 192529
 ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
5c31ca3cab Rename the "protection mutator context" module to "mutator context" (this module handles mutator context decoding for both the protection module and the thread module).
Rename functions Prot{Can,}StepInstruction to MutatorContext{Can,}StepInstruction so that they follow the naming convention in guide.implc.naming.prefix.program.
Move mutator context declarations out of prot.h into new header prmc.h.
Correct .assume.null in a couple of places -- it's not safe for MutatorContextStepInstruction to return ResUNIMPL, instead MutatorContextCanStepInstruction should return FALSE.

Copied from Perforce
 Change: 192528
 ServerID: perforce.ravenbrook.com
2016-10-13 15:06:14 +01:00
Gareth Rees
c35e544d73 Rename mutatorfaultcontext to mutatorcontext because this data structure is not only used to store the context of a fault, but also to store the context of a thread that has been suspended.
Copied from Perforce
 Change: 192523
 ServerID: perforce.ravenbrook.com
2016-10-13 14:23:39 +01:00
Gareth Rees
08bd2f3474 New preprocessor constants config_pthreadext_sigsuspend and config_pthreadext_sigresume for configuring the signals used to suspend and resume threads.
Copied from Perforce
 Change: 192122
 ServerID: perforce.ravenbrook.com
2016-09-04 13:55:39 +01:00
Gareth Rees
bcea6812fc Improve control over checking:
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).

Copied from Perforce
 Change: 185263
 ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
Richard Brooksby
641995b424 Fixing minor linux build error left over from dl's debugging.
Copied from Perforce
 Change: 182884
 ServerID: perforce.ravenbrook.com
2013-07-01 20:51:21 +01:00
David Lovemore
ec2f430557 Switched mac os x threading to use thix.c and pthreadext.c.
Also switched to using platform specific Mutator Context code
so that we can read out the registers for instruction emulation
and stack scanning.
Builds on 64-bit but doesn't work because sem_init is unimplemented on
Mac OS X.
Not finished on 32-bit.

Copied from Perforce
 Change: 182791
 ServerID: perforce.ravenbrook.com
2013-06-18 16:29:31 +01:00
Gareth Rees
61743c36b4 On platform lii6gc, the mps needs a bunch of symbols which are not defined if the -ansi option is given to gcc. these can be enabled by defining features like _gnu_source, but all headers share a common set of features (via <feature.h>) and so all sources in the same compilation unit must turn on the same set of features. make sure this happens by turning on the features in config.h (not mpstd.h).
Remove <string.h> from mpsi.h (not needed).

Copied from Perforce
 Change: 182124
 ServerID: perforce.ravenbrook.com
2013-05-23 19:35:47 +01:00
Richard Brooksby
4f60f9698c Merging spelling corrections contributed by bruce mitchener.
See <1c80ccb634>.

Copied from Perforce
 Change: 180956
 ServerID: perforce.ravenbrook.com
2013-02-18 15:46:39 +00:00
David Lovemore
7b4a2d88e2 Update the linux threading implementation, this means using the new posix style pthreads, which is much closer to the bsd implementation. prmcfr.h and prmcli.h have now been replaced by prmcix.h. this doesn't quite compile yet.
Copied from Perforce
 Change: 178790
 ServerID: perforce.ravenbrook.com
2012-07-31 14:43:34 +01:00
David Jones
341abc7ded Mps: fixing linux builds. recent linuxes are more careful with their open-sesame magic.
Copied from Perforce
 Change: 161907
 ServerID: perforce.ravenbrook.com
2007-03-09 12:31:34 +00:00
Richard Brooksby
f22e14e334 Eliminating "impl" type tags and replacing them with uri-style file references.
Copied from Perforce
 Change: 29900
 ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
0a95c05521 Updating cross references to design documents to html style, to go with master/design document tree.
Copied from Perforce
 Change: 29897
 ServerID: perforce.ravenbrook.com
2002-06-07 16:47:14 +01:00
Richard Brooksby
5afb4899ef Adding forward reference to licenses from copyright notices.
Adding licenses to a couple of files I missed.

Copied from Perforce
 Change: 29837
 ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
819ed0ed76 Adding licenses to source code files.
Copied from Perforce
 Change: 29836
 ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Richard Brooksby
c2b33bb9b5 Removing hopenames from the master sources.
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.

Copied from Perforce
 Change: 24911
 ServerID: perforce.ravenbrook.com
2001-12-07 13:19:25 +00:00
Richard Brooksby
d0ccf8fa9a Adding hopenames back into the master sources, so that they can be included in the union sources along with the id keywords.
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.

Copied from Perforce
 Change: 24877
 ServerID: perforce.ravenbrook.com
2001-12-06 18:14:02 +00:00
Richard Brooksby
c84f2a8553 Updating copyright messages to say copyright 2001 ravenbrook throughout.
Adding some missing copyright messages.

Copied from Perforce
 Change: 24818
 ServerID: perforce.ravenbrook.com
2001-12-05 16:18:43 +00:00
Richard Brooksby
e0a5828027 Changing hopename keywords to id keywords throughout, to work with perforce.
Copied from Perforce
 Change: 24817
 ServerID: perforce.ravenbrook.com
2001-12-05 16:05:52 +00:00
Richard Brooksby
68e0b8253f Merging changes from union to masters. this incorporates pekka's updates: tuning and a type in amcsshe.c and some adding some missing checks in arenavm.c. it also brings our cope of their hopenames up to date.
Copied from Perforce
 Change: 24815
 ServerID: perforce.ravenbrook.com
2001-12-05 15:48:24 +00:00
Nick Barnes
4be3e43fe9 Freebsd support.
Copied from Perforce
 Change: 23681
 ServerID: perforce.ravenbrook.com
2001-10-31 15:01:00 +00:00
Nick Barnes
88e5e63275 Branch imports for masters.
Copied from Perforce
 Change: 23678
 ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00
Renamed from mps/src/pthrdext.c (Browse further)