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

AngelScript stack misaligned causes SIGSEGV on SSE-optimized libraries #15

Open
erolm-a opened this issue May 26, 2020 · 0 comments
Open

Comments

@erolm-a
Copy link

erolm-a commented May 26, 2020

Hi there,

It seems AngelScript causes some issues in modern Linux distributions (e.g. Arch Linux) that optimize some libraries like Mesa and libogg. However, as AngelScript misaligns the stack (the __stdcall attribute on GCC and Clang is usually ignored) when a SSE instruction is executed and a memory operand is not 16 byte aligned, a CPU exception occurs.

To fix this, you just need to recompile AngelScript with the "AS_MAX_PORTABILITY" macro turned on.

Somebody on the forum compiled such library with the flag turned on, see https://www.frictionalgames.com/forum/thread-56758.html . Could you please update your dependency zip?

A bit of foreword: your Steam builds for ALL penumbra games are broken for this reason on a number of target machines (Arch Linux, Ubuntu, Fedora, ... any distro that enables optimizations on final package builds). Apparently GOG builds too. I could only complete Overture with my build. I tried to reach out to you in many ways, but so far received no reply from any dev. We, Penumbra players who paid this title on steam, need some assistance. I understand the game is fairly old and this repo has not been updated for 6 years despite there are some pending PRs out there that should at least be discussed. Especially when they are so simple.

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

No branches or pull requests

1 participant