Your message dated Tue, 20 Mar 2018 18:52:00 +0000
with message-id <[email protected]>
and subject line Bug#890401: fixed in llvm-toolchain-5.0 1:5.0.1-3
has caused the Debian Bug report #890401,
regarding llvm-toolchain-4.0: Please include patch to fix code generation on 
sparc64
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
890401: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890401
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: llvm-toolchain-4.0
Version: 1:4.0.1-10
Severity: normal
Tags: patch
User: [email protected]
Usertags: sparc64

Hello!

In order to get the Rust compiler work on sparc64, we need another
LLVM patch which is currently being upstreamed [1] which fixes the
code generation on sparc64.

Without the patch, LLVM generates invalid code that binutils stumbles
over and crashes with an internal error [2]. With the patch merged,
LLVM is working properly and allows a full native build of the Rust
compiler on sparc64 :).

Since Rust upstream is currently still on LLVM 4.0, even for Rust
1.24, it would be nice to have the patch merged for the 4.0 version
as well as the 6.0 version of the llvm-toolchain package. Although
we are going to convince upstream to backport the patch for 6.0.

Thanks,
Adrian

> [1] https://reviews.llvm.org/D43271
> [2] https://sourceware.org/bugzilla/show_bug.cgi?id=22832

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - [email protected]
`. `'   Freie Universitaet Berlin - [email protected]
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Description: [Sparc] Include __tls_get_addr in symbol table for TLS calls to it
 Global Dynamic and Local Dynamic call relocations only implicitly
 reference __tls_get_addr, but it still needs to be in the symbol table
 to be bound at link time otherwise it fails to link. For details, see
 https://sourceware.org/bugzilla/show_bug.cgi?id=22832.
Author: James Clarke <[email protected]>
Last-Update: 2018-02-14

