Skip to content

Fix calling convention for functions with D linkage#13287

Draft
ljmf00 wants to merge 3 commits intodlang:masterfrom
ljmf00:fix-call-conv
Draft

Fix calling convention for functions with D linkage#13287
ljmf00 wants to merge 3 commits intodlang:masterfrom
ljmf00:fix-call-conv

Conversation

@ljmf00
Copy link
Copy Markdown
Member

@ljmf00 ljmf00 commented Nov 11, 2021

Signed-off-by: Luís Ferreira contact@lsferreira.net


Related to dlang/dlang.org#3120 .
CC @kinke .

@dlang-bot dlang-bot added the Review:WIP Work In Progress - not ready for review or pulling label Nov 11, 2021
@dlang-bot
Copy link
Copy Markdown
Contributor

Thanks for your pull request, @ljmf00!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#13287"

@ljmf00 ljmf00 force-pushed the fix-call-conv branch 5 times, most recently from 013430f to b9ee206 Compare November 12, 2021 01:21
@ljmf00
Copy link
Copy Markdown
Member Author

ljmf00 commented Nov 12, 2021

Some code, beyond my knowledge, is relying on reverse order. The added test runs successfully. I don't know what is happening.

@kinke
Copy link
Copy Markdown
Contributor

kinke commented Nov 13, 2021

See #5232 for context regarding __xopCmp and its dependence on low-level parameter order.

@ljmf00
Copy link
Copy Markdown
Member Author

ljmf00 commented Nov 14, 2021

See #5232 for context regarding __xopCmp and its dependence on low-level parameter order.

Thanks, I will test with __xopCmp generated code, although, #7561 got merged, which seems to supersede it. This is kinda messy because I can't have a small test case to reproduce it if it is not related to __xopCmp. If someone can give me a hint I would appreciate it.

… in x86_64

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
@ljmf00 ljmf00 changed the title [WIP] Fix calling convention for functions with D linkage Fix calling convention for functions with D linkage Mar 10, 2022
@ljmf00 ljmf00 force-pushed the fix-call-conv branch 4 times, most recently from 490faae to 01fa650 Compare March 11, 2022 01:17
ljmf00 added 2 commits March 11, 2022 01:17
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
…linkage in x86_64

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
@ljmf00
Copy link
Copy Markdown
Member Author

ljmf00 commented Mar 11, 2022

@MoonlightSentinel I guess C++ interop tests are linking with system druntime/libphobos instead of freshly compiled one. I can't reproduce this. Looking into the logs, DFLAGS are not setting -L-rpath=. forget it, I was using a wrong version of druntime 🙃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants