Bug 310288
| Summary: | Fix Thread Sanitizer builds of TestWebKitAPI: ld: Too many personality routines for compact unwind to encode | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | David Kilzer (:ddkilzer) <ddkilzer> |
| Component: | Tools / Tests | Assignee: | David Kilzer (:ddkilzer) <ddkilzer> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar, Regression |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=299224 | ||
David Kilzer (:ddkilzer)
Thread Sanitizer (TSan) builds of `TestWebKitAPI` and `TestWebKitAPIApp` fail at the link step with the following error:
```
ld: Too many personality routines for compact unwind to encode. Found routines:
'___gcc_personality_v0'
'___gxx_personality_v0'
'___objc_personality_v0'
'__swift_exceptionPersonality'
Move one or more unique personality routine users to a separate dynamic library.
clang++: error: linker command failed with exit code 1
```
`TestWebKitAPIBundle` fails with a cascading error due to the missing `TestWebKitAPI` executable.
`TestWebKitAPI` now links Swift source files added by the "[Swift in WebKit]" commit series (308668@main, 309343@main). The addition of Swift introduces `__swift_exceptionPersonality` as a fourth exception handling personality routine, which exceeds the compact unwind encoding limit.
The same error was previously fixed for `WebCore.framework` and `WebKit.framework` in Bug 299224 (300615@main).
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/172926718>
David Kilzer (:ddkilzer)
Pull request: https://github.com/WebKit/WebKit/pull/60943
EWS
Committed 309575@main (7ac0919ca48b): <https://commits.webkit.org/309575@main>
Reviewed commits have been landed. Closing PR #60943 and removing active labels.