My knowledge about linkers and such is extremely limited, so I'm afraid I won't be able to give a very detailed bug report.
I'm an happy use of samply on macOS, and I've been using it a lot to profile native Ruby gems, such as https://github.com/ruby/json. However, since I upgraded my machine to macOS 15 (Sequoia), it's no longer able to find symbols for the compiled bundle, so it makes the profiler pretty much unusable.
Since I have another machine still on macOS 14, I did look at possible differences. On the old machine when recording with --verbose I see two files being opened that aren't on macOS 15:
Opening file "/Users/byroot/src/github.com/ruby/json/ext/json/ext/generator.bundle"
Opening file "/Users/byroot/src/github.com/ruby/json/ext/json/ext/generator/generator.o"
From some googling around, it seems like Apple made some change to how they generate/store debug symbols, now you're supposed to read them from a .bundle.dSYM directory?
Looking at the files generated by clang, it looks like this:
./ext/json/ext/generator.bundle
./ext/json/ext/generator/generator.o
./ext/json/ext/generator/generator.bundle.dSYM
./ext/json/ext/generator/generator.bundle.dSYM/Contents
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/Relocations
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/Relocations/aarch64
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/Relocations/aarch64/generator.bundle.yml
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/DWARF
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/DWARF/generator.bundle
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Info.plist
The .o still exists, but samply no longer tries to open it.
My knowledge about linkers and such is extremely limited, so I'm afraid I won't be able to give a very detailed bug report.
I'm an happy use of samply on macOS, and I've been using it a lot to profile native Ruby gems, such as https://github.com/ruby/json. However, since I upgraded my machine to macOS 15 (Sequoia), it's no longer able to find symbols for the compiled
bundle, so it makes the profiler pretty much unusable.Since I have another machine still on macOS 14, I did look at possible differences. On the old machine when recording with
--verboseI see two files being opened that aren't on macOS 15:From some googling around, it seems like Apple made some change to how they generate/store debug symbols, now you're supposed to read them from a
.bundle.dSYMdirectory?Looking at the files generated by clang, it looks like this:
The
.ostill exists, but samply no longer tries to open it.