00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "bfd.h"
00022 #include "sysdep.h"
00023 #include "libbfd.h"
00024
00025 #define ARC(mach, print_name, default_p, next) \
00026 { \
00027 32, \
00028 32, \
00029 8, \
00030 bfd_arch_arc, \
00031 mach, \
00032 "arc", \
00033 print_name, \
00034 4, \
00035 default_p, \
00036 bfd_default_compatible, \
00037 bfd_default_scan, \
00038 next, \
00039 }
00040
00041 static const bfd_arch_info_type arch_info_struct[] =
00042 {
00043 ARC ( bfd_mach_arc_5, "arc5", FALSE, &arch_info_struct[1] ),
00044 ARC ( bfd_mach_arc_5, "base", FALSE, &arch_info_struct[2] ),
00045 ARC ( bfd_mach_arc_6, "arc6", FALSE, &arch_info_struct[3] ),
00046 ARC ( bfd_mach_arc_7, "arc7", FALSE, &arch_info_struct[4] ),
00047 ARC ( bfd_mach_arc_8, "arc8", FALSE, NULL ),
00048 };
00049
00050 const bfd_arch_info_type bfd_arc_arch =
00051 ARC ( bfd_mach_arc_6, "arc", TRUE, &arch_info_struct[0] );
00052
00053
00054
00055
00056
00057
00058 int arc_get_mach PARAMS ((char *));
00059
00060 int
00061 arc_get_mach (name)
00062 char *name;
00063 {
00064 const bfd_arch_info_type *p;
00065
00066 for (p = &bfd_arc_arch; p != NULL; p = p->next)
00067 if (strcmp (name, p->printable_name) == 0)
00068 return p->mach;
00069 return -1;
00070 }