I have inherited a blob of a VS2008 project. It has 20+ DLL’s that have been used and reused over many different projects. Some of the DLL’s are built as subprojects in VS Platform Builder. Others are built with the SDK in VS2008. In Platform Builder I can see the /MACHINE
is set to ARMv7. In VS2008, I can’t tell what it is building, (Target Machine = Not Set). (This is unmanaged code.) DUMPBIN /HEADERS
tells me the DLL is using the THUMB instruction set.
The build config platform-names are: AM3517 (ARMv4I), iMX6 SDK (ARMv4I), _TGTCPU
I’m trying to figure out if the DLL has been built to work on ARMv4I or ARMv7 microarchitecture. This Q says ARMv4 code is not fully compatible with ARMv7. It appears that Platform Builder generates ARMv7 code while the VS2008 generates something different. I’m not sure if the platform-name reference of “ARMv4I” is leftover from earlier projects or it really is generating ARMv4I code.
How can I tell which microarchitecture the DLL was built for?