Skip to content

[build] Prepare workerd for explicit libc++ linkage - #7025

Open
KirillTim wants to merge 1 commit into
mainfrom
ktimofeev/bazel-hiremtic-libcxx
Open

[build] Prepare workerd for explicit libc++ linkage#7025
KirillTim wants to merge 1 commit into
mainfrom
ktimofeev/bazel-hiremtic-libcxx

Conversation

@KirillTim

@KirillTim KirillTim commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Edgeworker now supplies libc++ through link_extra_libs.
For "rust_" targets it is supplied via "@@//deps:rust_runtime".

Also disable helloworld_compile_test for debug builds, because
it doesn't work with $ORIGIN relative libc++.so RUNPATH.

Release note: None

@KirillTim
KirillTim requested review from a team as code owners August 16, 2026 22:50
@ask-bonk

ask-bonk Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

APIError: Invalid Anthropic API Key

github run

2 similar comments
@ask-bonk

ask-bonk Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

APIError: Invalid Anthropic API Key

github run

@ask-bonk

ask-bonk Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

APIError: Invalid Anthropic API Key

github run

@ask-bonk

ask-bonk Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

@KirillTim Bonk workflow failed. Check the logs for details.

View workflow run · To retry, trigger Bonk again.

@KirillTim
KirillTim force-pushed the ktimofeev/bazel-hiremtic-libcxx branch from 8da6ec0 to 6b80b22 Compare August 16, 2026 23:10
@codspeed-hq

codspeed-hq Bot commented Aug 16, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 11.59%

⚡ 1 improved benchmark
✅ 71 untouched benchmarks
⏩ 129 skipped benchmarks1

Performance Changes

Benchmark BASE HEAD Efficiency
simpleStringBody[Response] 25.2 µs 22.6 µs +11.59%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ktimofeev/bazel-hiremtic-libcxx (d7c1d6b) with main (de2058f)

Open in CodSpeed

Footnotes

  1. 129 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Comment thread build/BUILD.sqlite3 Outdated
@npaun

npaun commented Aug 17, 2026

Copy link
Copy Markdown
Member

Seems reasonable - would like to discuss the overall motivation for this though.

@KirillTim
KirillTim force-pushed the ktimofeev/bazel-hiremtic-libcxx branch from 6b80b22 to fc09d08 Compare August 17, 2026 11:55
@fhanau

fhanau commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Seems reasonable - would like to discuss the overall motivation for this though.

Yeah I think this merits some more discussion before moving forward with this approach – this adds complexity for every binary that doesn't use libc++, we should only do this if there's no better alternative. In particular, I think we can use LD_LIBRARY_PATH to avoid needing this.

@KirillTim
KirillTim force-pushed the ktimofeev/bazel-hiremtic-libcxx branch from fc09d08 to 6361108 Compare August 20, 2026 12:20
@codecov-commenter

codecov-commenter commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.71%. Comparing base (a58db31) to head (9350d1f).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7025   +/-   ##
=======================================
  Coverage   67.71%   67.71%           
=======================================
  Files         458      458           
  Lines      129341   129341           
  Branches    21144    21144           
=======================================
  Hits        87583    87583           
  Misses      28929    28929           
  Partials    12829    12829           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@KirillTim
KirillTim force-pushed the ktimofeev/bazel-hiremtic-libcxx branch 3 times, most recently from f358118 to 3881731 Compare August 21, 2026 15:36
Edgeworker now supplies libc++ through link_extra_libs.
For "rust_" targets it is supplied via "@@//deps:rust_runtime".

Also disable helloworld_compile_test for debug builds, because
it doesn't work with $ORIGIN relative libc++.so RUNPATH.

Release note: None
@KirillTim
KirillTim force-pushed the ktimofeev/bazel-hiremtic-libcxx branch from 3881731 to 9350d1f Compare August 21, 2026 16:15
"//src/workerd/server:workerd",
],
tags = ["no-qemu"],
target_compatible_with = select({

@fhanau fhanau Aug 21, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you explain why this is needed? Add a comment or remove it if no longer needed

@fhanau

fhanau commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

LGTM otherwise

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.

4 participants