View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014083CMakeModulespublic2013-04-15 09:472014-03-05 09:58
ReporterJan Hudec 
Assigned ToPatrick R. Gansterer 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in VersionCMake 2.8.12 
Summary0014083: WinCE generators should not default to THUMB for ARMV4 SDKs
DescriptionI've tested the new Windows CE support and noticed it forces /MACHINE:THUMB for all ARM machines. But this does not seem to be correct for SDKs targeting just ARMV4 rather than ARMV4I, such as "Pocket PC 2003 (ARMV4)" pre-installed with Visual Studio 2008, because ARMV4 does not have to have THUMB mode.

The WinCE support patch I was using so far (git://gitorious.org/~paroga/cmake/parogas-cmake.git#wince [^]) uses the logic I described above.

The "correct" approach is to test the "INSTRUCTIONSET" macro from the WCE.VCPlatform.config, but it is always included in the SDK name, so matching on that should do.
Steps To ReproduceUse "Visual Studio 9 2008 Pocket PC 2003 (ARMV4)" generator or other WinCE 4.2 SDK.

The default machine should be ARM, but will be THUMB.
Additional InformationI suspect similar problem might apply to the substitution of SH4 for SH, but we are not compiling for any SH target, so I am not sure.
TagsNo tags attached.
Attached Files

 Relationships
related to 0007919closedBrad King Patch for Windows Platform files to add WinCE support with NMake 
related to 0014436closedPatrick R. Gansterer Missing ARCHFAM preprocessor definition in WinCE Visual Studio generators (armv41) 

  Notes
(0032835)
Jan Hudec (reporter)
2013-04-15 09:49
edited on: 2013-04-15 09:50

I would add relation to 0007919, but I don't seem to be able to. Nor am I able to add comment there to mention that I've added this one.

(0033669)
Patrick R. Gansterer (developer)
2013-08-05 14:33

I've pushed a solution at http://cmake.org/gitweb?p=stage/cmake.git;h=refs/heads/peheader. [^]
The /machine flag is now read from the COFF header of the inital generated binary. This binary is generated by the _default_ configuration of the selected SDK (see Modules/CompilerId/VS-7.vcproj.in). On my machine it detects THUMB (not ARM) when used with "Visual Studio 8 2005 Pocket PC 2003 (ARMV4)", but the /machine:THUMB for linker generates no error.
Do you get any error? Does it make a difference if ARM or THUMB is used on your device?
(0033671)
Patrick R. Gansterer (developer)
2013-08-06 17:19

Merged into master: http://cmake.org/gitweb?p=cmake.git;a=commit;h=5b141a7b293bc26b35fc1b3320931f8cc16901a1 [^]
(0035266)
Robert Maynard (manager)
2014-03-05 09:58

Closing resolved issues that have not been updated in more than 4 months

 Issue History
Date Modified Username Field Change
2013-04-15 09:47 Jan Hudec New Issue
2013-04-15 09:49 Jan Hudec Note Added: 0032835
2013-04-15 09:49 Brad King Relationship added related to 0007919
2013-04-15 09:50 Brad King Assigned To => Patrick R. Gansterer
2013-04-15 09:50 Brad King Status new => assigned
2013-04-15 09:50 Jan Hudec Note Edited: 0032835
2013-08-05 14:33 Patrick R. Gansterer Note Added: 0033669
2013-08-06 17:19 Patrick R. Gansterer Note Added: 0033671
2013-08-06 17:19 Patrick R. Gansterer Status assigned => resolved
2013-08-06 17:19 Patrick R. Gansterer Resolution open => fixed
2013-08-06 17:19 Patrick R. Gansterer Fixed in Version => CMake 2.8.12
2013-09-24 11:19 Brad King Relationship added related to 0014436
2014-03-05 09:58 Robert Maynard Note Added: 0035266
2014-03-05 09:58 Robert Maynard Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team