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]

[commit/multiarch/hppa64] further pa64 multiarching changes...


Hello,

I have committed the following change which brings hppa64-*-hpux11 to
the same level of multiarching as the 32bit hppa.

Some comments:
  
  - I have elected to take this opportunity to create hppa-tdep.h,
    although it was not absolutely necessary for now. Since I think
    I will eventually need it, I just went ahead now. In retrospect
    (already? :-), I am not sure this is such a good reason...

  - The patch is a bit large, as it contains several changes that could
    have been broken down into smaller patches. I am sorry about that.
    My only excuse is that I am currently working in degraded mode,
    since Ada Core is still in the dark.

  - Instead of duplicating functions adding 64bit counterparts, I
    elected to use the gdbarch_tdep structure to hold the address
    size (in number of bytes), and use this value in some of the methods
    to determine how to compute the result. Comments welcome.

2003-08-15  J. Brobecker  <brobecker@gnat.com>

        Further multiarching work mostly for hppa64-*-hpux11:
        * hppa-tdep.h: New file.
        * hppa-tdep.c: #include hppa-tdep.c.
        (hppa32_num_regs): Renamed from hppa_num_regs.
        (hppa64_num_regs): New constant.
        (hppa64_call_dummy_breakpoint_offset): New constant.
        (hppa32_call_dummy_length): New constant.
        (hppa64_call_dummy_length): New constant.
        (hppa32_stack_align): Make name 32bit explicit.
        (hppa32_register_virtual_type): Likewise.
        (hppa32_extract_return_value): Likewise.
        (hppa32_use_struct_convention): Likewise.
        (hppa32_store_return_value): Likewise.
        (hppa64_register_virtual_type): New function.
        (hppa64_extract_return_value): New function.
        (hppa64_use_struct_convention): New function.
        (hppa64_store_return_value): New function.
        (hppa_frame_locals_address): Remove declaration, function does
        not exist anymore.
        (hppa_register_byte): Add support for PA64 ABI.
        (hppa_gdbarch_init): Add support for PA64 ABI.
        * hppa-hpux-tdep.c (hppa32_hpux_frame_saved_pc_in_sigtramp):
        Make name 32bit explicit.
        (hppa32_hpux_frame_base_before_sigtramp): Likewise.
        (hppa32_hpux_frame_find_saved_regs_in_sigtramp): Likewise.
        (hppa64_hpux_frame_saved_pc_in_sigtramp): New function.
        (hppa64_hpux_frame_base_before_sigtramp): New function.
        (hppa64_hpux_frame_find_saved_regs_in_sigtramp): New function.
        * config/pa/tm-hppa64.h: Remove macros that are no longer
        necessary now that the gdbarch vector is properly setup.
        Transform some macros into function calls. Some minor cleanup.
        * config/pa/tm-hppah.h: Update function calls in macros
        following the function renaming in hppa-hpux-tdep.c.
        * Makefile.in (hppa_tdep_h): New variable.
        (hppa-tdep.o): Add dependency over hppa_tdep_h.

Tested on both hppa-hp-hpux11 and hppa64-hp-hpux11.
Commited on head.
Comments welcome.

(It's slowly getting there! Now that the tm-*.h files are shorter, it's
clearer to see what's left to do [basically a lot :-/, but we are making
progress])

-- 
Joel

PS: I am posting blindly, as my gnat.com e-mail is stuck until power is
restored in Manhattan.

Attachment: pa64.diff
Description: Text document

Attachment: hppa-tdep.h
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]