}
if Debug['s'] == 0 && debug_s == 0 && HEADTYPE == obj.Hdarwin {
- dsym := fmt.Sprintf("%s/go.dwarf", tmpdir)
- if out, err := exec.Command("dsymutil", "-f", outfile, "-o", dsym).CombinedOutput(); err != nil {
- Ctxt.Cursym = nil
- Exitf("%s: running dsymutil failed: %v\n%s", os.Args[0], err, out)
- }
- combinedOutput := fmt.Sprintf("%s/go.combined", tmpdir)
- if err := machoCombineDwarf(outfile, dsym, combinedOutput); err != nil {
- Ctxt.Cursym = nil
- Exitf("%s: combining dwarf failed: %v", os.Args[0], err)
- }
- origOutput := fmt.Sprintf("%s/go.orig", tmpdir)
- os.Rename(outfile, origOutput)
- if err := os.Rename(combinedOutput, outfile); err != nil {
- Ctxt.Cursym = nil
- Exitf("%s: rename(%s, %s) failed: %v", os.Args[0], combinedOutput, outfile, err)
+ // Skip combining dwarf on arm.
+ if Thearch.Thechar != '5' && Thearch.Thechar != '7' {
+ dsym := fmt.Sprintf("%s/go.dwarf", tmpdir)
+ if out, err := exec.Command("dsymutil", "-f", outfile, "-o", dsym).CombinedOutput(); err != nil {
+ Ctxt.Cursym = nil
+ Exitf("%s: running dsymutil failed: %v\n%s", os.Args[0], err, out)
+ }
+ combinedOutput := fmt.Sprintf("%s/go.combined", tmpdir)
+ if err := machoCombineDwarf(outfile, dsym, combinedOutput); err != nil {
+ Ctxt.Cursym = nil
+ Exitf("%s: combining dwarf failed: %v", os.Args[0], err)
+ }
+ origOutput := fmt.Sprintf("%s/go.orig", tmpdir)
+ os.Rename(outfile, origOutput)
+ if err := os.Rename(combinedOutput, outfile); err != nil {
+ Ctxt.Cursym = nil
+ Exitf("%s: rename(%s, %s) failed: %v", os.Args[0], combinedOutput, outfile, err)
+ }
}
}
}