<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>230061</bug_id>
          
          <creation_ts>2021-09-08 13:45:16 -0700</creation_ts>
          <short_desc>Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use</short_desc>
          <delta_ts>2021-09-17 13:04:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=229893</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Angelos Oikonomopoulos">angelos</assigned_to>
          <cc>angelos</cc>
    
    <cc>annulen</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1791604</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-09-08 13:45:16 -0700</bug_when>
    <thetext>With:

-DCMAKE_C_FLAGS=&quot;-flto=auto&quot; -DCMAKE_CXX_FLAGS=&quot;-flto=auto&quot; -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=&quot;-flto=auto&quot; -DCMAKE_CXX_FLAGS=&quot;-flto=auto&quot; -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!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793834</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-15 13:46:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/83166173&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794490</commentid>
    <comment_count>2</comment_count>
      <attachid>438488</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-09-17 10:20:51 -0700</bug_when>
    <thetext>Created attachment 438488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794491</commentid>
    <comment_count>3</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-09-17 10:22:23 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794564</commentid>
    <comment_count>4</comment_count>
      <attachid>438488</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-09-17 12:55:44 -0700</bug_when>
    <thetext>Comment on attachment 438488
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=438488&amp;action=review

Tested this. It works. Thanks Angelos!

&gt; Source/JavaScriptCore/CMakeLists.txt:1472
&gt; +        COMPILE_OPTIONS &quot;-fno-lto&quot;)

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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794569</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-17 13:03:57 -0700</bug_when>
    <thetext>Committed r282685 (241824@main): &lt;https://commits.webkit.org/241824@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438488.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438488</attachid>
            <date>2021-09-17 10:20:51 -0700</date>
            <delta_ts>2021-09-17 13:03:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230061-20210917172050.patch</filename>
            <type>text/plain</type>
            <size>3314</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NjFhYzVjZjcxMjVhOGM3NWE1NzhhZGRkMDEzNjc2NTM1ODY1NzZlLi4zMWY4MGRkYWQxOWNhMjEw
