From 413120e58178a140e44e39ae79b7ec39f7ee0cbf Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 15 Feb 2023 13:44:04 +0900 Subject: [PATCH] Do not use `objcopy` on macOS On macOS, it is not used to localize symbols in dynamic libraries (libruby.dylib and libyjit.o). Instead, using `objcopy` which does not support recent mach-O causes linker errors as bellow. ``` linking shared-library libruby.3.3.dylib error: cannot parse the debug map for 'libruby.3.3.dylib': Invalid data was encountered while parsing the file linking ruby ld: malformed mach-o: LC_*_DYLIB load command string extends beyond end of load command file './libruby.3.3.dylib' clang: error: linker command failed with exit code 1 (use -v to see invocation) ``` --- configure.ac | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index fa5f815042..3c9b865ef5 100644 --- a/configure.ac +++ b/configure.ac @@ -235,7 +235,7 @@ AS_CASE(["${build_os}"], AC_PATH_TOOL([NM], [nm], [/usr/ccs/bin/nm], [/usr/ccs/bin:$PATH]) ]) AS_CASE(["${target_os}"], -[cygwin*|msys*|mingw*], [ +[cygwin*|msys*|mingw*|darwin*], [ ac_cv_prog_ac_ct_OBJCOPY=":" ]) @@ -507,15 +507,6 @@ AS_CASE(["$target_os"], [hiuxmpp*], [AC_DEFINE(__HIUX_MPP__)]) # by TOYODA Eizi -AS_IF([test "$OBJCOPY" != :], [ - AC_MSG_CHECKING([if $OBJCOPY works to localize symbols]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[void conftest_objcopy(void) {}]])], - [ - $OBJCOPY -w -L '*conftest_*' conftest.$OBJEXT 2>/dev/null || OBJCOPY=: - ]) - AS_IF([test "$OBJCOPY" = :], [AC_MSG_RESULT(no)], [AC_MSG_RESULT(yes)]) -]) - AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_INSTALL