Your message dated Mon, 19 Dec 2011 23:48:32 +0000
with message-id <[email protected]>
and subject line Bug#652283: fixed in llvm-3.0 3.0-5
has caused the Debian Bug report #652283,
regarding llvm-3.0: FTBFS on hurd-i386
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.)
--
652283: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652283
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: llvm-3.0
Version: 3.0-4
Severity: important
Tags: patch
User: [email protected]
Usertags: hurd
Hi,
currently[1], llvm-3.0 fails to build on GNU/Hurd.
Attached there is an improved version of the existing patch
0011-Hurd-fixes.path, adding changes in new files:
* lib/Support/Unix/PathV2.inc:
- hackish way to supply the missing PATH_MAX
[not suitable for upstream]
- in current_path(), use 1024 as starting size for the "result"
variable; the code grows the buffer until it fails with ENOMEM
or similar anyway, so it will at most do few (re)allocs more.
[can be sent upstream]
* Makefile.rules:
- set a linker version script also on GNU/Hurd
[can be sent upstream]
* tools/llvm-shlib/Makefile:
- use the --whole-archive/--no-whole-archive and --no-undefined
linker flags also on GNU/Hurd
[can be sent upstream]
Regarding the test suite: currently most of the test fail, because we
don't support $ORIGIN in RPATHs, yet. I wanted to see how the tests
performed, so I manually exported LD_LIBRARY_PATH to
$PWD/build-llvm/Release/lib, which gave as result (compared to
linux-i386):
- CodeGen/X86/2010-06-14-fast-isel-fs-load.ll failing (as on linux-i386)
- CodeGen/X86/vec_compare-2.ll -- failing on Hurd
and the other passing, so overall it seems pretty good.
(The "$ORIGIN in RPATH" shouldn't matter for the final packages, as
RPATH is stripped since the libllvm is in a public library directory.)
[1]
https://buildd.debian.org/status/fetch.php?pkg=llvm-3.0&arch=hurd-i386&ver=3.0-4&stamp=1323544031
Thanks,
--
Pino
--- a/lib/Support/Unix/Path.inc
+++ b/lib/Support/Unix/Path.inc
@@ -64,6 +64,11 @@
#include <unistd.h>
#endif
+// For GNU Hurd
+#if defined(__GNU__) && !defined(MAXPATHLEN)
+# define MAXPATHLEN 4096
+#endif
+
// Put in a hack for Cygwin which falsely reports that the mkdtemp function
// is available when it is not.
#ifdef __CYGWIN__
--- a/lib/Support/Unix/Process.inc
+++ b/lib/Support/Unix/Process.inc
@@ -136,7 +136,7 @@
return getgid();
}
-#ifdef HAVE_MACH_MACH_H
+#if defined(HAVE_MACH_MACH_H) && !defined(__GNU__)
#include <mach/mach.h>
#endif
@@ -150,7 +150,7 @@
setrlimit(RLIMIT_CORE, &rlim);
#endif
-#ifdef HAVE_MACH_MACH_H
+#if defined(HAVE_MACH_MACH_H) && !defined(__GNU__)
// Disable crash reporting on Mac OS X 10.0-10.4
// get information about the original set of exception ports for the task
--- a/lib/Support/Unix/PathV2.inc
+++ b/lib/Support/Unix/PathV2.inc
@@ -46,6 +46,11 @@
#include <limits.h>
#endif
+// For GNU Hurd
+#if defined(__GNU__) && !defined(PATH_MAX)
+# define PATH_MAX 4096
+#endif
+
using namespace llvm;
namespace {
@@ -96,7 +101,11 @@
namespace fs {
error_code current_path(SmallVectorImpl<char> &result) {
+#ifdef MAXPATHLEN
result.reserve(MAXPATHLEN);
+#else
+ result.reserve(1024);
+#endif
while (true) {
if (::getcwd(result.data(), result.capacity()) == 0) {
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -1353,7 +1353,7 @@
endif
endif
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD))
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU))
ifneq ($(ARCH), Mips)
LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map
endif
--- a/tools/llvm-shlib/Makefile
+++ b/tools/llvm-shlib/Makefile
@@ -63,13 +63,13 @@
endif
endif
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD))
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD GNU))
# Include everything from the .a's into the shared library.
LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
-Wl,--no-whole-archive
endif
-ifeq ($(HOST_OS),Linux)
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU))
# Don't allow unresolved symbols.
LLVMLibsOptions += -Wl,--no-undefined
endif
--- End Message ---
--- Begin Message ---
Source: llvm-3.0
Source-Version: 3.0-5
We believe that the bug you reported is fixed in the latest version of
llvm-3.0, which is due to be installed in the Debian FTP archive:
libllvm-3.0-ocaml-dev_3.0-5_amd64.deb
to main/l/llvm-3.0/libllvm-3.0-ocaml-dev_3.0-5_amd64.deb
libllvm3.0_3.0-5_amd64.deb
to main/l/llvm-3.0/libllvm3.0_3.0-5_amd64.deb
llvm-3.0-dev_3.0-5_amd64.deb
to main/l/llvm-3.0/llvm-3.0-dev_3.0-5_amd64.deb
llvm-3.0-doc_3.0-5_all.deb
to main/l/llvm-3.0/llvm-3.0-doc_3.0-5_all.deb
llvm-3.0-examples_3.0-5_all.deb
to main/l/llvm-3.0/llvm-3.0-examples_3.0-5_all.deb
llvm-3.0-runtime_3.0-5_amd64.deb
to main/l/llvm-3.0/llvm-3.0-runtime_3.0-5_amd64.deb
llvm-3.0-source_3.0-5_all.deb
to main/l/llvm-3.0/llvm-3.0-source_3.0-5_all.deb
llvm-3.0_3.0-5.debian.tar.gz
to main/l/llvm-3.0/llvm-3.0_3.0-5.debian.tar.gz
llvm-3.0_3.0-5.dsc
to main/l/llvm-3.0/llvm-3.0_3.0-5.dsc
llvm-3.0_3.0-5_amd64.deb
to main/l/llvm-3.0/llvm-3.0_3.0-5_amd64.deb
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-3.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: SHA1
Format: 1.8
Date: Mon, 19 Dec 2011 23:15:09 +0100
Source: llvm-3.0
Binary: libllvm3.0 llvm-3.0 llvm-3.0-runtime llvm-3.0-dev libllvm-3.0-ocaml-dev
llvm-3.0-doc llvm-3.0-examples llvm-3.0-source
Architecture: source amd64 all
Version: 3.0-5
Distribution: unstable
Urgency: low
Maintainer: LLVM Packaging Team <[email protected]>
Changed-By: Sylvestre Ledru <[email protected]>
Description:
libllvm-3.0-ocaml-dev - Low-Level Virtual Machine (LLVM), bindings for OCaml
libllvm3.0 - Low-Level Virtual Machine (LLVM), runtime library
llvm-3.0 - Low-Level Virtual Machine (LLVM)
llvm-3.0-dev - Low-Level Virtual Machine (LLVM), libraries and headers
llvm-3.0-doc - Low-Level Virtual Machine (LLVM), documentation
llvm-3.0-examples - Low-Level Virtual Machine (LLVM), examples
llvm-3.0-runtime - Low-Level Virtual Machine (LLVM), bytecode interpreter
llvm-3.0-source - Low-Level Virtual Machine (LLVM), source code
Closes: 652283
Changes:
llvm-3.0 (3.0-5) unstable; urgency=low
.
* 0011-Hurd-fixes.patch: Fix the FTBFS under GNU/Hurd. Thanks to Pino
Toscano (Closes: #652283)
* 0042-armhf.diff: Define a gnueabihf environment for armhf (thanks to Doko).
Checksums-Sha1:
7dd465f312c5a3956f0b374a7d3cbe2326471642 1954 llvm-3.0_3.0-5.dsc
1dd8dc0d1b9bdf7e0bc82ca875317a1e702f0694 31830 llvm-3.0_3.0-5.debian.tar.gz
bc2d14a878e21e639dc7a75ff48a9bb9b90da6e8 7520868 libllvm3.0_3.0-5_amd64.deb
00a2c03a194179c76133b1e8ddb382b7d0dcb0d5 1334776 llvm-3.0_3.0-5_amd64.deb
36c8a98e7ba1a26b455ccf30cff449ca240e084c 42346 llvm-3.0-runtime_3.0-5_amd64.deb
b05d3dc2cc061d4982c1c33cb21e173e1b4fa65b 12690788 llvm-3.0-dev_3.0-5_amd64.deb
e1ead60a474c359dcf3fa6fdbe94fe3177f16b1b 277092
libllvm-3.0-ocaml-dev_3.0-5_amd64.deb
c5256f51aa49163d6589ed1f653b7b7a5cee7302 996742 llvm-3.0-doc_3.0-5_all.deb
3e157442a59feb4a6ac169dd73350b24f33ab8cb 111272 llvm-3.0-examples_3.0-5_all.deb
3f643464b1c7e2f703e2ccc00259ede8e3cbccc6 7198262 llvm-3.0-source_3.0-5_all.deb
Checksums-Sha256:
03339c9e69db653f470aa49709f4d9166a19f45dbe5895a20941cddf98065c70 1954
llvm-3.0_3.0-5.dsc
1a8dc43b7a68c69034cd72b1543433c66046b3bcea69e7519707dada21d54884 31830
llvm-3.0_3.0-5.debian.tar.gz
bd1adc73e2463498f94b6efb6a06de3fa2d38955f4929c32b0a3f22b90f92b1e 7520868
libllvm3.0_3.0-5_amd64.deb
8338932c1eafa8f1d0b97b887254ff79f3dfb8dcf7882bddac5fe208afceff55 1334776
llvm-3.0_3.0-5_amd64.deb
ae71590561dc9b94da6fbfaf5d4c290bda7fecf150fbcb1a1454c68785091c97 42346
llvm-3.0-runtime_3.0-5_amd64.deb
6247424de1d2fc69545793939dd0ebfbd8f0ab6a848cbd8cbcf25008b2970e03 12690788
llvm-3.0-dev_3.0-5_amd64.deb
4c24eb35f36a46624242ba1d89d9bf735f2b3533d958d57b7343c50da5e678b9 277092
libllvm-3.0-ocaml-dev_3.0-5_amd64.deb
507aac96a52a1d34ddf82d0f147f8c75295343a0981303c87cc4a99e57b4edee 996742
llvm-3.0-doc_3.0-5_all.deb
b53ecd467e1ac04b069c5200e0b8a9213363a9c37069b1db462f17877143ba33 111272
llvm-3.0-examples_3.0-5_all.deb
cd2dff95d6b74a450e1fafdc6e49b8ad62625c97985777d4a5d3587cef276ff9 7198262
llvm-3.0-source_3.0-5_all.deb
Files:
abbe20cb866f7e03c756243b56589a35 1954 devel optional llvm-3.0_3.0-5.dsc
e70421443103c96c05a54601a636534d 31830 devel optional
llvm-3.0_3.0-5.debian.tar.gz
d3d0af94c911b00eb734ee1d97497585 7520868 libs optional
libllvm3.0_3.0-5_amd64.deb
96f716706924d47d3a54cb603809067e 1334776 devel optional
llvm-3.0_3.0-5_amd64.deb
2eeff67e30b7b83060c75a4fc3ccce90 42346 devel optional
llvm-3.0-runtime_3.0-5_amd64.deb
6ececf383b18d8bd70257fc546adfa8a 12690788 devel optional
llvm-3.0-dev_3.0-5_amd64.deb
3ed75a931d6b40bf4ae9804246661598 277092 ocaml optional
libllvm-3.0-ocaml-dev_3.0-5_amd64.deb
24409b156524618c9dd502d343934ea2 996742 doc optional llvm-3.0-doc_3.0-5_all.deb
ef59a93f11e8dc4cc1b8e1f3d0f8f0cc 111272 doc optional
llvm-3.0-examples_3.0-5_all.deb
208abbfaf16ba2524d8399a743d3b1b5 7198262 devel optional
llvm-3.0-source_3.0-5_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEARECAAYFAk7vyiEACgkQiOXXM92JlhA/DgCbBYv+P8wynphtQIoYac94bMRZ
9oUAnj+XLXWT/oLNwxyT7IYdvRpA9IOp
=quu1
-----END PGP SIGNATURE-----
--- End Message ---