ZjdlOWJmMmYzMWM4NzYxNGY4NzAyYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMS0wOS0xNyAgQW5nZWxvcyBPaWtvbm9tb3BvdWxvcyAgPGFuZ2Vsb3NA
aWdhbGlhLmNvbT4KKworICAgICAgICBVbmJyZWFrIEdDQ19PRkZMSU5FQVNNX1NPVVJDRV9NQVAg
d2hlbiBMVE8gaXMgaW4gdXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzAwNjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzMTY2MTczPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91ciBBU00gcG9z
dHByb2Nlc3NpbmcgaGFjayBpcyBpbmNvbXBhdGlibGUgd2l0aAorICAgICAgICBMVE8uIFVuY29u
ZGl0aW9uYWxseSBkaXNhYmxlIExUTyBmb3IgTG93TGV2ZWxJbnRlcnByZXRlci5jeHggd2hlbgor
ICAgICAgICBHQ0NfT0ZGTElORUFTTV9TT1VSQ0VfTUFQIGlzIGluIHVzZS4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorCiAyMDIxLTA5LTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWRkIGZpbGVzIHRvIHhjb2RlcHJvagpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDM4Y2I4NGRhMDU2ZTJiNmE2YzEz
ZWQ5ZjhkNzA1MThlYWYwODk1OGUuLjJmZDIwZDdkZWY5MmI2NGQxOTRhNzU0YWVkMWYxYWNiYjhi
ZTlhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE0NjQsMTAgKzE0
NjQsMTIgQEAgaWYgKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCBBTkQgR0NDX09GRkxJTkVBU01f
U09VUkNFX01BUCkKICAgICAgICAgUFJPUEVSVFkgUlVMRV9MQVVOQ0hfQ09NUElMRSAiJHtMb3dM
ZXZlbEludGVycHJldGVyX0xBVU5DSEVSfSIpCiAKICAgICAjIFBhc3MgaW4gdGhlIGZpbGVuYW1l
IGFzIGEgbWFnaWMgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZSwgc28gdGhhdAotICAgICMgdGhlIHdy
YXBwZXIgY2FuIGFjY3VyYXRlbHkgaWRlbnRpZnkgdGhlIHNvdXJjZSBmaWxlLgorICAgICMgdGhl
IHdyYXBwZXIgY2FuIGFjY3VyYXRlbHkgaWRlbnRpZnkgdGhlIHNvdXJjZSBmaWxlLiBUaGlzIGlz
IGluY29tcGF0aWJsZQorICAgICMgd2l0aCBMVE8uCiAgICAgc2V0X3NvdXJjZV9maWxlc19wcm9w
ZXJ0aWVzKCJsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcCIKICAgICAgICAgUFJPUEVSVElF
UwotICAgICAgICBDT01QSUxFX0RFRklOSVRJT05TICJQT1NUUFJPQ0VTU19BU009bGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5jcHAiKQorICAgICAgICBDT01QSUxFX0RFRklOSVRJT05TICJQT1NU
UFJPQ0VTU19BU009bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAiCisgICAgICAgIENPTVBJ
TEVfT1BUSU9OUyAiLWZuby1sdG8iKQogZW5kaWYgKCkKIAogIyBXaGVuIGJ1aWxkaW5nIEphdmFT
Y3JpcHRDb3JlIGFzIGFuIG9iamVjdCBsaWJyYXJ5LCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNDb21tb24uY21ha2UKaW5kZXggNzBjYTYzMDU5OTM2NTUxZmY3MDJkZWI2MDk3
OGQ5ZDQxZWUxZTAyMS4uNmM0MGYyMzhhYjc3ZGNkYmFkMTU3MDQ3ZDE4NjRmNTQ1OWY2MjAzYyAx
MDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKKysrIGIvU291cmNl
L2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKQEAgLTkxLDkgKzkxLDE0IEBAIGlmIChERUJVR19G
SVNTSU9OKQogICAgIHNldChDTUFLRV9TSEFSRURfTElOS0VSX0ZMQUdTICIke0NNQUtFX0VYRV9M
SU5LRVJfRkxBR1N9IC1XbCwtLWdkYi1pbmRleCIpCiBlbmRpZiAoKQogCitzZXQoR0NDX09GRkxJ
TkVBU01fU09VUkNFX01BUF9ERUZBVUxUIE9GRikKK2lmIChDTUFLRV9CVUlMRF9UWVBFIFNUUkVR
VUFMICJEZWJ1ZyIgT1IgQ01BS0VfQlVJTERfVFlQRSBTVFJFUVVBTCAiUmVsV2l0aERlYkluZm8i
KQorICAgIHNldChHQ0NfT0ZGTElORUFTTV9TT1VSQ0VfTUFQX0RFRkFVTFQgT04pCitlbmRpZiAo
KQorCiBvcHRpb24oR0NDX09GRkxJTkVBU01fU09VUkNFX01BUAogICAiUHJvZHVjZSBkZWJ1ZyBs
aW5lIGluZm9ybWF0aW9uIGZvciBvZmZsaW5lYXNtLWdlbmVyYXRlZCBjb2RlIgotICBPRkYpCisg
ICR7R0NDX09GRkxJTkVBU01fU09VUkNFX01BUF9ERUZBVUxUfSkKIAogb3B0aW9uKFVTRV9BUFBM
RV9JQ1UgIlVzZSBBcHBsZSdzIGludGVybmFsIElDVSIgJHtBUFBMRX0pCiAKZGlmZiAtLWdpdCBh
L0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiMGQ5MGQ5OWVkNGYxMTViN2E3YzBhMDJiZGQ5
NzUzOTdkYmE2OGMxLi4zNzk4ZmNmZjdjOTA5ZWQ4MjQzNzM1MjY5N2ZlYTE0MzQ2N2MyNGZmIDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDktMTcgIEFuZ2Vsb3MgT2lrb25vbW9wb3Vsb3MgIDxhbmdlbG9zQGlnYWxpYS5jb20+CisK
KyAgICAgICAgVW5icmVhayBHQ0NfT0ZGTElORUFTTV9TT1VSQ0VfTUFQIHdoZW4gTFRPIGlzIGlu
IHVzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMw
MDYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzE2NjE3Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zQ29t
bW9uLmNtYWtlOgorCisgICAgICAgIFJlLWVuYWJsZSBHQ0NfT0ZGTElORUFTTV9TT1VSQ0VfTUFQ
LgorCiAyMDIxLTA5LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgogCiAgICAgICAgIFtXaW5DYWlyb10gU3VwcG9ydCBwcmVmZXJzLWNvbG9yLXNjaGVtZSBtZWRp
YSBxdWVyeQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>