Skip to content

[lldb][LoongArch] Fix expression function call failure #136563

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

Conversation

wangleiat
Copy link
Contributor

After upgrading the default code model from small to medium on
LoongArch, function calls using expression may fail. This is because the
function call instruction has changed from bl to pcalau18i + jirl,
but RuntimeDyld does not handle out-of-range jumps for this
instruction sequence.

This patch fixes: #136561

Created using spr 1.3.5-bogner
@wangleiat wangleiat requested review from SixWeining and lhames April 21, 2025 12:07
Created using spr 1.3.5-bogner
Copy link
Contributor

@SixWeining SixWeining left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wangleiat wangleiat merged commit 91edbe2 into main Apr 23, 2025
11 checks passed
@wangleiat wangleiat deleted the users/wangleiat/spr/lldbloongarch-fix-expression-function-call-failure branch April 23, 2025 08:15
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request May 6, 2025
After upgrading the default code model from small to medium on
LoongArch, function calls using expression may fail. This is because the
function call instruction has changed from `bl` to `pcalau18i + jirl`,
but `RuntimeDyld` does not handle out-of-range jumps for this
instruction sequence.

This patch fixes: #136561

Reviewed By: SixWeining

Pull Request: llvm/llvm-project#136563
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request May 6, 2025
After upgrading the default code model from small to medium on
LoongArch, function calls using expression may fail. This is because the
function call instruction has changed from `bl` to `pcalau18i + jirl`,
but `RuntimeDyld` does not handle out-of-range jumps for this
instruction sequence.

This patch fixes: llvm#136561

Reviewed By: SixWeining

Pull Request: llvm#136563
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request May 6, 2025
After upgrading the default code model from small to medium on
LoongArch, function calls using expression may fail. This is because the
function call instruction has changed from `bl` to `pcalau18i + jirl`,
but `RuntimeDyld` does not handle out-of-range jumps for this
instruction sequence.

This patch fixes: llvm#136561

Reviewed By: SixWeining

Pull Request: llvm#136563
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request May 6, 2025
After upgrading the default code model from small to medium on
LoongArch, function calls using expression may fail. This is because the
function call instruction has changed from `bl` to `pcalau18i + jirl`,
but `RuntimeDyld` does not handle out-of-range jumps for this
instruction sequence.

This patch fixes: llvm#136561

Reviewed By: SixWeining

Pull Request: llvm#136563
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.

[lldb][LoongArch] expression command cannot call the function
2 participants