Merge "simpleperf: change default callgraph to use caller mode."
diff --git a/simpleperf/cmd_record.cpp b/simpleperf/cmd_record.cpp
index 9690e1d..ef619bd 100644
--- a/simpleperf/cmd_record.cpp
+++ b/simpleperf/cmd_record.cpp
@@ -800,6 +800,11 @@
       if (!DumpSymbolForRecord(r, false)) {
         return false;
       }
+      if (fp_callchain_sampling_) {
+        if (!DumpSymbolForRecord(r, true)) {
+          return false;
+        }
+      }
     }
   } else if (record->type() == PERF_RECORD_LOST) {
     lost_record_count_ += static_cast<LostRecord*>(record)->lost;
@@ -903,8 +908,10 @@
       r.stack_user_data.data.clear();
       r.stack_user_data.dyn_size = 0;
       r.AdjustSizeBasedOnData();
-      if (!DumpSymbolForRecord(r, true)) {
-        return false;
+      if (dump_symbols_) {
+        if (!DumpSymbolForRecord(r, true)) {
+          return false;
+        }
       }
     }
   }
diff --git a/simpleperf/cmd_record_test.cpp b/simpleperf/cmd_record_test.cpp
index 31ea173..afd5bdd 100644
--- a/simpleperf/cmd_record_test.cpp
+++ b/simpleperf/cmd_record_test.cpp
@@ -294,6 +294,15 @@
   ASSERT_TRUE(RunRecordCmd({"--dump-symbols"}, tmpfile.path));
   CheckDsoSymbolRecords(tmpfile.path, true, &success);
   ASSERT_TRUE(success);
+  if (IsDwarfCallChainSamplingSupported()) {
+    ASSERT_TRUE(RunRecordCmd({"-g"}, tmpfile.path));
+    bool success;
+    CheckDsoSymbolRecords(tmpfile.path, false, &success);
+    ASSERT_TRUE(success);
+    ASSERT_TRUE(RunRecordCmd({"-g", "--dump-symbols"}, tmpfile.path));
+    CheckDsoSymbolRecords(tmpfile.path, true, &success);
+    ASSERT_TRUE(success);
+  }
 }
 
 TEST(record_cmd, group_option) {