huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class DummyClass {
  int a_;
 public:
  DummyClass(int a) : a_(a) {}
  int add(int b) {
    return a_ + b;
  }
};
 
int f(int a, int b) {
  DummyClass c(a);
  return c.add(b);
}
 
int main() {
  return f(2, 3);
}
 
// Built with Clang 3.9 and GNU gold (GNU Binutils for Ubuntu 2.26) 1.11:
// Note: llvm-symbolizer-zlib.test relies on the path and filename used !
// $ mkdir -p /tmp/dbginfo
// $ cp dwarfdump-test-zlib.cc /tmp/dbginfo
// $ cd /tmp/dbginfo
// $ clang++ -g dwarfdump-test-zlib.cc -Wl,--compress-debug-sections=zlib -o dwarfdump-test-zlib.elf-x86-64
// $ clang++ -g dwarfdump-test-zlib.cc -Wl,--compress-debug-sections=zlib-gnu -o dwarfdump-test-zlibgnu.elf-x86-64
// llvm-readobj -sections can be used to see that outputs really contain the compressed sections, also output in both
//   cases is slightly smaller, that is because of compression.