Skip to content

Feature/hijack blas#236

Closed
realbabilu wants to merge 2 commits into
MystranSolver:mainfrom
realbabilu:feature/hijack-blas
Closed

Feature/hijack blas#236
realbabilu wants to merge 2 commits into
MystranSolver:mainfrom
realbabilu:feature/hijack-blas

Conversation

@realbabilu
Copy link
Copy Markdown

#Hijack BLAS

A. Layer 1 — MYSTRAN's own validation (wrapper, already proposed)
fortran! MYSTRAN_XERBLA.f90
Called explicitly from MYSTRAN source code
source with CALL MYSTRANXERBLA(...).
B. Layer 2 — Intercept OpenBLAS internal errors (weak symbol override)
Provide a separate xerbla that the static BLAS linker picks up only if the BLAS archive does not already provide one — using a Fortran or C weak symbol:
c/* xerblaoverride.c
Compiled into mystran.exe as a WEAK symbol.
If libopenblas.a provides its own xerbla (strong), that wins.
If it does not, this catches OpenBLAS internal errors.
Either way — no linker conflict because this is WEAK.
The attribute((weak)) is the key — a weak symbol loses to any strong symbol from the archive. So:
libopenblas.a has xerbla (strong) → OpenBLAS wins, no conflict
libopenblas.a has NO xerbla → weak symbol catches it

@realbabilu realbabilu closed this May 31, 2026
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.

1 participant