I'm building my application and source code of breakpad on Ubuntu 20.04 with two architectures (arm64 and x86_64). Both have been built on Mac with M1 inside docker with Ubuntu 20.04 (x86_64 arch is emulated).
My build configuration builded from last stable branch chrome_90:
./configure CC=clang CXX=clang++ CFLAGS="-stdlib=libc++" CXXFLAGS="-stdlib=libc++"
I'm running and provoking my app to crash in the same way in both cases (arm64 and x86_64 arch).
For x86_64 it works perfectly, I can look into generated minidump with tool minidump_stackwalk and I can see symbols from my app.
But it doesn't work for arm64. minidump_stackwalk tells me that it could't find symbols for generated minidump.
Of course in both cases I provide suitable .sym file.
Both .sym files generated for arm64 and x86_64 look fine, although I do not rule out that this file is the problem, but more probable is that problem is in generated minidump.
Anyone has the same problem with breakpad builded for arm64 ?
I also noticed that minidump (from arm64) expects symbols from my app to be in 2 separated memory ranges:
The first range is a good one, and it is the same that occurs in case of x86_64. I can assume that this is good range, cuz if I add address of function from sym file to this offset 0x000000200000 it is correct address of same function in my crash's stack trace.
Maybe I just have to figure out how to get rid of this second incorrect range saved in my minidump?