summaryrefslogtreecommitdiff
path: root/open_issues/llvm.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'open_issues/llvm.mdwn')
-rw-r--r--open_issues/llvm.mdwn91
1 files changed, 77 insertions, 14 deletions
diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn
index 56b4513e..2a4b4ed5 100644
--- a/open_issues/llvm.mdwn
+++ b/open_issues/llvm.mdwn
@@ -47,10 +47,10 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C
-->
Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm
-e68542e67e5c0f8d4bbdae0dde6ccd24525a18e3 (2013-02-13), clang
-2cbd427ec533f022f612fed0dd93ef5fa214478a (2013-02-12), compiler-rt
-c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite
-f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
+6f7becfe23f38e8c28e9422d883263974058aeed (2013-03-24), clang
+495cfa46300979642acde8d93a1f21c9291dac98 (2013-03-23), compiler-rt
+a06fe9183fbffb78798a444da9bc3040fdd444aa (2013-03-23), test-suite
+5a05572d268568fb15b48f374f9fc9f882adecd2 (2013-03-23).
* <http://anonscm.debian.org/viewvc/pkg-llvm/llvm/trunk/debian/patches/>.
@@ -69,12 +69,22 @@ f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
* [low] Linuxisms
+ * In some CMake files (`CMakeLists.txt`, for example).
+
* `test/`, `unittests`, `tools/clang/test/`, `tools/clang/unittests/` not
yet examined.
* In clang's `test/Driver/` a lot of testing can be generalized from
*Linux* to *GNU environment*, adding GNU/Hurd testing, too.
+ * LLVM commit 98fbe27ac8f0766ea94b89b8c03418131b72bea4 `Support for
+ HiPE-compatible code emission`
+
+ Only relevant for `CallingConv::HiPE`.
+
+ + assert(ST->isTargetLinux() &&
+ + "HiPE prologue is only supported on Linux operating systems.");
+
* `compiler-rt` and `test-suite` not yet examined.
* `/proc` usage
@@ -92,11 +102,11 @@ f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
Here's a log of a LLVM build run; this is from our [[Git repository's
sources|source_repositories/llvm]], llvm
-829831c561ca75cb81cbe217dee25b52dbe0e2f0 (2013-02-13), clang
-6b02a96cdeecb9cc2070a5a5684d62bb32ba40d6 (2013-02-13), compiler-rt
-c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite
-f8647dbb30c3ee173c038aff10f815b0ba856793 (2013-02-09), run on kepler.SCHWINGE
-and coulomb.SCHWINGE.
+dc218fb6ae3241f4b66e9bf2c9d6352efecc0a14 (2013-03-24), clang
+744290b5ecd48bddb4a6cf96d68cdc4a57e24e36 (2013-03-24), compiler-rt
+a06fe9183fbffb78798a444da9bc3040fdd444aa (2013-03-23), test-suite
+1821ab0ef1c73430705356fdfde3769460092382 (2013-03-24), run on
+kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
$ (cd ../Horace_Silver/ && ln -sfn ../../../clang/tschwinge/Hank_Mobley tools/clang)
@@ -118,8 +128,8 @@ for the corresponding GNU/Linux build). Using `--enable-debug-symbols
the corresponding GNU/Linux build). Also there is a separate
`--enable-debug-runtime`.
-This takes up around 3 GiB, and needs roughly 1.25 h on kepler.SCHWINGE and
-4.25 h on coulomb.SCHWINGE.
+This takes up around 3.2 GiB, and needs roughly 1.5 h on kepler.SCHWINGE and
+5.25 h on coulomb.SCHWINGE.
Configuring without `--enable-optimized` even crashes mighty darnassus,
probably because of too-big files when linking. Configuring with
@@ -164,7 +174,7 @@ TODO
$ make VERBOSE=1 install 2>&1 | tee log_install
-This takes up around 350 MiB, and needs roughly 1 min on kepler.SCHWINGE and 12
+This takes up around 400 MiB, and needs roughly 1 min on kepler.SCHWINGE and 12
min on coulomb.SCHWINGE.
@@ -183,8 +193,8 @@ TODO
`LIT_ARGS=-v` is default for `VERBOSE=1`, but we want only one worker thread,
for stable order and usable test output log.
-This needs roughly 10 min (`check-all`) + 145 min (test-suite) = 155 min on
-kepler.SCHWINGE and 40 min (`check-all`) + 80 min (test-suite) = 120 min on
+This needs roughly 10 min (`check-all`) + 150 min (test-suite) = 160 min on
+kepler.SCHWINGE and 45 min (`check-all`) + 165 min (test-suite) = 210 min on
coulomb.SCHWINGE.
@@ -227,6 +237,59 @@ coulomb.SCHWINGE.
[...]
int x;
+ #include <stdio.h>
+ #include <unistd.h>
+
+ int main(int argc, char *argv[])
+ {
+ while (argc > 0)
+ {
+ int err;
+ char *f = argv[argc -1];
+
+ err = access(f, F_OK);
+ if (err < 0)
+ printf("%s: %m\n", f);
+
+ argc--;
+ }
+
+ return 0;
+ }
+
+ $ ./a.out /dev/fd/0 < /dev/null
+ $ cat < /dev/null | ./a.out /dev/fd/0
+ /dev/fd/0: (ipc/mig) bad request message ID
+
+ `file_check_access` fails with `MIG_BAD_ID`, meaning this RPC is not
+ implemented.
+
+ The difference is that the former directly refers to the `/dev/null`
+ instance, whereas the latter goes through an intermediate pflocal instance.
+
+ Similarly:
+
+ $ stat /dev/fd/0 < /dev/null
+ File: `/dev/fd/0'
+ Size: 0 Blocks: 0 IO Block: 1048576 character special file
+ Device: 17h/23d Inode: 342820 Links: 1 Device type: 0,0
+ Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root)
+ Access: 2012-11-27 16:03:19.000000000 +0100
+ Modify: 2012-11-27 16:03:19.000000000 +0100
+ Change: 2012-11-27 16:03:19.000000000 +0100
+ Birth: -
+ $ cat < /dev/null | stat /dev/fd/0
+ File: `/dev/fd/0'
+ Size: 0 Blocks: 0 IO Block: 65536 fifo
+ Device: 9h/9d Inode: 0 Links: 0
+ Access: (0000/p---------) Uid: ( 0/ root) Gid: ( 0/ root)
+ Access: 1970-01-01 01:00:00.000000000 +0100
+ Modify: 1970-01-01 01:00:00.000000000 +0100
+ Change: 1970-01-01 01:00:00.000000000 +0100
+ Birth: -
+
+ `io_stat_request` fills in these values.
+
* `Clang :: Tooling/clang-check-builtin-headers.cpp`
Fails: `fatal error: 'stddef.h' file not found`; succeeds when ran