mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
[cmake] Invoke strip without -l and with non-grouped flags.
`llvm-strip` does not support `-l`. Apple's `strip` supports `-l`, but it is not documented, and the latest code doesn't seem to do anything meaningful. From the old source code drops it seems that `-l` was added around version 795 of cctools and removed before 898. The code around the flag usage in 795 talks about problems with kext and forcing the execution of `ld -r`, which seems a behaviour that is not enforceable in latest versions of cctools. The `-l` flag was added in https://reviews.llvm.org/D15133 without a lot of explanation. Since the flag is not active, removing it should not modify the behaviour for most people (except if someone is trying to compile LLVM with a really old version of `strip`). Additionally, break the invocation into two different flags, since `llvm-strip` doesn't at the moment support grouped flags, and other `strip` implementations should work the same no matter if grouped or not. Test Plan: Using `strip` from Xcode 12.5 in Big Sur to strip the same binary (a simple Hello World), using both `-Sxl` and `-Sx` produces exactly the same binary. Repeating the same process with `clang` results also in the same binary. Reviewed By: smeenai Differential Revision: https://reviews.llvm.org/D105243
This commit is contained in:
parent
67647eca64
commit
c26c170592
@ -2007,7 +2007,7 @@ function(llvm_externalize_debuginfo name)
|
||||
if(NOT CMAKE_STRIP)
|
||||
set(CMAKE_STRIP xcrun strip)
|
||||
endif()
|
||||
set(strip_command COMMAND ${CMAKE_STRIP} -Sxl $<TARGET_FILE:${name}>)
|
||||
set(strip_command COMMAND ${CMAKE_STRIP} -S -x $<TARGET_FILE:${name}>)
|
||||
else()
|
||||
set(strip_command COMMAND ${CMAKE_STRIP} -g -x $<TARGET_FILE:${name}>)
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user