WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
230061
Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use
https://bugs.webkit.org/show_bug.cgi?id=230061
Summary
Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use
Michael Catanzaro
Reported
2021-09-08 13:45:16 PDT
With: -DCMAKE_C_FLAGS="-flto=auto" -DCMAKE_CXX_FLAGS="-flto=auto" -DGCC_OFFLINEASM_SOURCE_MAP=ON gcc-11.2.1-1.fc34, and cmake-3.20.5-1.fc34, JavaScriptCore fails to link successfully. The full error message is: /tmp/cchYjCtn.s: Assembler messages: /tmp/cchYjCtn.s:23: Error: file table slot 1 is already occupied by a different file (../../Source/JavaScriptCore/llint/LowLevelInterpreter.cpp vs /home/mcatanzaro/Projects/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm) /tmp/cchYjCtn.s:103670: Error: file table slot 2 is already occupied by a different file (/home/mcatanzaro/Projects/WebKit/WebKitBuild/GNOME/JavaScriptCore/DerivedSources/InitBytecodes.asm vs ../../Source/JavaScriptCore/heap/SlotVisitorInlines.h) /tmp/cchYjCtn.s:103689: Error: file table slot 3 is already occupied by a different file (/home/mcatanzaro/Projects/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm vs WTF/Headers/wtf/Atomics.h) /tmp/cchYjCtn.s:103697: Error: file table slot 4 is already occupied by a different file (/home/mcatanzaro/Projects/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm vs ../../Source/JavaScriptCore/heap/HeapCellInlines.h) /tmp/cchYjCtn.s:103702: Error: file table slot 5 is already occupied by a different file (/home/mcatanzaro/Projects/WebKit/WebKitBuild/GNOME/JavaScriptCore/DerivedSources/InitWasm.asm vs ../../Source/JavaScriptCore/heap/PreciseAllocation.h) /tmp/cchYjCtn.s:103728: Error: file table slot 6 is already occupied by a different file (/home/mcatanzaro/Projects/WebKit/Source/JavaScriptCore/llint/WebAssembly.asm vs ../../Source/JavaScriptCore/heap/MarkedBlock.h) make: *** [/tmp/ccrXP4o0.mk:2: /tmp/cctehSRQ.ltrans0.ltrans.o] Error 1 make: *** Waiting for unfinished jobs.... lto-wrapper: fatal error: make returned 2 exit status compilation terminated. /usr/bin/ld.gold: fatal error: lto-wrapper failed collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. Notice this occurs when called by lto-wrapper. The build works fine when LTO is disabled. In case it matters (unlikely), my full CMake command line is: jhbulid run cmake -DCMAKE_C_FLAGS="-flto=auto" -DCMAKE_CXX_FLAGS="-flto=auto" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPORT=GTK -DDEVELOPER_MODE=ON -DGCC_OFFLINEASM_SOURCE_MAP=ON -DCMAKE_INSTALL_PREFIX=$HOME/Projects/GNOME/install/ -DCMAKE_INSTALL_LIBDIR=lib -GNinja When this bug is fixed, please also reenable the GCC_OFFLINEASM_SOURCE_MAP feature by reverting the patch in
bug #229893
!
Attachments
Patch
(3.24 KB, patch)
2021-09-17 10:20 PDT
,
Angelos Oikonomopoulos
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2021-09-15 13:46:15 PDT
<
rdar://problem/83166173
>
Angelos Oikonomopoulos
Comment 2
2021-09-17 10:20:51 PDT
Created
attachment 438488
[details]
Patch
Angelos Oikonomopoulos
Comment 3
2021-09-17 10:22:23 PDT
Thanks for the clear instructions on how to reproduce Michael! Uploaded a simple workaround, would be great if you could verify it fixes things for you.
Michael Catanzaro
Comment 4
2021-09-17 12:55:44 PDT
Comment on
attachment 438488
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=438488&action=review
Tested this. It works. Thanks Angelos!
> Source/JavaScriptCore/CMakeLists.txt:1472 > + COMPILE_OPTIONS "-fno-lto")
OK, I was going to whine that you need to check if the option is supported, but this is within a CMAKE_COMPILER_IS_GNUCXX guard so no need.
EWS
Comment 5
2021-09-17 13:03:57 PDT
Committed
r282685
(
241824@main
): <
https://commits.webkit.org/241824@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 438488
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug