-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
openexr: ensure struct is packed on PPC systems #18872
openexr: ensure struct is packed on PPC systems #18872
Conversation
Notifying maintainers: |
I do not see why this fix is necessary, but more tests succeeded with it. |
Sergey's previous work related to PPC is here, including links to discussion with upstream: PR 18711 - openexr: fix defines in libdispatch-related patch But if you've already reviewed everything, then no worries. CC: @barracuda156 |
I do not recall any mention of this issue, but I may have missed it. |
You'll want to review all of the discussion in Sergey's upstream issues: https://github.com/AcademySoftwareFoundation/openexr/issues/created_by/barracuda156 |
p.s. OpenEXR upstream has been very responsive, and committed at least one fix relative to Sergey's discussions. Awesome collaboration, to be sure! |
@evanmiller and I went through a longish investigation of struct packing on ppc about two years ago building mozjs … probably relevant if we can find it |
I can run tests tomorrow with gcc12. (Now almost sleeping.) |
I already have, but if this particular issue was mentioned, I did not recognize it. |
Me neither, but don’t count on my brain right now ) |
I'm quite certain that packing-related discussion occurred in one of those, probably those related to test failures. |
I found the powerpc struct packing analysis evan and I did before here: |
Thank you for the link and the analysis. |
@kencu Thank you for the link, I need to go through that! @MarcusCalhoun-Lopez Could you post test results from gcc7 (on Leopard, I assume?)? |
I have already reduced the problem to the smallest test case. To summarize: Using GCC7 on PPC Mac OS X Leopard (10.5), |
@MarcusCalhoun-Lopez Ok let me just try your examples. I am curious to see if that was fixed in GCC. |
The system compiler ( |
Has this been filed to GCC upstream? |
No, I am afraid not. |
Should I open a ticket on Bugzilla or you wanna do it? (tag Iain if you do). P. S. And I guess we need to pass the fix to |
If you wouldn't mind, I would greatly appreciate it.
I was a little hesitant to talk to OpenEXR upstream about this since, as far as I can tell, it a GCC issue on PowerPC. |
If it does not break anything else, I reckon there is no reason not to add it. If it does, then adding it conditionally is isn’t troublesome either, I hope.
Sure, will open an issue now. |
gcc will just say "If you want a struct packed, then declare it as packed". :>
|
apple added various extensions to gcc to suit their purposes -- such things are in gcc-4.2 (from Apple) but not necessarily in the main gcc codebase. So Apple's gcc (and Apple's clang and llvm, for that matter) are a bit different from mainline gcc. These extensions may well not be appropriate to put in the main gcc codebase. These are not necessarily gcc bugs, or anyone's bugs -- just have to learn the proper way to do things. |
@kencu Let’s see what upstream says on this one. |
Although we still have to work with upstream (OpenEXR and/or GCC), I do not believe there are any objections to the PR itself, so I will go ahead and merge. With this PR, on PPC systems, 7 tests still fail for a 94% success rate. |
@MarcusCalhoun-Lopez GCC upstream is working on the issue, Iain may have a solution. To be updated. Could you submit a fix to |
I would be happy to submit a PR to OpenEXR, but may I humbly suggest we wait to hear back from GCC first? |
@MarcusCalhoun-Lopez Yeah, no hurry here, sure. |
Description
Type(s)
Tested on
macOS x.y
Xcode x.y / Command Line Tools x.y.z
Verification
Have you
port lint --nitpick
?sudo port test
?sudo port -vst install
?