ICU-20382 ICU4C: pkgdata and genccode support ARM32 but not ARM64 on Windows #412
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The tools
pkgdata
andgenccode
on Windows currently support producing ARM 32-bit objects, but not ARM 64-bit objects.However, when building the data .obj files for ARM64, the image file type doesn't actually need to be set.
We can use the unknown type,
IMAGE_FILE_MACHINE_UNKNOWN
, since they are data only obj files.(This is what is currently used for AMD64 (x64) architecture.)
We can use this approach to simply the code somewhat, which will also enable support for ARM64 as well.
(Thanks to Jon Kunkee for reporting this bug.)
Note: Unfortunately, the variable name decoration/mangling is different on x86, which means we can't use the UNKNOWN type for all architectures though, and must keep the special case for x86.
Checklist