Skip to content

Commit 87dc334

Browse files
Ralph Küpperproggeramlug
authored andcommitted
fix: repair gc-native-roots platform failures
(cherry picked from commit 49c63e5)
1 parent a6ffd33 commit 87dc334

3 files changed

Lines changed: 9 additions & 2 deletions

File tree

.github/workflows/gc-native-roots.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,9 @@ jobs:
673673
export PERRY_RUNTIME_DIR="$PWD/target/perry-dev"
674674
export PERRY_NO_AUTO_OPTIMIZE=1
675675
unset PERRY_LLVM_OPT PERRY_LLVM_CLANG
676-
export LLVM_SYS_221_PREFIX="$(brew --prefix llvm)"
676+
# Keep LLVM_SYS_221_PREFIX from setup-llvm22. The stock-toolchain
677+
# assertion removes the external opt/clang overrides; the in-process
678+
# backend itself still has to link the LLVM 22 ABI used by llvm-sys.
677679
export RUSTFLAGS="-C force-frame-pointers=yes -C force-unwind-tables=yes"
678680
cargo build --profile perry-dev -p perry -p perry-runtime-static \
679681
-p perry-stdlib-static --features perry-codegen/llvm-inprocess
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### Fixed
2+
3+
- Restore the scheduled native-roots gate on ARM Linux and macOS by handling
4+
libyaml's target-specific `c_char` signedness and retaining its configured
5+
LLVM 22 prefix for the in-process backend.

crates/perry-runtime/src/bun_compat/cli_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,7 @@ fn yaml_parse(input: f64) -> f64 {
947947
let problem = if parser.problem.is_null() {
948948
"invalid YAML".to_string()
949949
} else {
950-
std::ffi::CStr::from_ptr(parser.problem)
950+
std::ffi::CStr::from_ptr(parser.problem.cast::<std::ffi::c_char>())
951951
.to_string_lossy()
952952
.into_owned()
953953
};

0 commit comments

Comments
 (0)