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] Multi-arch GET_LONGJMP_TARGET for Alpha


Even though all current Alpha OS ABIs use the same offset for the
saved PC in the jmp_buf, it seemed appropriate to stuff it into
the gdbarch_tdep.

Committed per multi-arch rule.

        * alpha-tdep.h (gdbarch_tdep): Add jb_pc and jb_elt_size members.
        * alpha-linux-tdep.c (alpha_linux_init_abi): Initialize
        tdep->jb_pc and tdep->jb_elt_size.
        * alpha-osf1-tdep.c (alpha_osf1_init_abi): Likewise.
        * alphafbsd-tdep.c (alphafbsd_init_abi): Likewise.
        * alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
        * alpha-nat.c (get_longjmp_target): Remove.
        (JB_ELEMENT_SIZE): Ditto.
        (JB_PC): Ditto.
        * alpha-tdep.c (alpha_get_longjmp_target): New function.
        (alpha_gdbarch_init): Default tdep->jb_pc to -1.  If the
        OS ABI sets jb_pc to a valid value, set gdbarch_get_longjmp_target
        to alpha_get_longjmp_target.
        (alpha_dump_tdep): Report tdep->jb_pc and tdep->jb_elt_size.
        * config/alpha/nm-linux.h (GET_LONGJMP_TARGET): Remove.
        * config/alpha/nm-osf.h (GET_LONGJMP_TARGET): Remove.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>

Attachment: alpha-patch
Description: Text document


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