143a5ec4eSXin LI#------------------------------------------------------------------------------ 2*ae316d1dSXin LI# $File: arm,v 1.4 2024/02/18 14:15:22 christos Exp $ 343a5ec4eSXin LI# arm: file(1) magic for ARM COFF 443a5ec4eSXin LI# 543a5ec4eSXin LI# https://docs.microsoft.com/en-us/windows/win32/debug/pe-format 643a5ec4eSXin LI 743a5ec4eSXin LI# Aarch64 843a5ec4eSXin LI0 leshort 0xaa64 943a5ec4eSXin LI# test for unused flag bits in f_flags 1043a5ec4eSXin LI>18 uleshort&0x8E80 0 1143a5ec4eSXin LI# use little endian variant of subroutine to 1243a5ec4eSXin LI# display name+variables+flags for common object formatted files 1343a5ec4eSXin LI>>0 use display-coff 1443a5ec4eSXin LI!:strength -10 1543a5ec4eSXin LI 1643a5ec4eSXin LI# ARM 1743a5ec4eSXin LI0 leshort 0x01c0 1843a5ec4eSXin LI# test for unused flag bits in f_flags 1943a5ec4eSXin LI>18 uleshort&0x8E80 0 2043a5ec4eSXin LI# use little endian variant of subroutine to 2143a5ec4eSXin LI# display name+variables+flags for common object formatted files 2243a5ec4eSXin LI>>0 use display-coff 2343a5ec4eSXin LI!:strength -10 2443a5ec4eSXin LI 2543a5ec4eSXin LI# ARM Thumb 2643a5ec4eSXin LI0 leshort 0x01c2 2743a5ec4eSXin LI# test for unused flag bits in f_flags 2843a5ec4eSXin LI>18 uleshort&0x8E80 0 2943a5ec4eSXin LI# use little endian variant of subroutine to 3043a5ec4eSXin LI# display name+variables+flags for common object formatted files 3143a5ec4eSXin LI>>0 use display-coff 3243a5ec4eSXin LI!:strength -10 3343a5ec4eSXin LI 3443a5ec4eSXin LI# ARMv7 Thumb 3543a5ec4eSXin LI0 leshort 0x01c4 3643a5ec4eSXin LI# test for unused flag bits in f_flags 3743a5ec4eSXin LI>18 uleshort&0x8E80 0 3843a5ec4eSXin LI# use little endian variant of subroutine to 3943a5ec4eSXin LI# display name+variables+flags for common object formatted files 4043a5ec4eSXin LI>>0 use display-coff 4143a5ec4eSXin LI!:strength -10 42898496eeSXin LI 43*ae316d1dSXin LI# ARM64 Compiled Hybrid PE X86 44*ae316d1dSXin LI0 leshort 0x3a64 45*ae316d1dSXin LI# test for unused flag bits in f_flags 46*ae316d1dSXin LI>18 uleshort&0x8E80 0 47*ae316d1dSXin LI# use little endian variant of subroutine to 48*ae316d1dSXin LI# display name+variables+flags for common object formatted files 49*ae316d1dSXin LI>>0 use display-coff 50*ae316d1dSXin LI!:strength -10 51*ae316d1dSXin LI 52898496eeSXin LI# ARM64EC 53898496eeSXin LI0 leshort 0xa641 54898496eeSXin LI# test for unused flag bits in f_flags 55898496eeSXin LI>18 uleshort&0x8E80 0 56898496eeSXin LI# use little endian variant of subroutine to 57898496eeSXin LI# display name+variables+flags for common object formatted files 58898496eeSXin LI>>0 use display-coff 59898496eeSXin LI!:strength -10 60