diff options
Diffstat (limited to 'test/DebugInfo/Inputs')
-rw-r--r-- | test/DebugInfo/Inputs/arange-overlap.cc | 26 | ||||
-rwxr-xr-x | test/DebugInfo/Inputs/arange-overlap.elf-x86_64 | bin | 0 -> 9824 bytes | |||
-rw-r--r-- | test/DebugInfo/Inputs/fission-ranges.cc | 17 | ||||
-rwxr-xr-x | test/DebugInfo/Inputs/fission-ranges.elf-x86_64 | bin | 0 -> 8693 bytes |
4 files changed, 43 insertions, 0 deletions
diff --git a/test/DebugInfo/Inputs/arange-overlap.cc b/test/DebugInfo/Inputs/arange-overlap.cc new file mode 100644 index 0000000..82e3f12 --- /dev/null +++ b/test/DebugInfo/Inputs/arange-overlap.cc @@ -0,0 +1,26 @@ +void call(); + +struct S { + static void foo() { call(); call(); } + static void bar() { call(); call(); } + static void baz() {} +}; + +#ifdef FILE1 +# define FUNC_NAME func1 +# define FUNC_BODY \ + S::foo(); S::bar(); S::baz(); +#else +# define FUNC_NAME func2 +# define FUNC_BODY \ + S::bar(); +#endif + +void FUNC_NAME() { + FUNC_BODY +} + +// Build instructions: +// $ clang -g -fPIC -c -DFILE1 arange-overlap.cc -o obj1.o +// $ clang -g -fPIC -c arange-overlap.cc -o obj2.o +// $ clang -shared obj1.o obj2.o -o <output> diff --git a/test/DebugInfo/Inputs/arange-overlap.elf-x86_64 b/test/DebugInfo/Inputs/arange-overlap.elf-x86_64 Binary files differnew file mode 100755 index 0000000..075e9c2 --- /dev/null +++ b/test/DebugInfo/Inputs/arange-overlap.elf-x86_64 diff --git a/test/DebugInfo/Inputs/fission-ranges.cc b/test/DebugInfo/Inputs/fission-ranges.cc new file mode 100644 index 0000000..a585bf9 --- /dev/null +++ b/test/DebugInfo/Inputs/fission-ranges.cc @@ -0,0 +1,17 @@ +static inline int inlined_f() { + volatile int x = 2; + return x; +} + +int main() { + return inlined_f(); +} + +// Build instructions: +// $ mkdir /tmp/dbginfo +// $ cp fission-ranges.cc /tmp/dbginfo/ +// $ cd /tmp/dbginfo +// $ gcc -gsplit-dwarf -O2 -fPIC fission-ranges.cc -c -o obj2.o +// $ clang -gsplit-dwarf -O2 -fsanitize=address -fPIC -Dmain=foo fission-ranges.cc -c -o obj1.o +// $ gcc obj1.o obj2.o -shared -o <output> +// $ objcopy --remove-section=.debug_aranges <output> diff --git a/test/DebugInfo/Inputs/fission-ranges.elf-x86_64 b/test/DebugInfo/Inputs/fission-ranges.elf-x86_64 Binary files differnew file mode 100755 index 0000000..3d2fd79 --- /dev/null +++ b/test/DebugInfo/Inputs/fission-ranges.elf-x86_64 |