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

Fix Apple Universal 2 (arm64/x86_64) builds #854

Merged
merged 2 commits into from
Oct 22, 2020

Conversation

hjmallon
Copy link
Contributor

The earlier change #772 is no longer required on recent betas od Xcode (I used Xcode 12.2 beta2), so that is reverted. Also this reconfigures how the config define for AVX works so that ARM64 and x86_64 can be built with the same config header (as required by cmake universal builds).

Copy link
Contributor

@meshula meshula left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! The DCO check needs addressing, and then it's good, I think!

…arm64 macOS"

This reverts commit 67053eb.

Signed-off-by: Harry Mallon <[email protected]>
* In these types of builds we want arm64 and x86_64 (with AVX optimisations).
  However the way cmake works (with `CMAKE_OSX_ARCHITECTURES="arm64;x86_64"`
  means that we share one OpenEXRConfigInternal.h between both builds. So
  we have to have OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX mean "AVX GCC asm is
  available if platform is x86", rather than "AVX GCC asm is available".
  Then we decide on AVX optimisations based on that #define and also the
  platform defines.

Signed-off-by: Harry Mallon <[email protected]>
@hjmallon
Copy link
Contributor Author

I have fixed the sign-off. Cheers.

@meshula
Copy link
Contributor

meshula commented Oct 22, 2020

@kdt3rd Kimball, would you mind giving this a once over? A second set of eyes would be great, I want to make sure there isn't some weird platform permutation that I haven't thought of.

Copy link
Contributor

@lgritz lgritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks reasonable to me -- just tightening the "can we use inline avx asm" test to make sure it's Intel and not ARM.

@meshula meshula merged commit e028c3b into AcademySoftwareFoundation:master Oct 22, 2020
@gregcotten
Copy link

Perhaps a new point release soon with this? This fixes universal build support for the macOS platform, which is a quite significant change.

@cary-ilm
Copy link
Member

cary-ilm commented Dec 1, 2020 via email

@cary-ilm
Copy link
Member

cary-ilm commented Dec 3, 2020

We'll plan a 2.5.4 release with this and some other fixes, but won't likely be able to make it before early January. The 3.0 release will likely come later in January.

@gregcotten
Copy link

gregcotten commented Dec 3, 2020

Makes sense! hopefully it will be "re-fixed" for the 3.0 release, as well. Re-opened the issue here.

@gregcotten
Copy link

gregcotten commented Jan 29, 2021

@cary-ilm Did this make it into 2.5.4?

Update: seems like it didn't!

@cary-ilm
Copy link
Member

cary-ilm commented Feb 4, 2021 via email

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 17, 2021
## Version 2.5.5 (February 12, 2021)

Patch release with various bug/sanitizer/security fixes, primarily
related to reading corrupted input files, but also a fix for universal
build support on macOS.

Specific OSS-fuzz issues include:

* OSS-fuzz [#30291](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30291)
* OSS-fuzz [#29106](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29106)
* OSS-fuzz [#28971](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28971)
* OSS-fuzz [#29829](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29829)
* OSS-fuzz [#30121](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30121)

### Merged Pull Requests

* [#914](AcademySoftwareFoundation/openexr#914) additional verification of DWA data sizes
* [#910](AcademySoftwareFoundation/openexr#910) update tileoffset sanitycheck to handle ripmaps
* [#903](AcademySoftwareFoundation/openexr#903) prevent overflows by using Int64 for all vars in DWA initialize
* [#901](AcademySoftwareFoundation/openexr#901) Use size_t for DWA buffersize calculation
* [#897](AcademySoftwareFoundation/openexr#897) prevent overflow in RgbaFile cachePadding
* [#896](AcademySoftwareFoundation/openexr#896) add buffer size validation to FastHuf decode
* [#893](AcademySoftwareFoundation/openexr#893) Include <limits> where required by newer compilers
* [#889](AcademySoftwareFoundation/openexr#889) Add explicit #include <limits> for numeric_limits
* [#854](AcademySoftwareFoundation/openexr#854) Fix Apple Universal 2 (arm64/x86_64) builds
cary-ilm added a commit to cary-ilm/openexr that referenced this pull request May 7, 2021
cary-ilm added a commit that referenced this pull request May 7, 2021
cary-ilm added a commit to cary-ilm/openexr that referenced this pull request May 13, 2021
cary-ilm added a commit to cary-ilm/openexr that referenced this pull request May 17, 2021
cary-ilm added a commit that referenced this pull request May 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants