diff options
| author | Jan Kratochvil <[email protected]> | 2013-12-17 18:49:54 +0100 |
|---|---|---|
| committer | Jan Kratochvil <[email protected]> | 2013-12-18 13:01:05 +0100 |
| commit | c6a41483f2986d5542c554981348f75b815ef9b1 (patch) | |
| tree | afbd87ebb664bfe07a7d03790920fdbbc3be9e38 /backends/s390_init.c | |
| parent | c8c610bcfb9e90ab2d43c019da7eaade7017baec (diff) | |
unwinder: s390 and s390x
Signed-off-by: Jan Kratochvil <[email protected]>
Diffstat (limited to 'backends/s390_init.c')
| -rw-r--r-- | backends/s390_init.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/backends/s390_init.c b/backends/s390_init.c index 630a2ee3..26b20b49 100644 --- a/backends/s390_init.c +++ b/backends/s390_init.c @@ -62,6 +62,15 @@ s390_init (elf, machine, eh, ehlen) else HOOK (eh, core_note); HOOK (eh, abi_cfi); + /* gcc/config/ #define DWARF_FRAME_REGISTERS 34. + But from the gcc/config/s390/s390.h "Register usage." comment it looks as + if #32 (Argument pointer) and #33 (Condition code) are not used for + unwinding. */ + eh->frame_nregs = 32; + HOOK (eh, set_initial_registers_tid); + if (eh->class == ELFCLASS32) + HOOK (eh, normalize_pc); + HOOK (eh, unwind); /* Only the 64-bit format uses the incorrect hash table entry size. */ if (eh->class == ELFCLASS64) |
