|
cd9ecafb4f
|
Use flags in context structures
|
2018-06-22 09:12:32 +02:00 |
|
|
b6ae4b2115
|
Filter out consecutive equal DWARF lines
|
2018-06-22 09:01:57 +02:00 |
|
|
21dcd7969e
|
Add auxiliary eh_elfs directories
|
2018-06-22 08:56:20 +02:00 |
|
|
da05f6b9f1
|
Patch holes in big switches
|
2018-06-20 14:13:19 +02:00 |
|
|
10ead4df37
|
gen_eh_elf: add aux directories
|
2018-06-20 14:12:11 +02:00 |
|
|
79dac37334
|
compare_sizes: fix with symlinks
|
2018-06-18 11:37:04 +02:00 |
|
|
262d658674
|
Add hackbench
|
2018-06-13 19:55:41 +02:00 |
|
|
81b3419690
|
Use max(uintptr_t) as error, not assert(0)
|
2018-06-13 19:13:33 +02:00 |
|
|
d53fcd22c6
|
gen_eh_elf: symlinks: remove if present
|
2018-06-12 16:36:32 +02:00 |
|
|
65b08a444a
|
gen_eh_elf: also generate appropriate symlinks
|
2018-06-11 19:21:22 +02:00 |
|
|
c0504e07c0
|
gen_eh_elf: add -g option
Allows compiling the eh_elf.so files with -g
|
2018-06-05 18:26:13 +02:00 |
|
|
fd6c75b2f5
|
Add --enable-deref-arg to helptext
|
2018-06-05 18:25:34 +02:00 |
|
|
5661ccbefc
|
shared: add typedef for fde func with deref callback
|
2018-06-04 16:56:57 +02:00 |
|
|
273edde1ce
|
Refactor generate_eh_elf args handling
Use a `config` class
|
2018-06-04 16:56:53 +02:00 |
|
|
715a8f371a
|
Add two csmith benching scripts
|
2018-06-04 15:07:38 +02:00 |
|
|
7960b5ba08
|
Add and implement --enable-deref-arg feature
|
2018-06-01 19:52:41 +02:00 |
|
|
df2d6179a8
|
Add a libunwind-powered stack_walker
Preserves stack_walker's interface (one can link against stack_walker or
stack_walker_unwind indifferently).
|
2018-05-18 11:33:39 +02:00 |
|
|
6854eb56e4
|
[BREAKING CHANGE] Unwinding stops at the end
This introduces a breaking change: [undefined] was previously
represented by 0, and is now represented by
`numeric_limits<uintptr_t>::max()`
|
2018-05-16 16:51:01 +02:00 |
|
|
209e668505
|
Add READMEs
|
2018-05-15 18:13:09 +02:00 |
|
|
ee6e534fc9
|
Add .rodata to compare-sizes
|
2018-05-15 16:14:17 +02:00 |
|
|
49cd75b7b7
|
Gen_eh_elf: add --force (force re-generation)
|
2018-05-11 17:58:09 +02:00 |
|
|
4ccd49fb8a
|
gen_eh_elf: handle -O{0,1,2,3,s} directly
|
2018-05-11 15:53:02 +02:00 |
|
|
52ea92dcf8
|
Fix various problems in PC list handling
|
2018-05-11 15:52:38 +02:00 |
|
|
bc05e8270c
|
Add --pc-list switch to generate_eh_elf
|
2018-05-11 15:52:08 +02:00 |
|
|
13ebe46df2
|
Refactor extract_pc
This is meant to make it easy to call the pc extractor from some other
python code as well, to call it from generate_eh_elf.py
|
2018-05-11 13:09:58 +02:00 |
|
|
26d7b2afd5
|
Add C++ code to make use of .pc_list
|
2018-05-11 13:09:35 +02:00 |
|
|
83b304db95
|
Add script to extract all valid PCs of ELFs
|
2018-05-09 17:57:26 +02:00 |
|
|
789e79613c
|
Refactor python shared snippets
|
2018-05-09 17:55:57 +02:00 |
|
|
066f1f06c1
|
Add compare_sizes: compare eh_elf vs eh_frame size
|
2018-05-09 15:32:42 +02:00 |
|
|
ba75dfa95f
|
Fix eh_elf path error
The function `readlink` does not null-terminate its strings…
|
2018-05-09 15:32:34 +02:00 |
|
|
7b6ff32465
|
Enhance Makefile for tests
|
2018-05-09 12:40:52 +02:00 |
|
|
9aa74ad1f7
|
Add parameter --remote
Allows to offload the heavy steps (the compilation .c -> .o) to some
remote server
|
2018-05-07 15:49:22 +02:00 |
|
|
afe2d0b7c7
|
stack_walker: adapt to switch generation policies
|
2018-05-02 15:08:37 +02:00 |
|
|
c18027a0d2
|
generate_eh_elf.py: update to use dwarf-assembly options
|
2018-05-02 15:08:31 +02:00 |
|
|
4b327c7c56
|
eh_elf generator: now also producing global switch
|
2018-05-02 14:58:48 +02:00 |
|
|
601fb2fcd0
|
Python: make compatible with 3.5
subprocess.*(…, encoding='utf-8') → .decode('utf-8')
|
2018-05-02 14:47:05 +02:00 |
|
|
f8cdeda962
|
Ignore *.bin under tests/
|
2018-04-27 17:33:16 +02:00 |
|
|
b8f6a2302c
|
Fix stack walk display
|
2018-04-27 17:32:49 +02:00 |
|
|
4595bb48fb
|
StackWalker: multiple fixes
Includes adding a few failsafe guards, translating the instruction
pointer before handing it to the eh_elf.so, a few cosmetic changes, ...
|
2018-04-27 17:31:53 +02:00 |
|
|
f00ec34b4e
|
CodeGenerator: use hex for switches' bounds
|
2018-04-27 17:07:58 +02:00 |
|
|
467cfbf0cc
|
CodeGenerator: fix badly generated eh_elf
|
2018-04-27 17:07:34 +02:00 |
|
|
0318fabeb0
|
generate_eh_elf: compile in C to avoid name mangling
This made symbol lookup problematic…
|
2018-04-27 11:36:36 +02:00 |
|
|
39ecc7a8c1
|
Use those functions in stack_walked.cpp test
|
2018-04-27 11:06:25 +02:00 |
|
|
f7151c6621
|
Implement missing stack_walker.cpp functions
|
2018-04-27 11:06:06 +02:00 |
|
|
da38a9d521
|
Move _fde_func_t typedef to shared .h
|
2018-04-27 11:05:34 +02:00 |
|
|
69e6c10c36
|
Add fde_handler_for_pc (untested)
This is an abstraction function to get the _fde_yyy function out of the
eh_elf for a given PC
|
2018-04-26 19:48:00 +02:00 |
|
|
4ab7d0a594
|
Add a simple stack_walker test
|
2018-04-26 19:17:34 +02:00 |
|
|
f587eadbcc
|
Add a tentative stack walker using eh_elfs
This is only a beginning: this does so far load the appropriate
eh_elf.so files and read a context. Unwinding is still absent.
|
2018-04-26 19:16:01 +02:00 |
|
|
be221f68d5
|
Check mtime to avoid recreating existing so
|
2018-04-26 19:15:37 +02:00 |
|
|
353a97c49d
|
Refactor code generation: use shared/context_struct.h
This allows #include'ing `context_struct.h` in the stack walker
implementation as well
|
2018-04-25 18:11:59 +02:00 |
|