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

[libjulia] bump nightly for jl_alloc_array_*, update to 1.10.0-rc2 #7757

Merged
merged 2 commits into from
Dec 11, 2023

Conversation

benlorenz
Copy link
Contributor

No description provided.

@benlorenz
Copy link
Contributor Author

Julia nightly fails to build on i686 (windows + linux) for crc32c.dbg.obj:

[09:25:14] /workspace/srcdir/julia/src/crc32c.c: In function 'crc32c_sse42':
[09:25:14] /workspace/srcdir/julia/src/crc32c.c:117:13: error: 'asm' operand has impossible constraints
[09:25:14]   117 |             __asm__(CRC32_PTR "\t" "(%3), %0\n\t"
[09:25:14]       |             ^~~~~~~
[09:25:14] /workspace/srcdir/julia/src/crc32c.c:140:13: error: 'asm' operand has impossible constraints
[09:25:14]   140 |             __asm__(CRC32_PTR "\t" "(%3), %0\n\t"
[09:25:14]       |             ^~~~~~~
[09:25:14] make[1]: *** [Makefile:236: crc32c.dbg.obj] Error 1

Building that code locally with clang I get a better error:

test.c:87:21: error: inline assembly requires more registers than available
            __asm__(CRC32_PTR "\t" "(%3), %0\n\t"
                    ^
test.c:58:23: note: expanded from macro 'CRC32_PTR'
#    define CRC32_PTR "crc32l"
                      ^
test.c:110:21: error: inline assembly requires more registers than available
            __asm__(CRC32_PTR "\t" "(%3), %0\n\t"
                    ^
test.c:58:23: note: expanded from macro 'CRC32_PTR'
#    define CRC32_PTR "crc32l"
                      ^
2 errors generated.

So the new crc32 code from JuliaLang/julia#52326 runs out of registers on i686 with -O0. Using -O1 or -fomit-frame-pointer would help but make the debuginfo worse. Interestingly -O1 -fno-omit-frame-pointer would also work.

@giordano
Copy link
Member

giordano commented Dec 5, 2023

Any clue of why that wasn't caught by CI?

@benlorenz
Copy link
Contributor Author

There is probably no i686 debug build?

@benlorenz benlorenz marked this pull request as draft December 11, 2023 08:20
@fingolfin
Copy link
Member

This builds now with the crc32 patch, great!. Since that patch doesn't affect the ABI, can't we just merge this PR now so we can finally update all the other JLLs depending on this? We can drop the crc32 later once it (or some other fix) is merged into Julia master.

@benlorenz benlorenz marked this pull request as ready for review December 11, 2023 16:34
@benlorenz benlorenz merged commit 6ceb2cc into JuliaPackaging:master Dec 11, 2023
18 checks passed
@benlorenz benlorenz deleted the bl/libjulia branch December 11, 2023 20:19
vtjnash pushed a commit to JuliaLang/julia that referenced this pull request Dec 13, 2023
grasph pushed a commit to Moelf/Yggdrasil that referenced this pull request Jul 1, 2024
…uliaPackaging#7757)

* [libjulia] bump nightly for jl_alloc_array_*, update to 1.10.0-rc2

* use patch from JuliaLang/julia#52437 for i686 builds
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.

3 participants