This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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][GOLD] Add Cortex-A8 stub class.


Hi,

    This patch mainly adds a class to represent Cortex-A8 stubs.  Rest
of the stub machinery was also changed a little.  The do_write method
in the Stub base class is no longer pure virtual.  I moved the
relevant code from Reloc_stub to the base class.  The code was
extended to handle a new conditional branch instruction template used
in one of the Cortex-A8 stub template.  Now both the Reloc_stub and
the Cortex_a8_stub classes share the stub-writing code in the base
class via inheritance.  I also found a bug in the
Stub_factory::Stub_factory due to a missing "static" storage class
specifier.

-Doug

2010-01-06  Doug Kwan  <dougkwan@google.com>

        * arm.cc (Insn_template::Type): New enum value THUMB16_SPECIAL_TYPE.
        (Insn_template::thumb16_bcond_insn): New method declaration.
        (Insn_template): Fix spelling.
        (Stub::thumb16_special): New method declaration.
        (Stub::do_write): Define virtual method which was previously pure
        virtual.
        (Stub::do_thumb16_special): New method declaration.
        (Stub::do_fixed_endian_write): New template member.
        (Reloc_stub::do_write): Remove.
        (Reloc_stub::do_fixed_endian_write): Remove.
        (Cortex_a8_stub): New class definition.
        (Stub_factory::make_cortex_a8_stub): New method definition.
        (Stub_factory::Stub_factory): Add missing static storage class
        specifier for elf32_arm_stub_a8_veneer_blx.

Attachment: patch.txt
Description: Text document


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