Commit Graph

20 Commits

Author SHA1 Message Date
Finagolfin
22833fbc54 [android] Update to LTS NDK 27c
Add a new bits/ header to the Android overlay, include runtime libraries that are
auto-extracted and listed many times to the list of libraries to be de-duplicated,
enable a C++ interop test that's working again, and update the doc with new
libraries that need to be available to run a simple executable.
2024-11-14 00:11:53 +05:30
finagolfin
8fe0fd1781 Update list of Swift runtime libraries to be de-duplicated, so the autolink-extract tool doesn't repeat them over and over again (#76224) 2024-09-16 16:36:05 -07:00
Jeremy Schonfeld
c069bd63dc Add new Foundation libraries to SwiftRuntimeLibsOrdered (#76019) 2024-09-03 09:07:03 -07:00
Daniel Rodríguez Troitiño
b43d01ff7f [autolink-extract] Support (and ignore) LLVM IR files. (#71142)
In Linux, the current implementation of swift-autolink-extract does not
support LLVM IR files resulting from using LTO.

If one tries to build LLVM using LTO and then try to link one of the
targets that use `swiftc` to link, but link against LLVM object files
(like `swift-plugin-server`), `swift-autolink-extract` will fail saying
that some object files are not valid.

To deal with LLVM IR files correctly, create and pass
a `llvm::LLVMContext` around, which allows the APIs in `llvm::object` to
read LLVM IR files. Additionally, handle the case of `IRObjectFile` when
extracting, but perform no action.
2024-01-31 11:01:39 -08:00
Yuta Saito
18923c3b70 [wasm] Read autolink entries from custom section instead of data segments
This change is required since
d0f00c4d76
and we no longer need wasm custom implementation.
2023-05-15 10:02:12 +00:00
Gwynne Raskind
10af912c49 Whoops. El smarty-pants over here forgot to put XCTest back where it goes after fixing ordering 2023-03-14 11:58:46 -05:00
Gwynne Raskind
f5e5c8cc5f Okay, let's try actually having an ordering if we're trying to use an ordering 2023-03-13 20:12:43 -05:00
Gwynne Raskind
32d1a2f52c Update autolink_extract_main.cpp 2023-03-13 18:39:01 -05:00
Gwynne Raskind
207ceae94b Workaround for XCTest buildsystem rpath bug 2023-03-13 16:55:14 -05:00
Gwynne Raskind
009ee7efb7 Address PR feedback 2023-03-13 09:29:21 -05:00
Gwynne Raskind
b466f317f4 Add the remaining toolchain-distributed runtime libs to autolink-extract deduplication 2023-03-12 20:31:18 -05:00
Alastair Houghton
44783e72c6 [Frontend] Add support for implicit import of _Backtracing
Once the API has gone through Swift Evolution, we will want to implicitly
import the _Backtracing module.  Add code to do that, but set it to off
by default for now.

rdar://105394140
2023-03-04 08:00:06 +00:00
Artem Chikin
a69ba3a03c [Autolink Extract] Filter out StringProcessing library from being linked more than once.
We cannot filter all libraries because duplicate -l flags have a semantic meaning based on their order, but filtering out just the common Swift libraries should yield a good size improvement already and is safe.
2022-11-29 15:44:29 -08:00
Artem Chikin
3d30527529 [Autolink Extract] Filter out common Swift libraries from being linked more than once
A partial solution to #58380
2022-05-25 15:18:37 -07:00
Artem Chikin
3e8a115195 Revert "[Autolink Extract] Keep a set of linker flags instead of vector" 2022-05-23 16:03:09 -07:00
Artem Chikin
10a187d2ad [Autolink Extract] Keep a set of linker flags instead of vector
Otherwise we can duplicate linker flags across input binaries, which can result in very large linkerr invocation commands.

Resolves https://github.com/apple/swift/issues/58380
2022-05-20 15:18:43 -07:00
swift-ci
c51550f30e Merge remote-tracking branch 'origin/main' into rebranch 2021-09-30 15:11:41 -07:00
Max Desiatov
c52f37c500 DriverTool: add support for WebAssembly autolink entries (#39502)
This change adds support for `.swift1_autolink_entries` in WebAssembly object files to `lib/DriverTool/autolink_extract_main.cpp`. This is implemented in a similar way to existing ELF autolink entries handling.
2021-09-29 16:39:34 +01:00
swift-ci
97cfa6b6f8 Merge remote-tracking branch 'origin/main' into rebranch 2021-07-13 13:52:43 -07:00
Xi Ge
515cf21ba3 driver: refactor driver tool logics into a library. NFC 2021-07-13 10:03:12 -07:00