(raw_arch_string)
| 538 | return {} |
| 539 | |
| 540 | def parse_arch(raw_arch_string): |
| 541 | arch, bits = None, None |
| 542 | raw_arch_string = raw_arch_string.lower() |
| 543 | |
| 544 | # X86 |
| 545 | if re.match('^i\d86$|^x86$|^x86_32$|^i86pc$|^ia32$|^ia-32$|^bepc$', raw_arch_string): |
| 546 | arch = 'X86_32' |
| 547 | bits = 32 |
| 548 | elif re.match('^x64$|^x86_64$|^x86_64t$|^i686-64$|^amd64$|^ia64$|^ia-64$', raw_arch_string): |
| 549 | arch = 'X86_64' |
| 550 | bits = 64 |
| 551 | # ARM |
| 552 | elif re.match('^armv8-a|aarch64$', raw_arch_string): |
| 553 | arch = 'ARM_8' |
| 554 | bits = 64 |
| 555 | elif re.match('^armv7$|^armv7[a-z]$|^armv7-[a-z]$|^armv6[a-z]$', raw_arch_string): |
| 556 | arch = 'ARM_7' |
| 557 | bits = 32 |
| 558 | elif re.match('^armv8$|^armv8[a-z]$|^armv8-[a-z]$', raw_arch_string): |
| 559 | arch = 'ARM_8' |
| 560 | bits = 32 |
| 561 | # PPC |
| 562 | elif re.match('^ppc32$|^prep$|^pmac$|^powermac$', raw_arch_string): |
| 563 | arch = 'PPC_32' |
| 564 | bits = 32 |
| 565 | elif re.match('^powerpc$|^ppc64$|^ppc64le$', raw_arch_string): |
| 566 | arch = 'PPC_64' |
| 567 | bits = 64 |
| 568 | # SPARC |
| 569 | elif re.match('^sparc32$|^sparc$', raw_arch_string): |
| 570 | arch = 'SPARC_32' |
| 571 | bits = 32 |
| 572 | elif re.match('^sparc64$|^sun4u$|^sun4v$', raw_arch_string): |
| 573 | arch = 'SPARC_64' |
| 574 | bits = 64 |
| 575 | |
| 576 | return (arch, bits) |
| 577 | |
| 578 | def is_bit_set(reg, bit): |
| 579 | mask = 1 << bit |
no outgoing calls
no test coverage detected
searching dependent graphs…