--- llvm-toolchain-4.0-4.0.1.orig/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
+++ llvm-toolchain-4.0-4.0.1/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
@@ -194,14 +194,30 @@ static void fixELFSymbolsInTLSFixupsImpl
 void SparcMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const {
   switch(getKind()) {
   default: return;
+  case VK_Sparc_TLS_GD_CALL:
+  case VK_Sparc_TLS_LDM_CALL: {
+    // The corresponding relocations reference __tls_get_addr, as they call it,
+    // but this is only implicit; there is no connection in the ELF file
+    // between the relocation and the symbol, other than the specification for
+    // the semantics of the relocations. However, the symbol must be included
+    // in our symbol table despite the lack of references to it, since it needs
+    // to be bound during linking for these relocations. For details see
+    // https://sourceware.org/bugzilla/show_bug.cgi?id=22832.
+    MCSymbol *Symbol = Asm.getContext().getOrCreateSymbol("__tls_get_addr");
+    Asm.registerSymbol(*Symbol);
+    auto ELFSymbol = cast<MCSymbolELF>(Symbol);
+    if (!ELFSymbol->isBindingSet()) {
+      ELFSymbol->setBinding(ELF::STB_GLOBAL);
+      ELFSymbol->setExternal(true);
+    }
+    LLVM_FALLTHROUGH;
+  }
   case VK_Sparc_TLS_GD_HI22:
   case VK_Sparc_TLS_GD_LO10:
   case VK_Sparc_TLS_GD_ADD:
-  case VK_Sparc_TLS_GD_CALL:
   case VK_Sparc_TLS_LDM_HI22:
   case VK_Sparc_TLS_LDM_LO10:
   case VK_Sparc_TLS_LDM_ADD:
-  case VK_Sparc_TLS_LDM_CALL:
   case VK_Sparc_TLS_LDO_HIX22:
   case VK_Sparc_TLS_LDO_LOX10:
   case VK_Sparc_TLS_LDO_ADD:

--- End Message ---
--- Begin Message ---
Source: llvm-toolchain-5.0
Source-Version: 1:5.0.1-3

We believe that the bug you reported is fixed in the latest version of
llvm-toolchain-5.0, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sylvestre Ledru <[email protected]> (supplier of updated llvm-toolchain-5.0 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 20 Mar 2018 15:29:03 +0100
Source: llvm-toolchain-5.0
Binary: clang-5.0 clang-tools-5.0 clang-format-5.0 clang-tidy-5.0 clang-5.0-doc 
libclang1-5.0 libclang1-5.0-dbg libclang-5.0-dev libclang-common-5.0-dev 
libfuzzer-5.0-dev python-clang-5.0 clang-5.0-examples libllvm5.0 libllvm5.0-dbg 
llvm-5.0 llvm-5.0-runtime llvm-5.0-dev llvm-5.0-tools llvm-5.0-doc 
llvm-5.0-examples lld-5.0 liblld-5.0 liblld-5.0-dev lldb-5.0 liblldb-5.0 
liblldb-5.0-dbg python-lldb-5.0 liblldb-5.0-dev
Architecture: source
Version: 1:5.0.1-3
Distribution: unstable
Urgency: medium
Maintainer: LLVM Packaging Team <[email protected]>
Changed-By: Sylvestre Ledru <[email protected]>
Description:
 clang-5.0  - C, C++ and Objective-C compiler
 clang-5.0-doc - C, C++ and Objective-C compiler - Documentation
 clang-5.0-examples - Clang examples
 clang-format-5.0 - Tool to format C/C++/Obj-C code
 clang-tidy-5.0 - clang-based C++ linter tool
 clang-tools-5.0 - clang-based tools for C/C++ developments
 libclang-5.0-dev - clang library - Development package
 libclang-common-5.0-dev - clang library - Common development package
 libclang1-5.0 - C interface to the clang library
 libclang1-5.0-dbg - clang library (debug)
 libfuzzer-5.0-dev - Library for coverage-guided fuzz testing
 liblld-5.0 - LLVM-based linker, library
 liblld-5.0-dev - LLVM-based linker, header files
 liblldb-5.0 - Next generation, high-performance debugger, library
 liblldb-5.0-dbg - Next generation, high-performance debugger, debugging 
libraries
 liblldb-5.0-dev - Next generation, high-performance debugger, header files
 libllvm5.0 - Modular compiler and toolchain technologies, runtime library
 libllvm5.0-dbg - Modular compiler and toolchain technologies, debugging 
libraries
 lld-5.0    - LLVM-based linker
 lldb-5.0   - Next generation, high-performance debugger
 llvm-5.0   - Modular compiler and toolchain technologies
 llvm-5.0-dev - Modular compiler and toolchain technologies, libraries and 
header
 llvm-5.0-doc - Modular compiler and toolchain technologies, documentation
 llvm-5.0-examples - Modular compiler and toolchain technologies, examples
 llvm-5.0-runtime - Modular compiler and toolchain technologies, IR interpreter
 llvm-5.0-tools - Modular compiler and toolchain technologies, tools
 python-clang-5.0 - Clang Python Bindings
 python-lldb-5.0 - Next generation, high-performance debugger, python lib
Closes: 889035 890401 891999 893600
Changes:
 llvm-toolchain-5.0 (1:5.0.1-3) unstable; urgency=medium
 .
   * Move the VCS to git.
     Many thanks to James Clarke for doing the conversion
   * Ignore the test tools/gold/X86/comdat.ll
     until https://bugs.llvm.org/show_bug.cgi?id=36166
     is fixed.
     Will fix the ftbfs on x86
   * Create the directory before having the manpages generated
   * clang-tidy-5.0: depends on libclang-common-5.0-dev
     (Closes: #891999)
   * clang-tidy-5.0 also depends on clang-tools-5.0 for, at least
     clang-apply-replacements (Closes: #893600)
   * Update of the clang-tools-X.Y description
   * Fix the libclang1-X.Y.symbols.in file (two spaces)
     (Closes: #889035)
 .
   [ John Paul Adrian Glaubitz ]
   * Add proposed upstream patch by James Clarke to add the
     missing __tls_get_addr symbol to the symbol table for
     TLS calls on SPARC (Closes: #890401)
 .
   [ James Clarke ]
   * Disable LLDB on powerpcspe
Checksums-Sha1:
 70323b00f1707066c52d0fd84a536460dc263367 6805 llvm-toolchain-5.0_5.0.1-3.dsc
 0c4242debcff99ec594081239f4269e105c76329 71072 
llvm-toolchain-5.0_5.0.1-3.debian.tar.xz
 59554b7f06aee55840f8e8d140d2db1035538310 20435 
llvm-toolchain-5.0_5.0.1-3_amd64.buildinfo
Checksums-Sha256:
 a3547e7edafa0680324f89d9b7c8aa3bca63ecb4581322f9733110268d59e664 6805 
llvm-toolchain-5.0_5.0.1-3.dsc
 6be2d610e478682f2e9b24d7f6c60322e045b1c0544d0ce396e900d78d888721 71072 
llvm-toolchain-5.0_5.0.1-3.debian.tar.xz
 3ebcf0b2b37e9d13b912ccde8fbba32acf3e3771444c395bb42c467048518dac 20435 
llvm-toolchain-5.0_5.0.1-3_amd64.buildinfo
Files:
 0690f5cdfc073354eebdcd18108d0406 6805 devel optional 
llvm-toolchain-5.0_5.0.1-3.dsc
 a66386dcc737e182f603fed651904332 71072 devel optional 
llvm-toolchain-5.0_5.0.1-3.debian.tar.xz
 36891e935d56904c6fa97d7a4841fda7 20435 devel optional 
llvm-toolchain-5.0_5.0.1-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEtg21mU05vsTRqVzPfmUo2nUvG+EFAlqxTycACgkQfmUo2nUv
G+G5qw//c9Jd7k/78dgi7oZE76GAx5LCKw0qIKAMaxGxqVf+Dzhmg16hQYU8E7gq
dMLRMz6W8tQ8Ci+CrM/raJ2kA/pf3tmnZ6vrKboa2GPB69LLbtbqJF15//84sAjX
TpNy4W4nnOnXWLgQauavg/GFgTs0G1rfsjxUQcHJzMb0FmO5LbHV43YwYXGAa8sg
p/xgTHfjgDri2F+xeVBL/AEZ2EfNLI8+Ah/5L61//GOY94B4NbRkG7GPYxD7Ws3j
8ulCnFhIrE/WQ9TQN6XA5DTUtq+iDlsxyhZynP3vNkON1Thzf9MTtZMyFlohcmeH
KHGDuyL8Oo1e6mpHMzMrWTgn9iJyTOo7+gXQdhJcaBLuFeBxO0xSeCzWr7OetBaF
vs1cU7ccCgmENLHplke4KeTOx2OTq0uCza1ccLmxtbphBi4SoaxfoJtgnuqHefHY
xlRE4tlnN9gf6v2Z+90x14dF9DH0oHCt07H1hXtOWaqTI6klcaWJ63Zogs4eyrK8
PuZ3YFwgeL5Q0siB6LOeTxfZ8Zf+JskoInvgZuzl/U8406rYXrce8LwT8PU3URKV
SSldRfIdDGU4Ft6oISlS2n87NCghSqhw9DiE9WFq7nC9x26t2nAED4oR3H90PcFO
SZ0ORPZppzfrpOY8cRLvczJmjqhEP0WGaSwCBQL88xD/TWOzvkg=
=Rw/x
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to