Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates vlm for more recent gcc and libcrypt #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

kirstin-rhys
Copy link

  1. configure checks for the presences of libcrypt.so by testing for the existence of encrypt(), but encrypt() no longer has a default .so version. However, only life-support/unixcrypt.c depends on <crypt.h> and rather than calling encrypt(), it calls crypt() which does have a default .so version. Changing this allows configure to discover the presence of libcrypt.so
  2. Newer versions of gcc require pointer-typed values for computed goto. This casts the u64 pointer values to void* for the goto instructions for the C implementations of jmp and ret which are e.g. goto *r0 calls into goto *((void*) r0) calls

On newer versions of libcrypt, `encrypt` does not have default version
name so the configure check fails. However, the only place we import
<crpyt.h> (life-support/unixcrypt.c) calls `crypt()` not `encrypt()`
and crypt does have a default version. This updates the configure.ac file to
check for the function we actually need
…ration

Newer versions of gcc require pointer typed values for computed
goto. This casts the u64 pointer values to void* for the goto
instructions.
@ams
Copy link

ams commented Jan 22, 2024

Maybe off-topic for the issue; but I'd recommend sun-setting any work on OG in favor of the MIT / LM-3 CADR (http://tumbleweed.nu/lm-3/). Both do more or less the same, and the CADR has no software hoarders hounding it, on top of that the whole System can be recompiled and bootstrapped. For the MIT CADR there is also a entirely unencumbered MACSYMA, CAD (NewDRAW) and bunch of other fun stuff.

@ams
Copy link

ams commented Jan 25, 2024

Might also add that this will not make the OG2.0 world image work on modern systems due to changes in XLIB and other nonsense. I have notes if someone wants them. This version of VLM also contains numerous bugs in the FP and other parts ... also fixed many years ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants