xref: /freebsd-src/contrib/file/magic/Magdir/arm (revision ae316d1d1cffd71ab7751f94e10118777a88e027)
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