Hi all,
I've noticed recent build of swift compiler doesn't show the stack dump on
crash.
Here is the result with October 25, 2016 snapshot.
On macOS, the dump completely doesn't show up.
On Linux, the dump shows up, but without symbols.
As for Linux, I figured out that it's because of recent change in
CMakeList.txt
cmake_minimum_required(VERSION 3.4.3)
Specifically, the policy change of CMP0065 https://cmake.org/cmake/help/v3.4/policy/CMP0065.html
backtrace_symbols_fd() needs symbols exported.
As for macOS, I'm not sure why.
I don't know what is the right way to fix this.
cmake_policy(SET CMP0065 OLD)
would fix the Linux build but ...
On macOS, the dump completely doesn't show up.
On Linux, the dump shows up, but without symbols.
As for Linux, I figured out that it's because of recent change in
CMakeList.txt
cmake_minimum_required(VERSION 3.4.3)
Specifically, the policy change of CMP0065 CMP0065 — CMake 3.4.3 Documentation
backtrace_symbols_fd() needs symbols exported.
As for macOS, I'm not sure why.
I don't know what is the right way to fix this.
cmake_policy(SET CMP0065 OLD)
would fix the Linux build but ...
On macOS, the dump completely doesn't show up.
On Linux, the dump shows up, but without symbols.
As for Linux, I figured out that it's because of recent change in
CMakeList.txt
cmake_minimum_required(VERSION 3.4.3)
Specifically, the policy change of CMP0065 CMP0065 — CMake 3.4.3 Documentation
backtrace_symbols_fd() needs symbols exported.
As for macOS, I'm not sure why.
I don't know what is the right way to fix this.
cmake_policy(SET CMP0065 OLD)
would fix the Linux build but ...
I think that may have gone away after the recent update to the newer llvm/clang. I think there is a bug to look into what happened here, but no one has had the time to look into it.
Michael
···
On Oct 26, 2016, at 8:53 PM, rintaro ishizaki via swift-dev <swift-dev@swift.org> wrote:
> set_target_properties(${swift_binaries} properties ENABLE_EXPORTS 1) ?
> I don't know if it's this simple though.
Yeah, that should work as well.
But, I'm not sure which tools should be `ENABLE_EXPORT`ed.
2016-10-27 3:04 GMT+09:00 Flamedoge <code.kchoi@gmail.com <mailto:code.kchoi@gmail.com>>:
> Do not add flags to export symbols from executables without the ENABLE_EXPORTS <ENABLE_EXPORTS — CMake 3.4.3 Documentation; target property.
set_target_properties(${swift_binaries} properties ENABLE_EXPORTS 1) ?
I don't know if it's this simple though.
On Tue, Oct 25, 2016 at 8:51 PM, rintaro ishizaki via swift-dev <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:
Hi all,
I've noticed recent build of swift compiler doesn't show the stack dump on crash.
On macOS, the dump completely doesn't show up.
On Linux, the dump shows up, but without symbols.
As for Linux, I figured out that it's because of recent change in CMakeList.txt
cmake_minimum_required(VERSION 3.4.3)
Specifically, the policy change of CMP0065 CMP0065 — CMake 3.4.3 Documentation
backtrace_symbols_fd() needs symbols exported.
As for macOS, I'm not sure why.
I don't know what is the right way to fix this.
cmake_policy(SET CMP0065 OLD)
would fix the Linux build but ...