Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICU-20382 ICU4C: pkgdata and genccode support ARM32 but not ARM64 on Windows #412

Merged
merged 1 commit into from
Feb 11, 2019

Conversation

jefgen
Copy link
Member

@jefgen jefgen commented Feb 9, 2019

The tools pkgdata and genccode 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

@jefgen jefgen merged commit 4ebb3ce into unicode-org:master Feb 11, 2019
@jefgen jefgen deleted the jefgen/20382-arm64 branch February 11, 2019 20:31
jkunkee added a commit to jkunkee/node that referenced this pull request Feb 15, 2019
ICU 63 as ingested by Node.js does not quite support ARM64 Windows
because its OBJ file IMAGE_FILE_MACHINE_TYPE field logic defaults to
x86 instead of Unknown.

A fix for this has been merged upstream for ICU 64.1:

unicode-org/icu#412

This commit backports this change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants