<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>34801</bug_id>
          
          <creation_ts>2018-04-12 20:36:36 +0300</creation_ts>
          <short_desc>ld doesn&apos;t support LTO optimized libraries produced by lld</short_desc>
          <delta_ts>2022-05-28 18:19:02 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>binutils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc>https://sourceware.org/bugzilla/show_bug.cgi?id=20104</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>relnote</keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>darktemplaralt</cc>
    
    <cc>glebfm</cc>
    
    <cc>lav</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>170383</commentid>
    <comment_count>0</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2018-04-12 20:36:36 +0300</bug_when>
    <thetext>См. описание бага по ссылке, такая же ошибка воспроизводится при пересборке пакета castxml с помощью clang/llvm:

[ 54%] Linking CXX executable ../bin/castxml
/usr/lib64/libclangFrontend.a: error adding symbols: File format not
recognized
clang-6.0: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: *** [src/CMakeFiles/castxml.dir/build.make:210: bin/castxml] Error 1

Есть еще баг в debian - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=767323, где опять же говорится, что такие ошибки это проблема ld, а не сборки clang/llvm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170486</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-04-19 20:54:42 +0300</bug_when>
    <thetext>(In reply to comment #0)
&gt; См. описание бага по ссылке, такая же ошибка воспроизводится при пересборке
&gt; пакета castxml с помощью clang/llvm:
&gt; 
&gt; [ 54%] Linking CXX executable ../bin/castxml
&gt; /usr/lib64/libclangFrontend.a: error adding symbols: File format not
&gt; recognized

В какой версии GNU ld или GNU gold поддерживается этот формат объектных файлов, которые производит clang/lld?  Есть ли основания полагать, что такая поддержка вообще будет реализована?

GNU и LLVM - это разные экосистемы.  Я полагаю, что при сохранении нынешних тенденций развития GNU и LLVM совместимость между ними будет неуклонно снижаться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170487</commentid>
    <comment_count>2</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2018-04-20 00:13:09 +0300</bug_when>
    <thetext>(In reply to comment #1)
&gt; (In reply to comment #0)
&gt; &gt; См. описание бага по ссылке, такая же ошибка воспроизводится при пересборке
&gt; &gt; пакета castxml с помощью clang/llvm:
&gt; &gt; 
&gt; &gt; [ 54%] Linking CXX executable ../bin/castxml
&gt; &gt; /usr/lib64/libclangFrontend.a: error adding symbols: File format not
&gt; &gt; recognized
&gt; 
&gt; В какой версии GNU ld или GNU gold поддерживается этот формат объектных файлов,
&gt; которые производит clang/lld?  Есть ли основания полагать, что такая поддержка
&gt; вообще будет реализована?
Мне кажется, тут все даже интереснее:
https://svn.boost.org/trac10/ticket/12565

&gt; Explicityly passing linkflags=&quot;-plugin /usr/x86_64-pc-linux-gnu/binutils-bin/lib/bfd-plugins/LLVMgold.so&quot; fixes this.

Я попробую проверить это в нашей ситуации.

&gt; 
&gt; GNU и LLVM - это разные экосистемы.  Я полагаю, что при сохранении нынешних
&gt; тенденций развития GNU и LLVM совместимость между ними будет неуклонно
&gt; снижаться.
Тогда нужно принять решение, мы планируем параллельную поддержку этих экосистем или нет. Иначе придется продолжать собирать llvm в режиме совместимости с gcc и без clang в ущерб возможностей и производительности.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170488</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-04-20 00:51:28 +0300</bug_when>
    <thetext>(In reply to comment #2)
&gt; Мне кажется, тут все даже интереснее:
&gt; https://svn.boost.org/trac10/ticket/12565
&gt; 
&gt; &gt; Explicityly passing linkflags=&quot;-plugin /usr/x86_64-pc-linux-gnu/binutils-bin/lib/bfd-plugins/LLVMgold.so&quot; fixes this.
&gt; 
&gt; Я попробую проверить это в нашей ситуации.

Это очень правдоподобный рецепт.

&gt; &gt; GNU и LLVM - это разные экосистемы.  Я полагаю, что при сохранении нынешних
&gt; &gt; тенденций развития GNU и LLVM совместимость между ними будет неуклонно
&gt; &gt; снижаться.
&gt; Тогда нужно принять решение, мы планируем параллельную поддержку этих экосистем
&gt; или нет. Иначе придется продолжать собирать llvm в режиме совместимости с gcc и
&gt; без clang в ущерб возможностей и производительности.

Да, но хотелось бы делать информированный выбор.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170864</commentid>
    <comment_count>4</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2018-05-02 00:03:31 +0300</bug_when>
    <thetext>(In reply to comment #3)
&lt;skip&gt; 
&gt; &gt; &gt; GNU и LLVM - это разные экосистемы.  Я полагаю, что при сохранении нынешних
&gt; &gt; &gt; тенденций развития GNU и LLVM совместимость между ними будет неуклонно
&gt; &gt; &gt; снижаться.
&gt; &gt; Тогда нужно принять решение, мы планируем параллельную поддержку этих экосистем
&gt; &gt; или нет. Иначе придется продолжать собирать llvm в режиме совместимости с gcc и
&gt; &gt; без clang в ущерб возможностей и производительности.
&gt; 
&gt; Да, но хотелось бы делать информированный выбор.

Пока выбор очень прост - переходить на llvm везде, где требуется llvm. Например, castxml собрался при замене ld на lld.

Но в этом случае получается несовместимость по сборочным флагам и опциям, поскольку я никак не стремился к gcc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171826</commentid>
    <comment_count>5</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2018-06-11 23:54:01 +0300</bug_when>
    <thetext>*** Bug 35018 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171910</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2018-06-15 19:48:22 +0300</bug_when>
    <thetext>По результатам сборки bcc, предлагаю вернуть совместимость статических libclang и libLLVM с GNU ld.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171911</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-06-15 19:51:10 +0300</bug_when>
    <thetext>(In reply to comment #6)
&gt; По результатам сборки bcc, предлагаю вернуть совместимость статических libclang
&gt; и libLLVM с GNU ld.

Я не понимаю, почему это баг на binutils.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>