The package rpms/swift-lang.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/swift-lang.git/commit/?id=a18680b....
Change:
-%ifarch aarch64
Thanks.
Full change:
============
commit cafa36380b435cdc3e9d8056c0d932fd62eabd81
Author: Ron Olson <tachoknight(a)gmail.com>
Date: Mon Feb 11 21:52:13 2019 -0600
Updated sources
diff --git a/sources b/sources
index 1bdb7a1..886776c 100644
--- a/sources
+++ b/sources
@@ -1,13 +1,13 @@
-SHA512 (clang.tar.gz) =
6154c2a86502e80190fafb03c0fbde7c93b3c68bc09a36e4c9d291152bd4a67d7d0b4f6acd25c67366c5aa75ccb3c47b48991625f8c3df641b6e743ce69615fc
-SHA512 (cmark.tar.gz) =
2e2f4ebd66a70dc3be64d7d2008e0cedf7cc3eb3b5cb34fa605fdbeae41ef0067240373623eb4f2515f0673552b8423c3027e3cc163b847529cb8d5193e1e096
-SHA512 (corelibs-foundation.tar.gz) =
d17fe595c70990aa1c1bc1cfd219d0aa29b69e845c58468380f4006c1422ecc4f513ca76e0b8551df7905a6ae34659080fd19354aa3150e505840599d8ce3780
-SHA512 (corelibs-libdispatch.tar.gz) =
299cf698fe06db712e187227516756e8158d1a91e2fd88cb12851112ebadccfb27fd2c472bfa55f768c4151e13b81c584852575d32f541bc9315731a651ffba4
-SHA512 (corelibs-xctest.tar.gz) =
309bb67cc39fbde3f9642bb5a261f5da3cc96eae953adddd319a7e915b7c3d35bb2018e12535dcbc917564aaecbcce248468c1b0fa6e1e2b6d9cc67f5792e2ae
-SHA512 (llbuild.tar.gz) =
bafad69d506ea670c3bc484874e5486570c7976ee037ba577a46d6c2df9fe609005a2882f0633ffbb86212b4d5fa48d02fcf5a14e13235e62cbc166ec7d87b4a
-SHA512 (lldb.tar.gz) =
5155d4c21f13020f0c935823dbbc2422008f2d1523f881229f6e0aa15f836894a9c550e8d133c7a2353edc8a3a6d4edfae30f66f93ea45276de29969244fa428
-SHA512 (llvm.tar.gz) =
15b43a51855160841fbc505b426b8fbb84fd1bec920b7b07f176592a092cd69ea012a80f17912702b86446f9d61958f07f3aa4132597cabf121d1f19fa913fa9
-SHA512 (package-manager.tar.gz) =
3aadcc334e71bca73945e9f919dd6535ec2e83a0c1d79433a07ae4ab2c52092232e7d2876c7a0f61cc6ae255ccd8c2fb2d4e4fca2850006055d79a055f300aba
-SHA512 (swift-compiler-rt.tar.gz) =
c9ac21612a64f0d836ecf3eac20b5b1f579dd14b4e23a871ced857bb2b3feaabb7cf01f00c972ac69144cdc17780353e4dfdc65e66365c3c5eb0cdb71ca230e6
-SHA512 (swift-integration-tests.tar.gz) =
4dbc29814b5ccb2aea2720ba908594026b615c908be24630516bebaac22a66392eed785ccde16ce00564b98cc120669fee2d41bd782e78a025a0495055d51b47
-SHA512 (swift-xcode-playground-support.tar.gz) =
f4212ae56bcbbbe80ee1c7533d03d25c4d46371c5895e96b86b6b9b46d9fef03de94a8ef197e93ae7de468f8797f5f05096229d465fd3115a86b6362cb207922
-SHA512 (swift.tar.gz) =
7a8cd38987789304fe0a24ee88950dec68efba710da202d30a406ae534099fde23ec1ccf1a0e206762d325cd526cf563db6ddee2fff59bce45ed4241cf5f98bc
+SHA512 (clang.tar.gz) =
aa5b6f027cb911ae32e13e217556d9a7912db3a40b5c35cb5d252188c18369f0f137930e9110600f20e517819c98577c6fd660cf5c80d1b708d2fe2d924efea9
+SHA512 (cmark.tar.gz) =
7c807392ff17303ea9ef8dd48284c83859afda4368e4fb0e3829b71c62720280cb1591b2c803890d5166dafc7bc6108c02b972820bcb5fd561cc0bfd34481233
+SHA512 (corelibs-foundation.tar.gz) =
2f22e849cd628ce18cf65944ee997a32883106a1d254ef9ae56f22ee13b1f61bac8f432327043dcbb58c45dbbeef1455808ea27fd6ebc15a5a41cba478346340
+SHA512 (corelibs-libdispatch.tar.gz) =
57bd80088df91f82025654e3bf14cb990941c582ab049527f6bfd37d5f94486fffa176d83128689a18aedf7d3f90c3727f911cfbfddcbadd2df87c82bb1e346f
+SHA512 (corelibs-xctest.tar.gz) =
c00d40a8a1d607546b9a7d6be6f03ece76d632b9cad4e7eaf78a73b5fe0582af95cf35f0b5147cdc24428986b0e7fa60babaaaa5b31d8cfb3c1a9921e1cf53b5
+SHA512 (llbuild.tar.gz) =
d7d0eb91b1c7528f1bac6fcb412a653ac59f3efaf812d8f383c09aa38a3c38da451b5b75b73808bbc1e7e777d39849f48e97f7b02265f2412a1db8e54e60c5d5
+SHA512 (lldb.tar.gz) =
21f67b8e5a2642561543c92480a097f15d8e871132532a27b6929653a399023a548756a37354a2f679ca7ceab8a7f9d752cc7535c9404c19f075204ecd149268
+SHA512 (llvm.tar.gz) =
3603616a71091359a15105224f0a8f4cff229c93c907eba2f013aeff1f025b96c4e376433fcc9664ffaca0a1b13591af9a2dc1018bdf40b1a52ff416f2cce675
+SHA512 (package-manager.tar.gz) =
ff35745f4eb0f4f6fc63c42f1b4e78221047f271c0a9e4295c54fc762008829f8357214a95ec54e15e4feaac32970eccd323e8e3fe060a601b3155c7fbb6f9f5
+SHA512 (swift-compiler-rt.tar.gz) =
9d5dc54725b239bea68e6103d3e17eb292beb200e59c32bee9253d8e40cacbff508173fe8b848f31742b321dfb8cef993aa67df7a15b06127d1de7004c3beca2
+SHA512 (swift-integration-tests.tar.gz) =
9347361ba463082767fabd3513be2f82cb4f81ae1a551c2e251e8d03281a0f648c46b23ed5435d1eacc433379562243f838bfae5b2760f587211332851085622
+SHA512 (swift-xcode-playground-support.tar.gz) =
ae5770aa5d0a5121489e45f34602e9c895a203eefe887acf6d9b657bc140a15f96ee6b93d8724ca29107698e35b0c3ded35de39f2da726588737f54b44115eb5
+SHA512 (swift.tar.gz) =
8723f955efdb34048879911e1c6bf90ab1c01af4bc4f2d9d73ce3dcf88f3173edfee219e130b8a0e74b0bb0a67269a2cc493171bf194490c737d881d26274212
commit a18680bab42708f7aa8dea212d2cc1470450fde1
Author: Ron Olson <tachoknight(a)gmail.com>
Date: Mon Feb 11 21:48:30 2019 -0600
Cleaning up patches
diff --git a/aarch64-new-master-VarArgs.patch b/aarch64-new-master-VarArgs.patch
deleted file mode 100644
index c07cef0..0000000
--- a/aarch64-new-master-VarArgs.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-diff --git a/lib/ClangImporter/ImportDecl.cpp b/lib/ClangImporter/ImportDecl.cpp
-index ff503bf..c601288 100644
---- swift/lib/ClangImporter/ImportDecl.cpp
-+++ swift/lib/ClangImporter/ImportDecl.cpp
-@@ -322,8 +322,11 @@ getSwiftStdlibType(const clang::TypedefNameDecl *D,
- break;
-
- case MappedCTypeKind::VaList:
-- if (ClangTypeSize != ClangCtx.getTypeSize(ClangCtx.VoidPtrTy))
-- return std::make_pair(Type(), "");
-+ if (ClangTypeSize != ClangCtx.getTypeSize(ClangCtx.VoidPtrTy)) {
-+ if (ClangCtx.getTargetInfo().getBuiltinVaListKind() !=
-+ clang::TargetInfo::AArch64ABIBuiltinVaList)
-+ return std::make_pair(Type(), "");
-+ }
- break;
-
- case MappedCTypeKind::ObjCBool:
-diff --git a/stdlib/public/core/CTypes.swift b/stdlib/public/core/CTypes.swift
-index b46fa89..bdbe228 100644
---- swift/stdlib/public/core/CTypes.swift
-+++ swift/stdlib/public/core/CTypes.swift
-@@ -219,6 +219,29 @@ extension UInt {
- }
-
- /// A wrapper around a C `va_list` pointer.
-+#if arch(arm64) && os(Linux)
-+@_fixed_layout
-+public struct CVaListPointer {
-+ @usableFromInline // unsafe-performance
-+ internal var value: (__stack: UnsafeMutablePointer<Int>?,
-+ __gr_top: UnsafeMutablePointer<Int>?,
-+ __vr_top: UnsafeMutablePointer<Int>?,
-+ __gr_off: Int32,
-+ __vr_off: Int32)
-+
-+ @inlinable // unsafe-performance
-+ public // @testable
-+ init(__stack: UnsafeMutablePointer<Int>?,
-+ __gr_top: UnsafeMutablePointer<Int>?,
-+ __vr_top: UnsafeMutablePointer<Int>?,
-+ __gr_off: Int32,
-+ __vr_off: Int32) {
-+ value = (__stack, __gr_top, __vr_top, __gr_off, __vr_off)
-+ }
-+}
-+
-+#else
-+
- @_fixed_layout
- public struct CVaListPointer {
- @usableFromInline // unsafe-performance
-@@ -238,6 +261,8 @@ extension CVaListPointer : CustomDebugStringConvertible {
- }
- }
-
-+#endif
-+
- @inlinable
- internal func _memcpy(
- dest destination: UnsafeMutableRawPointer,
-diff --git a/stdlib/public/core/VarArgs.swift b/stdlib/public/core/VarArgs.swift
-index 5d42c58..859d987 100644
---- swift/stdlib/public/core/VarArgs.swift
-+++ swift/stdlib/public/core/VarArgs.swift
-@@ -90,6 +90,23 @@ internal let _registerSaveWords = _countGPRegisters +
_countFPRegisters * _fpReg
- internal let _countGPRegisters = 16
- @usableFromInline
- internal let _registerSaveWords = _countGPRegisters
-+
-+#elseif arch(arm64) && os(Linux)
-+// ARM Procedure Call Standard for aarch64. (IHI0055B)
-+// The va_list type may refer to any parameter in a parameter list may be in one
-+// of three memory locations depending on its type and position in the argument
-+// list :
-+// 1. GP register save area x0 - x7
-+// 2. 128-bit FP/SIMD register save area q0 - q7
-+// 3. Stack argument area
-+@usableFromInline
-+internal let _countGPRegisters = 8
-+@usableFromInline
-+internal let _countFPRegisters = 8
-+@usableFromInline
-+internal let _fpRegisterWords = 16 / MemoryLayout<Int>.size
-+@usableFromInline
-+internal let _registerSaveWords = _countGPRegisters + (_countFPRegisters *
_fpRegisterWords)
- #endif
-
- #if arch(s390x)
-@@ -498,6 +515,129 @@ final internal class _VaListBuilder {
- Builtin.addressof(&self.header)))
- }
- }
-+#elseif arch(arm64) && os(Linux)
-+
-+@_fixed_layout // FIXME(sil-serialize-all)
-+@usableFromInline // FIXME(sil-serialize-all)
-+final internal class __VaListBuilder {
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal init() {
-+ // Prepare the register save area.
-+ allocated = _registerSaveWords
-+ storage = allocStorage(wordCount: allocated)
-+ // Append stack arguments after register save area.
-+ count = allocated
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ deinit {
-+ if let allocatedStorage = storage {
-+ deallocStorage(wordCount: allocated, storage: allocatedStorage)
-+ }
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal func append(_ arg: CVarArg) {
-+ var encoded = arg._cVarArgEncoding
-+
-+ if arg is _CVarArgPassedAsDouble
-+ && fpRegistersUsed < _countFPRegisters {
-+ var startIndex = (fpRegistersUsed * _fpRegisterWords)
-+ for w in encoded {
-+ storage[startIndex] = w
-+ startIndex += 1
-+ }
-+ fpRegistersUsed += 1
-+ } else if encoded.count == 1
-+ && !(arg is _CVarArgPassedAsDouble)
-+ && gpRegistersUsed < _countGPRegisters {
-+ var startIndex = ( _fpRegisterWords * _countFPRegisters) + gpRegistersUsed
-+ storage[startIndex] = encoded[0]
-+ gpRegistersUsed += 1
-+ } else {
-+ // Arguments in stack slot.
-+ appendWords(encoded)
-+ }
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal func va_list() -> CVaListPointer {
-+ let vr_top = storage + (_fpRegisterWords * _countFPRegisters)
-+ let gr_top = vr_top + _countGPRegisters
-+
-+ return CVaListPointer(__stack: gr_top, __gr_top: gr_top,
-+ __vr_top: vr_top, __gr_off: -64, __vr_off: -128)
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal func appendWords(_ words: [Int]) {
-+ let newCount = count + words.count
-+ if newCount > allocated {
-+ let oldAllocated = allocated
-+ let oldStorage = storage
-+ let oldCount = count
-+
-+ allocated = max(newCount, allocated * 2)
-+ let newStorage = allocStorage(wordCount: allocated)
-+ storage = newStorage
-+ // Count is updated below.
-+ if let allocatedOldStorage = oldStorage {
-+ newStorage.moveInitialize(from: allocatedOldStorage, count: oldCount)
-+ deallocStorage(wordCount: oldAllocated, storage: allocatedOldStorage)
-+ }
-+ }
-+
-+ let allocatedStorage = storage!
-+ for word in words {
-+ allocatedStorage[count] = word
-+ count += 1
-+ }
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal func rawSizeAndAlignment(
-+ _ wordCount: Int
-+ ) -> (Builtin.Word, Builtin.Word) {
-+ return ((wordCount * MemoryLayout<Int>.stride)._builtinWordValue,
-+ requiredAlignmentInBytes._builtinWordValue)
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal func allocStorage(wordCount: Int) -> UnsafeMutablePointer<Int> {
-+ let (rawSize, rawAlignment) = rawSizeAndAlignment(wordCount)
-+ let rawStorage = Builtin.allocRaw(rawSize, rawAlignment)
-+ return UnsafeMutablePointer<Int>(rawStorage)
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal func deallocStorage(
-+ wordCount: Int, storage: UnsafeMutablePointer<Int>
-+ ) {
-+ let (rawSize, rawAlignment) = rawSizeAndAlignment(wordCount)
-+ Builtin.deallocRaw(storage._rawValue, rawSize, rawAlignment)
-+ }
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal let requiredAlignmentInBytes = MemoryLayout<Double>.alignment
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal var count = 0
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal var allocated = 0
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal var storage: UnsafeMutablePointer<Int>!
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal var gpRegistersUsed = 0
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal var fpRegistersUsed = 0
-+
-+ @usableFromInline // FIXME(sil-serialize-all)
-+ internal var overflowWordsUsed = 0
-+}
-
- #else
-
diff --git a/clangloc.patch b/clangloc.patch
new file mode 100644
index 0000000..5892519
--- /dev/null
+++ b/clangloc.patch
@@ -0,0 +1,11 @@
+--- lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp.orig 2019-02-08
20:24:10.121192411 -0600
++++ lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp 2019-02-08
22:20:36.347687737 -0600
+@@ -34,7 +34,7 @@
+ #else
+ static bool DefaultComputeClangDirectory(FileSpec &file_spec) {
+ return HostInfoPosix::ComputePathRelativeToLibrary(
+- file_spec, "/lib/lldb/clang/");
++ file_spec, "/swift/clang/");
+ return HostInfoPosix::ComputePathRelativeToLibrary(
+ file_spec, (llvm::Twine("/lib") + CLANG_LIBDIR_SUFFIX +
"/clang/" +
+ CLANG_VERSION_STRING)
diff --git a/swift-lang.spec b/swift-lang.spec
index e76fc18..c733d63 100644
--- a/swift-lang.spec
+++ b/swift-lang.spec
@@ -1,12 +1,12 @@
%global debug_package %{nil}
-%global swifttag 5.0-DEVELOPMENT-SNAPSHOT-2018-12-14-a
-%global swiftgithash ee39236
-%global swiftgitdate 20181214
+%global swifttag 5.0-DEVELOPMENT-SNAPSHOT-2019-02-06-a
+%global swiftgithash d07c25a
+%global swiftgitdate 20190206
%global swiftbuild swift-source
%global __provides_exclude ^/usr/lib/swift-lldb/.*\\.so.*
Name: swift-lang
Version: 5.0
-Release: 0.31.%{swiftgitdate}git%{swiftgithash}%{?dist}
+Release: 0.32.%{swiftgitdate}git%{swiftgithash}%{?dist}
Summary: Apple's Swift programming language
License: ASL 2.0
URL:
https://swift.org
@@ -24,11 +24,11 @@ Source10:
https://github.com/apple/swift-llbuild/archive/swift-%{swifttag}
Source11:
https://github.com/apple/swift-cmark/archive/swift-%{swifttag}.tar.gz#/cm...
Source12:
https://github.com/apple/swift-xcode-playground-support/archive/swift-%{s...
Source13: swift-lang.conf
-Source14: swift-lang-runtime.conf
+Source14: swift-lang-runtime.conf
Patch0: change-lldb-location.patch
-Patch1: no-ninja-build.patch
-Patch2: aarch64-new-master-VarArgs.patch
+Patch1: no-ninja-build.patch
+Patch2: clangloc.patch
BuildRequires: clang
BuildRequires: cmake
@@ -55,9 +55,9 @@ BuildRequires: ninja-build
Requires: glibc-devel
Requires: clang
-Requires: ncurses-devel
-Requires: ncurses-compat-libs
-Requires: %{name}-runtime = %{version}-%{release}
+Requires: ncurses-devel
+Requires: ncurses-compat-libs
+Requires: %{name}-runtime = %{version}-%{release}
ExclusiveArch: x86_64 aarch64
@@ -109,10 +109,8 @@ mv swift-xcode-playground-support-swift-%{swifttag}
swift-xcode-playground-suppo
# Since we require ninja for building, there's no sense to rebuild it just for Swift
%patch1 -p0
-# Specific patch for VarArg handling for Swift on ARM
-%ifarch aarch64
+# This changes the location of where the headers and libs are to keep lldb happy
%patch2 -p0
-%endif
%build
@@ -210,9 +208,11 @@ install -m 0644 %{_builddir}/usr/share/man/man1/swift.1
%{buildroot}%{_mandir}/m
%changelog
+* Fri Feb 08 2019 Ron Olson <tachoknight(a)gmail.com> 5.0-0.32.20190206gitd07c25a
+- Added patch to allow the Swift REPL to work properly, also removed patch
+ for aarch64 because the changes were merged upstream
* Sun Feb 03 2019 Fedora Release Engineering <releng(a)fedoraproject.org> -
5.0-0.31.20181214gitee39236
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
* Sat Dec 15 2018 Ron Olson <tachoknight(a)gmail.com> 5.0-0.31.20181212gite231ae1
- First version that supports aarch64
* Thu Dec 13 2018 Ron Olson <tachoknight(a)gmail.com> 5.0-0.31.20181212gite231ae1
@@ -234,7 +234,7 @@ install -m 0644 %{_builddir}/usr/share/man/man1/swift.1
%{buildroot}%{_mandir}/m
* Wed Dec 05 2018 Ron Olson <tachoknight(a)gmail.com> 5.0-0.22.20181204gitb74d54a
- Updated to swift-5.0-DEVELOPMENT-SNAPSHOT-2018-12-04-a
* Wed Dec 05 2018 Egor Zhdan <egor.zhdan(a)gmail.com>
-- Include dependencies to ncurser which are required by SourceKit and
+- Include dependencies to ncurses which are required by SourceKit and
included in Apple installation guide
* Wed Dec 05 2018 Ron Olson <tachoknight(a)gmail.com> 5.0-0.21.20181204gitfacaad1
- Updated to swift-DEVELOPMENT-SNAPSHOT-2018-12-04-a