From 75db184077fce34cd66c49e1803828c68eeaba2a Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Fri, 29 Aug 2025 17:50:47 +0700 Subject: [PATCH] fix macos command to print defined symbols? --- src/SPC/builder/unix/UnixBuilderBase.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/unix/UnixBuilderBase.php b/src/SPC/builder/unix/UnixBuilderBase.php index 2afb1251..00dd4539 100644 --- a/src/SPC/builder/unix/UnixBuilderBase.php +++ b/src/SPC/builder/unix/UnixBuilderBase.php @@ -49,7 +49,9 @@ abstract class UnixBuilderBase extends BuilderBase throw new WrongUsageException('You must build libphp.a before calling this function.'); } - $cmd = 'nm -g --defined-only -P ' . escapeshellarg($libphp) . ' 2>/dev/null'; + $cmd = (SPCTarget::getTargetOS() === 'Linux') + ? 'nm -g --defined-only -P ' . escapeshellarg($libphp) . ' 2>/dev/null' + : 'nm -gUj ' . escapeshellarg($libphp) . ' 2>/dev/null'; $out = shell_exec($cmd) ?: ''; if ($out !== '') { foreach (preg_split('/\R/', trim($out)) as $line) { @@ -89,7 +91,7 @@ abstract class UnixBuilderBase extends BuilderBase $argument = '-Wl,--export-dynamic'; // https://github.com/ziglang/zig/issues/24662 } if (SPCTarget::getTargetOS() !== 'Linux') { - $argument = "-Wl,-exported_symbols_list {$exportList}"; + $argument = "-Wl,-exported_symbols_list,{$exportList}"; } $this->dynamic_export_list = $argument;