This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, I am working on the DWARF2 CFI exploitation for s390. On s390 there are some changes to the already existing code necessary. 1) The sequence and number of DWARF2 registers are different from the gdb registers on s390 for some reason. 2) The DWARF2 CFA value is different from the frame_base value. In order to adapt the code to the first item, I have introduced #defines for DWARF2 registers and a REGNUM_TO_DWARF2_REG macro and its implementation. See the attached patch for details. In order to consider the second item I have adapted the LOC_REF_ARG symbol class handling in dwarf2read.c and findvar.c to use the BASEREG value if DWARF2 is active. I don't know what to do with LOC_LOCAL yet. At line 6432 in the current implementation of dwarf2read.c islocal is set to 1, if there's no identified frame pointer for the function. I am not sure if this is correct. If it is, I don't know how to handle it when CFA is different from frame_base. The problem is that I have to consider the LOC_LOCAL symbol class in findvar.c in this case without knowing the frame pointer. The following code fragment in dwarf2cfi.c around line 1316 seems to be intel specific, at least on s390 it doesn't make sense. Should I move it to a gdbarch function? if (i == SP_REGNUM) { context->reg[i].how = REG_CTX_VALUE; context->reg[i].loc.addr = cfa; } Finally I am interested in how signal frame and dummy frame handling is supposed to work with DWARF2 CFI support. Does anybody have done already work in this area? (See attached file: common-dwarf2.patch) Regards / Mit freundlichen Gruessen Gerhard Gerhard Tonn, Linux for eServer Development, +(49)-7031-16-4716, Lotus Notes: ton@ibmde, Internet: ton@de.ibm.com
Attachment:
common-dwarf2.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |