This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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] VAX ELF PIC support [take 3]


Since this has yes to be integrated and more changes have
been done to some of the files this support affects, I've
regenerated the patch and am resubmitting it.  Maybe if I
submit it enough times, it'll finally get applied.

20030114 Matt Thomas <matt@3am-software.com>

        Add PIC support to NetBSD/vax ELF.
        config/vax/netbsd-elf.h: (CC1_SPEC): added.  (ASM_SPEC): added.
        (LINK_SPEC): updated.  (NO_FUNCTION_CSE): defined.
        (NO_EXTERNAL_INDIRECT_ADDRESS): defined.

        config/vax/netbsd.h: (NO_FUNCTION_CSE): defined.
        (NO_EXTERNAL_INDIRECT_ADDRESS): defined.

config/vax/vax-protos.h: prototypes added.

        config/vax/vax.c: (print_operand_address): add SYMBOL_REF case.
        (vax_encode_section_info): added.
        (indirectable_constant_address_p): add function that is the
        equivalent of INDIRECT_CONSTANT_ADDRESS_P.
        (indirectable_address_p): add function that is the
        equivalent of INDIRECT_ADDRESS_P.
        (nonindexed_address_p): add function that contains the logic of
        GO_IF_NONINDEXED_ADDRESS.
        (index_term_p): add function that contains the logic of INDEX_TERM_P.
        (reg_plus_index_p): add function that contains the logic of
        GO_IF_REG_PLUS_INDEX.
        (legitimate_pic_operand_p): added.
        (legitimate_address_p): add functiona tt contain the logic of
        GO_IF_LEGITIMATE_ADDRESS.
        (vax_symbolic_operand): added.
        (vax_nonsymbolic_operand): added.
        (vax_mode_dependent_addr_p): add function that contains the logic of
        GO_IF_MODE_DEPENDENT_ADDRESS.

        config/vax/vax.h: (MASK_INDIRECT): added.
        (TARGET_INDIRECT): added.
        (TARGET_SWITCHES): "indirect" added.
        (LEGITIMATE_PIC_OPERAND_P): added; use legitimate_pic_operand_p.
        (GO_IF_LEGITIMATE_ADDRESS): update to use legitimate_address_p.
        (INDIRECTABLE_CONSTANT_ADDRESS_P): Remove.
        (INDIRECTABLE_ADDRESS_P): Likewise.
        (GO_IF_NONINDEXED_ADDRESS): Likewise.
        (INDEX_TERM_P): Likewise.
        (GO IF_REG_PLUS_INDEX): Likewise.
        (GO_IF_MODE_DEPENDENT_ADDRESS): update to vax_mode_dependent_addr_p.

        config/vax/vax.md: (movsi) define_expand added.
        (movgensi): was old movsi define_insn.  PIC'ify.
        (addsi3): PIC'ify.
        (subsi3): Change operands 1 & 2 to vax_nonsymbolic_operand.


-- Matt Thomas email: matt@3am-software.com 3am Software Foundry www: http://3am-software.com/bio/matt/ Cupertino, CA disclaimer: I avow all knowledge of this message.

Attachment: vaxpic.txt
Description: Text document


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