Skip to content

refactor(proto/h1): simplify match version #3908

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

Closed
wants to merge 1 commit into from

Conversation

dianqk
Copy link

@dianqk dianqk commented Jun 27, 2025

@seanmonstar
Copy link
Member

Thanks for the PR! I agree with this statement in the upstream issue:

The underlying issue causes miscompilation of so many things besides hyper that I would recommend not using such workarounds. I. recommend using either use an earlier toolchain (1.85?) or a later one (upcoming 1.89?) with the fix.

That the miscompilation causes the output of bad HTTP message in hyper is almost a good thing: it's very noticeable. So many other miscompilations likely exist that are much more invisible. It'd be better for anyone experiencing this to downgrade rustc for a while.

@dianqk
Copy link
Author

dianqk commented Jun 27, 2025

That's fine with me. BTW, upstream LLVM, which is upstream of rustc, can only add a workaround for this too. 🫠

@dianqk dianqk closed this Jun 27, 2025
@dianqk dianqk deleted the match-version branch June 27, 2025 22:45
@roblabla
Copy link

roblabla commented Jul 3, 2025

That's fine with me. BTW, upstream LLVM, which is upstream of rustc, can only add a workaround for this too. 🫠

I don't understand this. The problem also occurs with LLD. In this case, the whole toolchain is open source and controlled by either rustc or llvm: Rustc generates the LLVM IR, llvm turns that into machine code, and llvm's LLD turns it into a mach-o. So how is it that only a "workaround" can be added?

@dianqk
Copy link
Author

dianqk commented Jul 3, 2025

That's fine with me. BTW, upstream LLVM, which is upstream of rustc, can only add a workaround for this too. 🫠

I don't understand this. The problem also occurs with LLD. In this case, the whole toolchain is open source and controlled by either rustc or llvm: Rustc generates the LLVM IR, llvm turns that into machine code, and llvm's LLD turns it into a mach-o. So how is it that only a "workaround" can be added?

First, ld64 is a commonly used linker for Mach-O, which is the main issue to be addressed. We cannot ask users to switch to LLD.
Second, Yes, LLD is open source, but we can't ask someone to fix it immediately.

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