Skip to content

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

@erolm-a

Description

@erolm-a

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions