예제 #1
0
        void InitRelocTypes()
        {
            reloc_types = new Dictionary <int, Dictionary <int, IRelocationType> >();
            for (int i = 0; i < 255; i++)
            {
                reloc_types[i] = new Dictionary <int, IRelocationType>();
            }

            reloc_types[EM_X86_64][R_X86_64_64]       = new Rel_x86_64_64();
            reloc_types[EM_X86_64][R_X86_64_PC32]     = new Rel_x86_64_pc32();
            reloc_types[EM_X86_64][R_X86_64_32]       = new Rel_x86_64_32();
            reloc_types[EM_X86_64][R_X86_64_32S]      = new Rel_x86_64_32s();
            reloc_types[EM_X86_64][R_X86_64_DTPOFF32] = new Rel_x86_64_TLS_DTPOFF32();
            reloc_types[EM_X86_64][R_X86_64_TPOFF32]  = new Rel_x86_64_TLS_TPOFF32();

            reloc_types[EM_JCA] = new Dictionary <int, IRelocationType>();
            reloc_types[EM_JCA][R_JCA_LITR1]        = new Rel_JCA_LitR1();
            reloc_types[EM_JCA][R_JCA_LIT]          = new Rel_JCA_Lit();
            reloc_types[EM_JCA][R_JCA_SRCA]         = new Rel_JCA_Srca();
            reloc_types[EM_JCA][R_JCA_SRCB]         = new Rel_JCA_Srcb();
            reloc_types[EM_JCA][R_JCA_SRCAB]        = new Rel_JCA_Srcab();
            reloc_types[EM_JCA][R_JCA_SRCBCOND]     = new Rel_JCA_Srcbcond();
            reloc_types[EM_JCA][R_JCA_SRCABCOND]    = new Rel_JCA_Srcabcond();
            reloc_types[EM_JCA][R_JCA_SRCAREL]      = new Rel_JCA_SrcaRel();
            reloc_types[EM_JCA][R_JCA_SRCBREL]      = new Rel_JCA_SrcbRel();
            reloc_types[EM_JCA][R_JCA_SRCABREL]     = new Rel_JCA_SrcabRel();
            reloc_types[EM_JCA][R_JCA_SRCBCONDREL]  = new Rel_JCA_SrcbcondRel();
            reloc_types[EM_JCA][R_JCA_SRCABCONDREL] = new Rel_JCA_SrcabcondRel();
        }
예제 #2
0
        void InitRelocTypes()
        {
            reloc_types = new Dictionary<int, Dictionary<int, IRelocationType>>();
            for (int i = 0; i < 255; i++)
                reloc_types[i] = new Dictionary<int, IRelocationType>();

            reloc_types[EM_X86_64][R_X86_64_64] = new Rel_x86_64_64();
            reloc_types[EM_X86_64][R_X86_64_PC32] = new Rel_x86_64_pc32();
            reloc_types[EM_X86_64][R_X86_64_32] = new Rel_x86_64_32();

            reloc_types[EM_JCA] = new Dictionary<int, IRelocationType>();
            reloc_types[EM_JCA][R_JCA_LITR1] = new Rel_JCA_LitR1();
            reloc_types[EM_JCA][R_JCA_LIT] = new Rel_JCA_Lit();
            reloc_types[EM_JCA][R_JCA_SRCA] = new Rel_JCA_Srca();
            reloc_types[EM_JCA][R_JCA_SRCB] = new Rel_JCA_Srcb();
            reloc_types[EM_JCA][R_JCA_SRCAB] = new Rel_JCA_Srcab();
            reloc_types[EM_JCA][R_JCA_SRCBCOND] = new Rel_JCA_Srcbcond();
            reloc_types[EM_JCA][R_JCA_SRCABCOND] = new Rel_JCA_Srcabcond();
            reloc_types[EM_JCA][R_JCA_SRCAREL] = new Rel_JCA_SrcaRel();
            reloc_types[EM_JCA][R_JCA_SRCBREL] = new Rel_JCA_SrcbRel();
            reloc_types[EM_JCA][R_JCA_SRCABREL] = new Rel_JCA_SrcabRel();
            reloc_types[EM_JCA][R_JCA_SRCBCONDREL] = new Rel_JCA_SrcbcondRel();
            reloc_types[EM_JCA][R_JCA_SRCABCONDREL] = new Rel_JCA_SrcabcondRel();
        }