[flutter_tools] simplify symbol logic for iOS#49628
[flutter_tools] simplify symbol logic for iOS#49628jonahwilliams merged 2 commits intoflutter:masterfrom
Conversation
|
Also @dnfield |
dnfield
left a comment
There was a problem hiding this comment.
The impeotant part here is that they don't get indexed by spotlight, which Xcode will use incorrectly
|
Does strip not remove the symbols that dsymutil would otherwise use? |
|
You may want to use those symbols for local debugging though right? |
|
We're currently only keeping those symbols in profile mode though - there are no symbols for debug, and release is always stripped. What are they being used for, and why is this configuration different from the configuration we use for android? |
|
Basically its not clear to me that the current state of the world is due to anything besides --strip previously not working |
|
I'm pretty sure @xster wanted these for something |
|
This may block #48726 , still investigating |
dnfield
left a comment
There was a problem hiding this comment.
Talked offline.
These are only the symbols for the App framework, which is all generated assembly from gen_snapshot. I can't imagine these ever being very useful. If it turns out we need them, we can go back and add them back in. Don't want to block further progress on the iOS build improvements because of this.
LGTM
|
If you globally strip these, you can't use instrument tools like the cpu profiler etc anymore on your application code. Having a single view of cpu utilization across native and Dart (whose functions get properly annotated when symbols are present) is really useful. |
|
@xster - maybe you, Jonah, and I can talk more about this when you're back. It seems like using profile mode to do native profiling is sub-optimal because profile mode still has the service isolate/vmservice. It also seems like this use case is pretty specialized and it's not clear if we have customers who need it beyond occasionally using it ourselves. |
|
@yuanhuihui you guys are doing a lot of work at ByteDance to support AOT traces on Android #47771. Do you make use of native profilers / debug symbols on iOS as well? |
|
@xster currently, our performance analysis tool on iOS does not use debug symbols to view the trace. |
|
Do not generate app.framework.dSym in release mode。 |
Description
Previously, gen_snapshot could not properly strip assembly snapshots created for profile/release applications on iOS. Thus, several tests were written with the assumption that debug symbols exist for profile and specific symbol stripping logic was added to xcode_backend.sh.
After reviewing the tests/documentation, it's not clear that we can't remove all of it.
FYI @goderbauer / @cbracken / @jmagman