Hello,
The other day keishi@ pointed out to me that Android Chrome builds with symbol_level = 1.
I was surprised so I looked at the history. We used to use symbol_level = 0 for Android release builds, like we do for Linux. The reason we use 0 for Linux is because the symbols end up inside the binary, unlike Windows and Mac where they are separate.
In the CL, we introduced symbol_level = 1 on Android, for gcc compilers, claiming it was "reducing" the symbol level. I must admit it looks like it takes it from 0 to 1 in release builds, but since it's for non-clang, perhaps it didn't affect our official builds? This branch looks intended to shortcut before the symbol level = 2 when !is_linux.
These days, we only support and use clang, so the branch for !is_clang is gone, but the symbol_level = 1 for Android remains.
Is this intentional? Our binary size on Android is super important, and I wondered if this is a mistake costing us a lot, or is meant to be this way.
Cheers,
Dana