[win32] libotr.dll links to (missing) libgcc_s_sjlj-1.dll
Categories
(Thunderbird :: Build Config, defect, P2)
Tracking
(thunderbird_esr78 unaffected, thunderbird_esr91 fixed, thunderbird92 fixed)
Tracking | Status | |
---|---|---|
thunderbird_esr78 | --- | unaffected |
thunderbird_esr91 | --- | fixed |
thunderbird92 | --- | fixed |
People
(Reporter: rjl, Assigned: rjl)
References
(Blocks 1 open bug, Regression)
Details
Attachments
(1 file)
48 bytes,
text/x-phabricator-request
|
rjl
:
approval-comm-beta+
wsmwk
:
approval-comm-esr91+
|
Details | Review |
Likely a regression from bug 1700240.
An additional DLL (libgcc_s_sjlj-1.dll ) started getting linked in the libotr build, but only win32.
The functions that are used from libgcc_s_sjlj-1.dll are __udivdi3 and __umoddi3. These are functions from libgcc to do 64-bit math on 32-bit architectures. There's several possible fixes, but the easiest appears to be ensuring that libgcc is statically linked with -static-libgcc
.
There's an xpcshell test that is supposed to detect this kind of failure, yet it passes in Treeherder on win32.
Win64:
➜ mingw-ldd libotr.dll
msvcrt.dll => /usr/lib/wine/x86_64-windows/msvcrt.dll
advapi32.dll => /usr/lib/wine/x86_64-windows/advapi32.dll
ws2_32.dll => /usr/lib/wine/x86_64-windows/ws2_32.dll
libssp-0.dll => libssp-0.dll
Win32:
➜ mingw-ldd libotr.dll
msvcrt.dll => /usr/lib32/wine/i386-windows/msvcrt.dll
advapi32.dll => /usr/lib32/wine/i386-windows/advapi32.dll
ws2_32.dll => /usr/lib32/wine/i386-windows/ws2_32.dll
libgcc_s_sjlj-1.dll => **not found**
libssp-0.dll => libssp-0.dll
`
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
Win32 builds need to pick up two functions from libgcc (__udivdi3, __umoddi3).
Statically link it so that we do not need to ship an additional DLL.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/a3337d3e850e
Build libotr for win32 with -static-libgcc. r=clokep
Updated•3 years ago
|
Comment 3•3 years ago
|
||
Is this causing the linux bustages?
Comment 4•3 years ago
|
||
I dunno, it shouldn't affect Linux but it still looks suspicious. I started a Linux build on the Try run to see what happens.
Comment 5•3 years ago
|
||
It builds on Try, so no, I don't think this is causing the bustage.
Assignee | ||
Comment 6•3 years ago
|
||
Comment on attachment 9235596 [details]
Bug 1724914 - Build libotr for win32 with -static-libgcc. r=clokep
[Approval Request Comment]
Regression caused by (bug #): 1700240
User impact if declined: OTR chat encryption does not work on Windows x86 builds
Testing completed (on c-c, etc.): I verified it works now off nightly
Risk to taking this patch (and alternatives if risky): Low risk, just added a flag to the linker command to pick up the missing functions.
Assignee | ||
Comment 7•3 years ago
|
||
Comment on attachment 9235596 [details]
Bug 1724914 - Build libotr for win32 with -static-libgcc. r=clokep
[Triage Comment]
Approved for 92.0b1
Assignee | ||
Comment 8•3 years ago
|
||
bugherder uplift |
Thunderbird 92.0b1:
https://hg.mozilla.org/releases/comm-beta/rev/3967d8a3b17a
Comment 9•3 years ago
|
||
Comment on attachment 9235596 [details]
Bug 1724914 - Build libotr for win32 with -static-libgcc. r=clokep
[Triage Comment]
Approved for esr91 per chat discussion
Assignee | ||
Comment 10•3 years ago
|
||
bugherder uplift |
Thunderbird 91.0.1:
https://hg.mozilla.org/releases/comm-esr91/rev/78579765a2af
Description
•