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

Add error on missing ccallable #51514

Merged
merged 1 commit into from
Oct 1, 2023
Merged

Add error on missing ccallable #51514

merged 1 commit into from
Oct 1, 2023

Conversation

vchuravy
Copy link
Member

While mucking about I observed that a @ccallable added to Base,
will not be exported from the .so.

readelf -s usr/lib/julia/sys-debug-o.a | grep __rts
...
7680: 0000000000000000   353 FUNC    GLOBAL HIDDEN     2 __rts_enter

See how it is marked HIDDEN.

Interestingly enough this works from a pkgimg.

nm -D ~/.julia/compiled/v1.11/TestPkg/SjF8z_v2vZq.so 
0000000000001a00 T f

I suspect @pchintalapudi multi-versioning work is to blame.

cc: @KristofferC and @maleadt since this might break some package compiler use-cases.

@vchuravy vchuravy added the compiler:precompilation Precompilation of modules label Sep 29, 2023
Copy link
Member

@vtjnash vtjnash left a comment

Choose a reason for hiding this comment

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

  f35014 not found in sysimg

@vchuravy
Copy link
Member Author

  f35014 not found in sysimg

Yup, this is making sure that the test fails instead of falsely succeeding. Before we would fail to find the exported symbol and just for pkg.images, but not the sys image, recreate the entry point while loading the package.

This aligns the code paths for both system image and package image, so that we can test the fix :)

@vchuravy vchuravy changed the base branch from master to pc/ccallable-extern September 30, 2023 19:49
@vchuravy vchuravy merged commit d9b01c0 into pc/ccallable-extern Oct 1, 2023
1 check passed
@vchuravy vchuravy deleted the vc/ccallable branch October 1, 2023 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:precompilation Precompilation of modules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants