github.com/goplus/gossa@v0.3.25/pkg/debug/macho/go117_export.go (about)

     1  // export by github.com/goplus/gossa/cmd/qexp
     2  
     3  //go:build go1.17 && !go1.18
     4  // +build go1.17,!go1.18
     5  
     6  package macho
     7  
     8  import (
     9  	q "debug/macho"
    10  
    11  	"go/constant"
    12  	"reflect"
    13  
    14  	"github.com/goplus/gossa"
    15  )
    16  
    17  func init() {
    18  	gossa.RegisterPackage(&gossa.Package{
    19  		Name: "macho",
    20  		Path: "debug/macho",
    21  		Deps: map[string]string{
    22  			"bytes":           "bytes",
    23  			"compress/zlib":   "zlib",
    24  			"debug/dwarf":     "dwarf",
    25  			"encoding/binary": "binary",
    26  			"fmt":             "fmt",
    27  			"io":              "io",
    28  			"os":              "os",
    29  			"strconv":         "strconv",
    30  			"strings":         "strings",
    31  		},
    32  		Interfaces: map[string]reflect.Type{
    33  			"Load": reflect.TypeOf((*q.Load)(nil)).Elem(),
    34  		},
    35  		NamedTypes: map[string]gossa.NamedType{
    36  			"Cpu":              {reflect.TypeOf((*q.Cpu)(nil)).Elem(), "GoString,String", ""},
    37  			"Dylib":            {reflect.TypeOf((*q.Dylib)(nil)).Elem(), "", ""},
    38  			"DylibCmd":         {reflect.TypeOf((*q.DylibCmd)(nil)).Elem(), "", ""},
    39  			"Dysymtab":         {reflect.TypeOf((*q.Dysymtab)(nil)).Elem(), "", ""},
    40  			"DysymtabCmd":      {reflect.TypeOf((*q.DysymtabCmd)(nil)).Elem(), "", ""},
    41  			"FatArch":          {reflect.TypeOf((*q.FatArch)(nil)).Elem(), "", ""},
    42  			"FatArchHeader":    {reflect.TypeOf((*q.FatArchHeader)(nil)).Elem(), "", ""},
    43  			"FatFile":          {reflect.TypeOf((*q.FatFile)(nil)).Elem(), "", "Close"},
    44  			"File":             {reflect.TypeOf((*q.File)(nil)).Elem(), "", "Close,DWARF,ImportedLibraries,ImportedSymbols,Section,Segment,parseSymtab,pushSection"},
    45  			"FileHeader":       {reflect.TypeOf((*q.FileHeader)(nil)).Elem(), "", ""},
    46  			"FormatError":      {reflect.TypeOf((*q.FormatError)(nil)).Elem(), "", "Error"},
    47  			"LoadBytes":        {reflect.TypeOf((*q.LoadBytes)(nil)).Elem(), "Raw", ""},
    48  			"LoadCmd":          {reflect.TypeOf((*q.LoadCmd)(nil)).Elem(), "GoString,String", ""},
    49  			"Nlist32":          {reflect.TypeOf((*q.Nlist32)(nil)).Elem(), "", ""},
    50  			"Nlist64":          {reflect.TypeOf((*q.Nlist64)(nil)).Elem(), "", ""},
    51  			"Regs386":          {reflect.TypeOf((*q.Regs386)(nil)).Elem(), "", ""},
    52  			"RegsAMD64":        {reflect.TypeOf((*q.RegsAMD64)(nil)).Elem(), "", ""},
    53  			"Reloc":            {reflect.TypeOf((*q.Reloc)(nil)).Elem(), "", ""},
    54  			"RelocTypeARM":     {reflect.TypeOf((*q.RelocTypeARM)(nil)).Elem(), "GoString,String", ""},
    55  			"RelocTypeARM64":   {reflect.TypeOf((*q.RelocTypeARM64)(nil)).Elem(), "GoString,String", ""},
    56  			"RelocTypeGeneric": {reflect.TypeOf((*q.RelocTypeGeneric)(nil)).Elem(), "GoString,String", ""},
    57  			"RelocTypeX86_64":  {reflect.TypeOf((*q.RelocTypeX86_64)(nil)).Elem(), "GoString,String", ""},
    58  			"Rpath":            {reflect.TypeOf((*q.Rpath)(nil)).Elem(), "", ""},
    59  			"RpathCmd":         {reflect.TypeOf((*q.RpathCmd)(nil)).Elem(), "", ""},
    60  			"Section":          {reflect.TypeOf((*q.Section)(nil)).Elem(), "", "Data,Open"},
    61  			"Section32":        {reflect.TypeOf((*q.Section32)(nil)).Elem(), "", ""},
    62  			"Section64":        {reflect.TypeOf((*q.Section64)(nil)).Elem(), "", ""},
    63  			"SectionHeader":    {reflect.TypeOf((*q.SectionHeader)(nil)).Elem(), "", ""},
    64  			"Segment":          {reflect.TypeOf((*q.Segment)(nil)).Elem(), "", "Data,Open"},
    65  			"Segment32":        {reflect.TypeOf((*q.Segment32)(nil)).Elem(), "", ""},
    66  			"Segment64":        {reflect.TypeOf((*q.Segment64)(nil)).Elem(), "", ""},
    67  			"SegmentHeader":    {reflect.TypeOf((*q.SegmentHeader)(nil)).Elem(), "", ""},
    68  			"Symbol":           {reflect.TypeOf((*q.Symbol)(nil)).Elem(), "", ""},
    69  			"Symtab":           {reflect.TypeOf((*q.Symtab)(nil)).Elem(), "", ""},
    70  			"SymtabCmd":        {reflect.TypeOf((*q.SymtabCmd)(nil)).Elem(), "", ""},
    71  			"Thread":           {reflect.TypeOf((*q.Thread)(nil)).Elem(), "", ""},
    72  			"Type":             {reflect.TypeOf((*q.Type)(nil)).Elem(), "GoString,String", ""},
    73  		},
    74  		AliasTypes: map[string]reflect.Type{},
    75  		Vars: map[string]reflect.Value{
    76  			"ErrNotFat": reflect.ValueOf(&q.ErrNotFat),
    77  		},
    78  		Funcs: map[string]reflect.Value{
    79  			"NewFatFile": reflect.ValueOf(q.NewFatFile),
    80  			"NewFile":    reflect.ValueOf(q.NewFile),
    81  			"Open":       reflect.ValueOf(q.Open),
    82  			"OpenFat":    reflect.ValueOf(q.OpenFat),
    83  		},
    84  		TypedConsts: map[string]gossa.TypedConst{
    85  			"ARM64_RELOC_ADDEND":              {reflect.TypeOf(q.ARM64_RELOC_ADDEND), constant.MakeInt64(int64(q.ARM64_RELOC_ADDEND))},
    86  			"ARM64_RELOC_BRANCH26":            {reflect.TypeOf(q.ARM64_RELOC_BRANCH26), constant.MakeInt64(int64(q.ARM64_RELOC_BRANCH26))},
    87  			"ARM64_RELOC_GOT_LOAD_PAGE21":     {reflect.TypeOf(q.ARM64_RELOC_GOT_LOAD_PAGE21), constant.MakeInt64(int64(q.ARM64_RELOC_GOT_LOAD_PAGE21))},
    88  			"ARM64_RELOC_GOT_LOAD_PAGEOFF12":  {reflect.TypeOf(q.ARM64_RELOC_GOT_LOAD_PAGEOFF12), constant.MakeInt64(int64(q.ARM64_RELOC_GOT_LOAD_PAGEOFF12))},
    89  			"ARM64_RELOC_PAGE21":              {reflect.TypeOf(q.ARM64_RELOC_PAGE21), constant.MakeInt64(int64(q.ARM64_RELOC_PAGE21))},
    90  			"ARM64_RELOC_PAGEOFF12":           {reflect.TypeOf(q.ARM64_RELOC_PAGEOFF12), constant.MakeInt64(int64(q.ARM64_RELOC_PAGEOFF12))},
    91  			"ARM64_RELOC_POINTER_TO_GOT":      {reflect.TypeOf(q.ARM64_RELOC_POINTER_TO_GOT), constant.MakeInt64(int64(q.ARM64_RELOC_POINTER_TO_GOT))},
    92  			"ARM64_RELOC_SUBTRACTOR":          {reflect.TypeOf(q.ARM64_RELOC_SUBTRACTOR), constant.MakeInt64(int64(q.ARM64_RELOC_SUBTRACTOR))},
    93  			"ARM64_RELOC_TLVP_LOAD_PAGE21":    {reflect.TypeOf(q.ARM64_RELOC_TLVP_LOAD_PAGE21), constant.MakeInt64(int64(q.ARM64_RELOC_TLVP_LOAD_PAGE21))},
    94  			"ARM64_RELOC_TLVP_LOAD_PAGEOFF12": {reflect.TypeOf(q.ARM64_RELOC_TLVP_LOAD_PAGEOFF12), constant.MakeInt64(int64(q.ARM64_RELOC_TLVP_LOAD_PAGEOFF12))},
    95  			"ARM64_RELOC_UNSIGNED":            {reflect.TypeOf(q.ARM64_RELOC_UNSIGNED), constant.MakeInt64(int64(q.ARM64_RELOC_UNSIGNED))},
    96  			"ARM_RELOC_BR24":                  {reflect.TypeOf(q.ARM_RELOC_BR24), constant.MakeInt64(int64(q.ARM_RELOC_BR24))},
    97  			"ARM_RELOC_HALF":                  {reflect.TypeOf(q.ARM_RELOC_HALF), constant.MakeInt64(int64(q.ARM_RELOC_HALF))},
    98  			"ARM_RELOC_HALF_SECTDIFF":         {reflect.TypeOf(q.ARM_RELOC_HALF_SECTDIFF), constant.MakeInt64(int64(q.ARM_RELOC_HALF_SECTDIFF))},
    99  			"ARM_RELOC_LOCAL_SECTDIFF":        {reflect.TypeOf(q.ARM_RELOC_LOCAL_SECTDIFF), constant.MakeInt64(int64(q.ARM_RELOC_LOCAL_SECTDIFF))},
   100  			"ARM_RELOC_PAIR":                  {reflect.TypeOf(q.ARM_RELOC_PAIR), constant.MakeInt64(int64(q.ARM_RELOC_PAIR))},
   101  			"ARM_RELOC_PB_LA_PTR":             {reflect.TypeOf(q.ARM_RELOC_PB_LA_PTR), constant.MakeInt64(int64(q.ARM_RELOC_PB_LA_PTR))},
   102  			"ARM_RELOC_SECTDIFF":              {reflect.TypeOf(q.ARM_RELOC_SECTDIFF), constant.MakeInt64(int64(q.ARM_RELOC_SECTDIFF))},
   103  			"ARM_RELOC_VANILLA":               {reflect.TypeOf(q.ARM_RELOC_VANILLA), constant.MakeInt64(int64(q.ARM_RELOC_VANILLA))},
   104  			"ARM_THUMB_32BIT_BRANCH":          {reflect.TypeOf(q.ARM_THUMB_32BIT_BRANCH), constant.MakeInt64(int64(q.ARM_THUMB_32BIT_BRANCH))},
   105  			"ARM_THUMB_RELOC_BR22":            {reflect.TypeOf(q.ARM_THUMB_RELOC_BR22), constant.MakeInt64(int64(q.ARM_THUMB_RELOC_BR22))},
   106  			"Cpu386":                          {reflect.TypeOf(q.Cpu386), constant.MakeInt64(int64(q.Cpu386))},
   107  			"CpuAmd64":                        {reflect.TypeOf(q.CpuAmd64), constant.MakeInt64(int64(q.CpuAmd64))},
   108  			"CpuArm":                          {reflect.TypeOf(q.CpuArm), constant.MakeInt64(int64(q.CpuArm))},
   109  			"CpuArm64":                        {reflect.TypeOf(q.CpuArm64), constant.MakeInt64(int64(q.CpuArm64))},
   110  			"CpuPpc":                          {reflect.TypeOf(q.CpuPpc), constant.MakeInt64(int64(q.CpuPpc))},
   111  			"CpuPpc64":                        {reflect.TypeOf(q.CpuPpc64), constant.MakeInt64(int64(q.CpuPpc64))},
   112  			"FlagAllModsBound":                {reflect.TypeOf(q.FlagAllModsBound), constant.MakeInt64(int64(q.FlagAllModsBound))},
   113  			"FlagAllowStackExecution":         {reflect.TypeOf(q.FlagAllowStackExecution), constant.MakeInt64(int64(q.FlagAllowStackExecution))},
   114  			"FlagAppExtensionSafe":            {reflect.TypeOf(q.FlagAppExtensionSafe), constant.MakeInt64(int64(q.FlagAppExtensionSafe))},
   115  			"FlagBindAtLoad":                  {reflect.TypeOf(q.FlagBindAtLoad), constant.MakeInt64(int64(q.FlagBindAtLoad))},
   116  			"FlagBindsToWeak":                 {reflect.TypeOf(q.FlagBindsToWeak), constant.MakeInt64(int64(q.FlagBindsToWeak))},
   117  			"FlagCanonical":                   {reflect.TypeOf(q.FlagCanonical), constant.MakeInt64(int64(q.FlagCanonical))},
   118  			"FlagDeadStrippableDylib":         {reflect.TypeOf(q.FlagDeadStrippableDylib), constant.MakeInt64(int64(q.FlagDeadStrippableDylib))},
   119  			"FlagDyldLink":                    {reflect.TypeOf(q.FlagDyldLink), constant.MakeInt64(int64(q.FlagDyldLink))},
   120  			"FlagForceFlat":                   {reflect.TypeOf(q.FlagForceFlat), constant.MakeInt64(int64(q.FlagForceFlat))},
   121  			"FlagHasTLVDescriptors":           {reflect.TypeOf(q.FlagHasTLVDescriptors), constant.MakeInt64(int64(q.FlagHasTLVDescriptors))},
   122  			"FlagIncrLink":                    {reflect.TypeOf(q.FlagIncrLink), constant.MakeInt64(int64(q.FlagIncrLink))},
   123  			"FlagLazyInit":                    {reflect.TypeOf(q.FlagLazyInit), constant.MakeInt64(int64(q.FlagLazyInit))},
   124  			"FlagNoFixPrebinding":             {reflect.TypeOf(q.FlagNoFixPrebinding), constant.MakeInt64(int64(q.FlagNoFixPrebinding))},
   125  			"FlagNoHeapExecution":             {reflect.TypeOf(q.FlagNoHeapExecution), constant.MakeInt64(int64(q.FlagNoHeapExecution))},
   126  			"FlagNoMultiDefs":                 {reflect.TypeOf(q.FlagNoMultiDefs), constant.MakeInt64(int64(q.FlagNoMultiDefs))},
   127  			"FlagNoReexportedDylibs":          {reflect.TypeOf(q.FlagNoReexportedDylibs), constant.MakeInt64(int64(q.FlagNoReexportedDylibs))},
   128  			"FlagNoUndefs":                    {reflect.TypeOf(q.FlagNoUndefs), constant.MakeInt64(int64(q.FlagNoUndefs))},
   129  			"FlagPIE":                         {reflect.TypeOf(q.FlagPIE), constant.MakeInt64(int64(q.FlagPIE))},
   130  			"FlagPrebindable":                 {reflect.TypeOf(q.FlagPrebindable), constant.MakeInt64(int64(q.FlagPrebindable))},
   131  			"FlagPrebound":                    {reflect.TypeOf(q.FlagPrebound), constant.MakeInt64(int64(q.FlagPrebound))},
   132  			"FlagRootSafe":                    {reflect.TypeOf(q.FlagRootSafe), constant.MakeInt64(int64(q.FlagRootSafe))},
   133  			"FlagSetuidSafe":                  {reflect.TypeOf(q.FlagSetuidSafe), constant.MakeInt64(int64(q.FlagSetuidSafe))},
   134  			"FlagSplitSegs":                   {reflect.TypeOf(q.FlagSplitSegs), constant.MakeInt64(int64(q.FlagSplitSegs))},
   135  			"FlagSubsectionsViaSymbols":       {reflect.TypeOf(q.FlagSubsectionsViaSymbols), constant.MakeInt64(int64(q.FlagSubsectionsViaSymbols))},
   136  			"FlagTwoLevel":                    {reflect.TypeOf(q.FlagTwoLevel), constant.MakeInt64(int64(q.FlagTwoLevel))},
   137  			"FlagWeakDefines":                 {reflect.TypeOf(q.FlagWeakDefines), constant.MakeInt64(int64(q.FlagWeakDefines))},
   138  			"GENERIC_RELOC_LOCAL_SECTDIFF":    {reflect.TypeOf(q.GENERIC_RELOC_LOCAL_SECTDIFF), constant.MakeInt64(int64(q.GENERIC_RELOC_LOCAL_SECTDIFF))},
   139  			"GENERIC_RELOC_PAIR":              {reflect.TypeOf(q.GENERIC_RELOC_PAIR), constant.MakeInt64(int64(q.GENERIC_RELOC_PAIR))},
   140  			"GENERIC_RELOC_PB_LA_PTR":         {reflect.TypeOf(q.GENERIC_RELOC_PB_LA_PTR), constant.MakeInt64(int64(q.GENERIC_RELOC_PB_LA_PTR))},
   141  			"GENERIC_RELOC_SECTDIFF":          {reflect.TypeOf(q.GENERIC_RELOC_SECTDIFF), constant.MakeInt64(int64(q.GENERIC_RELOC_SECTDIFF))},
   142  			"GENERIC_RELOC_TLV":               {reflect.TypeOf(q.GENERIC_RELOC_TLV), constant.MakeInt64(int64(q.GENERIC_RELOC_TLV))},
   143  			"GENERIC_RELOC_VANILLA":           {reflect.TypeOf(q.GENERIC_RELOC_VANILLA), constant.MakeInt64(int64(q.GENERIC_RELOC_VANILLA))},
   144  			"LoadCmdDylib":                    {reflect.TypeOf(q.LoadCmdDylib), constant.MakeInt64(int64(q.LoadCmdDylib))},
   145  			"LoadCmdDylinker":                 {reflect.TypeOf(q.LoadCmdDylinker), constant.MakeInt64(int64(q.LoadCmdDylinker))},
   146  			"LoadCmdDysymtab":                 {reflect.TypeOf(q.LoadCmdDysymtab), constant.MakeInt64(int64(q.LoadCmdDysymtab))},
   147  			"LoadCmdRpath":                    {reflect.TypeOf(q.LoadCmdRpath), constant.MakeInt64(int64(q.LoadCmdRpath))},
   148  			"LoadCmdSegment":                  {reflect.TypeOf(q.LoadCmdSegment), constant.MakeInt64(int64(q.LoadCmdSegment))},
   149  			"LoadCmdSegment64":                {reflect.TypeOf(q.LoadCmdSegment64), constant.MakeInt64(int64(q.LoadCmdSegment64))},
   150  			"LoadCmdSymtab":                   {reflect.TypeOf(q.LoadCmdSymtab), constant.MakeInt64(int64(q.LoadCmdSymtab))},
   151  			"LoadCmdThread":                   {reflect.TypeOf(q.LoadCmdThread), constant.MakeInt64(int64(q.LoadCmdThread))},
   152  			"LoadCmdUnixThread":               {reflect.TypeOf(q.LoadCmdUnixThread), constant.MakeInt64(int64(q.LoadCmdUnixThread))},
   153  			"Magic32":                         {reflect.TypeOf(q.Magic32), constant.MakeInt64(int64(q.Magic32))},
   154  			"Magic64":                         {reflect.TypeOf(q.Magic64), constant.MakeInt64(int64(q.Magic64))},
   155  			"MagicFat":                        {reflect.TypeOf(q.MagicFat), constant.MakeInt64(int64(q.MagicFat))},
   156  			"TypeBundle":                      {reflect.TypeOf(q.TypeBundle), constant.MakeInt64(int64(q.TypeBundle))},
   157  			"TypeDylib":                       {reflect.TypeOf(q.TypeDylib), constant.MakeInt64(int64(q.TypeDylib))},
   158  			"TypeExec":                        {reflect.TypeOf(q.TypeExec), constant.MakeInt64(int64(q.TypeExec))},
   159  			"TypeObj":                         {reflect.TypeOf(q.TypeObj), constant.MakeInt64(int64(q.TypeObj))},
   160  			"X86_64_RELOC_BRANCH":             {reflect.TypeOf(q.X86_64_RELOC_BRANCH), constant.MakeInt64(int64(q.X86_64_RELOC_BRANCH))},
   161  			"X86_64_RELOC_GOT":                {reflect.TypeOf(q.X86_64_RELOC_GOT), constant.MakeInt64(int64(q.X86_64_RELOC_GOT))},
   162  			"X86_64_RELOC_GOT_LOAD":           {reflect.TypeOf(q.X86_64_RELOC_GOT_LOAD), constant.MakeInt64(int64(q.X86_64_RELOC_GOT_LOAD))},
   163  			"X86_64_RELOC_SIGNED":             {reflect.TypeOf(q.X86_64_RELOC_SIGNED), constant.MakeInt64(int64(q.X86_64_RELOC_SIGNED))},
   164  			"X86_64_RELOC_SIGNED_1":           {reflect.TypeOf(q.X86_64_RELOC_SIGNED_1), constant.MakeInt64(int64(q.X86_64_RELOC_SIGNED_1))},
   165  			"X86_64_RELOC_SIGNED_2":           {reflect.TypeOf(q.X86_64_RELOC_SIGNED_2), constant.MakeInt64(int64(q.X86_64_RELOC_SIGNED_2))},
   166  			"X86_64_RELOC_SIGNED_4":           {reflect.TypeOf(q.X86_64_RELOC_SIGNED_4), constant.MakeInt64(int64(q.X86_64_RELOC_SIGNED_4))},
   167  			"X86_64_RELOC_SUBTRACTOR":         {reflect.TypeOf(q.X86_64_RELOC_SUBTRACTOR), constant.MakeInt64(int64(q.X86_64_RELOC_SUBTRACTOR))},
   168  			"X86_64_RELOC_TLV":                {reflect.TypeOf(q.X86_64_RELOC_TLV), constant.MakeInt64(int64(q.X86_64_RELOC_TLV))},
   169  			"X86_64_RELOC_UNSIGNED":           {reflect.TypeOf(q.X86_64_RELOC_UNSIGNED), constant.MakeInt64(int64(q.X86_64_RELOC_UNSIGNED))},
   170  		},
   171  		UntypedConsts: map[string]gossa.UntypedConst{},
   172  	})
   173  }