Skip to content

Revert Attempted Fix of SR6812 #1727

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

Merged
merged 1 commit into from
Oct 15, 2018
Merged

Revert Attempted Fix of SR6812 #1727

merged 1 commit into from
Oct 15, 2018

Conversation

Kaiede
Copy link
Contributor

@Kaiede Kaiede commented Oct 14, 2018

The original fix being reverted was #1557 made _cfinfoa 32-bit, which is generally correct, but it was really attempting to fix the same issue that #1525 had fixed. Historically, _cfinfoa has been 64-bit on Linux dating back to at least Swift 3.

In the short term, because forward fixing the issues with #1557 uncover other lurking 32-bit alignment issues on Linux, it is safer to revert #1557. But because it did make for some cleaner ifdefs on the Darwin side as well, the Darwin pieces are being left alone. Going forward, it will take some investigation to uncover the reasons behind the other 32-bit alongment issues.

Original context around this problem and previous attempted fixes/reverts:
#1689
#1693

This does not attempt to fix PPC Big-Endian Issues also present here, brought up in #1709. That PR will need to be brought into alignment with this one and #1694

The original fix being reverted was #1557 made _cfinfoa 32-bit, which is generally correct, but it was really attempting to fix the same issue that #1525 had fixed. Historically, _cfinfoa has been 64-bit on Linux dating back to at least Swift 3.

In the short term, because forward fixing the issues with #1557 uncover other lurking 32-bit alignment issues on Linux, it is safer to revert #1557. But because it did make for some cleaner ifdefs on the Darwin side as well, the Darwin pieces are being left alone. Going forward, it will take some investigation to uncover the reasons behind the other 32-bit alongment issues.

Original context around this problem and previous attempted fixes/reverts:
@spevans
Copy link
Contributor

spevans commented Oct 14, 2018

@swift-ci test

@millenomi
Copy link
Contributor

I’ll be reviewing this on Monday.

@@ -194,19 +194,11 @@ typedef struct __CFRuntimeBase {
// This matches the isa and retain count storage in Swift
uintptr_t _cfisa;
uintptr_t _swift_rc;
// This is for CF's use, and must match _NSCFType layout
#if defined(__LP64__) || defined(__LLP64__)
// This is for CF's use, and must match __NSCFType/_CFInfo layout
Copy link
Contributor

Choose a reason for hiding this comment

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

Just one comment: do we want to move _CFInfo to match (one UInt64 instead of two UInt32s?) @mundaym

Copy link
Contributor

Choose a reason for hiding this comment

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

By which I mean: in this same patch.

Copy link
Contributor Author

@Kaiede Kaiede Oct 15, 2018

Choose a reason for hiding this comment

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

I generally try to keep reverts away from other changes, personally. But that comes from a non-git background. In general, this PR, #1694 and #1709 are already getting pretty entangled as it is.

Is the purpose of this PR to unblock ARM32 caused by a regression, or to generally start to fix the underlying issues that caused the regression? If the former, I'd say keep this focused, and then it should be easy to follow up with the other fixes. If the latter, than we should probably have these commits coming in as a group, but then it gets a bit more difficult since I can't really test PPC BE on behalf of @mundaym.

Copy link
Contributor

Choose a reason for hiding this comment

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

Then I’m good with this and let’s figure out the rest step by step.

@millenomi
Copy link
Contributor

@swift-ci please test and merge

1 similar comment
@millenomi
Copy link
Contributor

@swift-ci please test and merge

@swift-ci swift-ci merged commit 9d123b7 into swiftlang:master Oct 15, 2018
@millenomi
Copy link
Contributor

Our national nightmare etc.

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.

4 participants