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]

[PATCH RFC] DWARF2 CFI exploitation for Linux on S/390


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]