| Title | MMQA relies on deprecated API mps_tramp |
| Status | closed |
| Priority | nice |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | Most of the MMQA test cases call easy_tramp, which calls the deprecated function mps_tramp (and has various other obsolete features such as a test against MMQA_PROD_epcore and some SEH (Structured Exception Handling) code on Windows. It would be better not to call through a trampoline, since the manual tells client programs not to do so, and we would like the option to remove mps_tramp at some point. |
| Analysis | easy_tramp also installs the MMQA assertion handler, so whatever we replace it with will have to do that too. Note also that job004149 (marker not being at a cold enough address on the stack) is a common problem on all platforms, so it would be nice to handle this at the same time. Perhaps easy_tramp should pass a stack pointer to the callee. |
| How found | inspection |
| Evidence | None |
| Created by | Gareth Rees |
| Created on | 2019-01-09 14:26:15 |
| Last modified by | Gareth Rees |
| Last modified on | 2019-01-09 16:17:17 |
| History | 2019-01-09 GDR Created. |
| Change | Effect | Date | User | Description |
|---|---|---|---|---|
| 195917 | closed | 2019-01-09 16:17:17 | Gareth Rees | Avoid using deprecated function mps_tramp. Use mps_root_create_thread in preference to mps_root_create_reg. New test harness run_test passes pointer to cold end of stack, since this is needed by many tests. |