зеркало из https://github.com/github/ruby.git
llvm-objcopy is not provided by Xcode Command Line Tools.
Revert "Disable YJIT if objcopy command is old"
This reverts commit 75f8781c08
.
This commit is contained in:
Родитель
48d95de6a6
Коммит
a642a94b68
|
@ -93,10 +93,11 @@ jobs:
|
||||||
- { name: clang-12, env: { default_cc: clang-12 } }
|
- { name: clang-12, env: { default_cc: clang-12 } }
|
||||||
- { name: clang-11, env: { default_cc: clang-11 } }
|
- { name: clang-11, env: { default_cc: clang-11 } }
|
||||||
- { name: clang-10, env: { default_cc: clang-10 } }
|
- { name: clang-10, env: { default_cc: clang-10 } }
|
||||||
- { name: clang-9, env: { default_cc: clang-9 } }
|
# llvm-objcopy<=9 doesn't have --wildcard. It compiles, but leaves Rust symbols in libyjit.o.
|
||||||
- { name: clang-8, env: { default_cc: clang-8 } }
|
- { name: clang-9, env: { default_cc: clang-9, append_configure: '--disable-yjit' } }
|
||||||
- { name: clang-7, env: { default_cc: clang-7 } }
|
- { name: clang-8, env: { default_cc: clang-8, append_configure: '--disable-yjit' } }
|
||||||
- { name: clang-6.0, env: { default_cc: clang-6.0 } }
|
- { name: clang-7, env: { default_cc: clang-7, append_configure: '--disable-yjit' } }
|
||||||
|
- { name: clang-6.0, env: { default_cc: clang-6.0, append_configure: '--disable-yjit' } }
|
||||||
- name: 'clang-16 LTO'
|
- name: 'clang-16 LTO'
|
||||||
container: clang-16
|
container: clang-16
|
||||||
env:
|
env:
|
||||||
|
|
17
configure.ac
17
configure.ac
|
@ -3790,23 +3790,13 @@ AS_IF([test "$cross_compiling" = no],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
dnl Needs newer objcopy in order to localize symbols added by rustc
|
|
||||||
YJIT_OBJCOPY_OK=no
|
|
||||||
AS_CASE(["$OBJCOPY"], [""|:], [], [
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], [
|
|
||||||
AS_IF([$OBJCOPY --wildcard --keep-global-symbol='*main' --localize-symbol='__*' conftest.$OBJEXT 2>/dev/null], [
|
|
||||||
YJIT_OBJCOPY_OK=yes
|
|
||||||
])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl build YJIT in release mode if rustc >= 1.58.0 is present and we are on a supported platform
|
dnl build YJIT in release mode if rustc >= 1.58.0 is present and we are on a supported platform
|
||||||
AC_ARG_ENABLE(yjit,
|
AC_ARG_ENABLE(yjit,
|
||||||
AS_HELP_STRING([--enable-yjit],
|
AS_HELP_STRING([--enable-yjit],
|
||||||
[enable in-process JIT compiler that requires Rust build tools. enabled by default on supported platforms if rustc 1.58.0+ is available]),
|
[enable in-process JIT compiler that requires Rust build tools. enabled by default on supported platforms if rustc 1.58.0+ is available]),
|
||||||
[YJIT_SUPPORT=$enableval],
|
[YJIT_SUPPORT=$enableval],
|
||||||
[AS_CASE(["$YJIT_TARGET_OK:$YJIT_RUSTC_OK:$YJIT_OBJCOPY_OK"],
|
[AS_CASE(["$YJIT_TARGET_OK:$YJIT_RUSTC_OK"],
|
||||||
[yes:yes:yes], [
|
[yes:yes], [
|
||||||
YJIT_SUPPORT=yes
|
YJIT_SUPPORT=yes
|
||||||
],
|
],
|
||||||
[YJIT_SUPPORT=no]
|
[YJIT_SUPPORT=no]
|
||||||
|
@ -3821,9 +3811,6 @@ AS_CASE(["${YJIT_SUPPORT}"],
|
||||||
AS_IF([test x"$RUSTC" = "xno"],
|
AS_IF([test x"$RUSTC" = "xno"],
|
||||||
AC_MSG_ERROR([rustc is required. Installation instructions available at https://www.rust-lang.org/tools/install])
|
AC_MSG_ERROR([rustc is required. Installation instructions available at https://www.rust-lang.org/tools/install])
|
||||||
)
|
)
|
||||||
AS_IF([test x"$YJIT_OBJCOPY_OK" = yno],
|
|
||||||
AC_MSG_ERROR([$OBJCOPY does not recognize --wildcard option or something])
|
|
||||||
)
|
|
||||||
|
|
||||||
AS_CASE(["${YJIT_SUPPORT}"],
|
AS_CASE(["${YJIT_SUPPORT}"],
|
||||||
[yes], [
|
[yes], [
|
||||||
|
|
Загрузка…
Ссылка в новой задаче