From 11cf3fc335cac232dc4093410679c86a3cf3d38f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 26 Dec 2012 11:29:56 +0100 Subject: open_issues/llvm: llvm llvmf85ec865f0f803273ab38e3b1a19fe185c7e88ac (2012-12-23), clang debc018be39668db5cefb6418cd210aa716d6e7a (2012-12-23), compiler-rt cab6133c5d7478e96882cb54467e29b3716c0d89 (2012-12-23), test-suite 1451ba86fc87d067ed3d244352e4025a8134b0a7 (2012-12-23) --- llvm.mdwn | 22 ++++++ open_issues/llvm.mdwn | 157 +++++++++++++++++++++++++++++++++++++-- open_issues/mmap_write-only.mdwn | 3 +- source_repositories/llvm.mdwn | 17 +++++ toolchain/logs | 2 +- 5 files changed, 193 insertions(+), 8 deletions(-) create mode 100644 llvm.mdwn create mode 100644 source_repositories/llvm.mdwn diff --git a/llvm.mdwn b/llvm.mdwn new file mode 100644 index 00000000..d214881a --- /dev/null +++ b/llvm.mdwn @@ -0,0 +1,22 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="LLVM"]] + + +# + + +# [[Maintenance|open_issues/llvm]] + + +# Open Issues + +[[!inline pages=tag/open_issue_llvm raw=yes feeds=no]] diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn index d0b7b91d..39549db1 100644 --- a/open_issues/llvm.mdwn +++ b/open_issues/llvm.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -8,10 +8,155 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -[[!tag open_issue_llvm open_issue_porting]] +[[!tag open_issue_llvm]] -[LLVM](http://www.llvm.org/) needs a little bit of porting for being usable on -GNU/Hurd. +Here's what's to be done for maintaining [[/LLVM]]. -Apparently this has already been done within Debian; -. +Apart from the target-specific configuration machinery, there shouldn't be any +major differences within LLVM between the GNU/Hurd and GNU/Linux ports, for +example. Especially all the compiler magic is all the same. + +[[!toc levels=2]] + + +# [[General information|/llvm]] + + +# [[Sources|source_repositories/llvm]] + + +# Configuration + + + +Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm +llvmf85ec865f0f803273ab38e3b1a19fe185c7e88ac (2012-12-23), clang +debc018be39668db5cefb6418cd210aa716d6e7a (2012-12-23), compiler-rt +cab6133c5d7478e96882cb54467e29b3716c0d89 (2012-12-23), test-suite +1451ba86fc87d067ed3d244352e4025a8134b0a7 (2012-12-23). + + * Configure fragments that have `*linux*` cases might/should often contain + those for us (and GNU/k*BSD) as well. + + * . + + * [low] Some `PATH_MAX`/`MAXPATHLEN` things. + + * Review `gs:` usage in `[llvm]/lib/Target/X86/`, `[llvm]/test/CodeGen/X86/`, + `[llvm]/test/MC/X86/`. +./clang/tschwinge/Hank_Mobley/docs/LanguageExtensions.rst: movl %gs:(%eax), %eax +./clang/tschwinge/Hank_Mobley/test/Sema/asm.c: asm volatile ("movb %%gs:%P2,%b0" : "=q"(b) : "0"(0), "i"(5L)); + + +# Build + +Here's a log of a LLVM build run; this is from our [[Git repository's +sources|source_repositories/llvm]], llvm +llvmf85ec865f0f803273ab38e3b1a19fe185c7e88ac (2012-12-23), clang +debc018be39668db5cefb6418cd210aa716d6e7a (2012-12-23), compiler-rt +cab6133c5d7478e96882cb54467e29b3716c0d89 (2012-12-23), test-suite +1451ba86fc87d067ed3d244352e4025a8134b0a7 (2012-12-23), run on kepler.SCHWINGE +and coulomb.SCHWINGE. + + $ export LC_ALL=C + $ (cd ../Horace_Silver/ && ln -sfn ../../../clang/tschwinge/Hank_Mobley tools/clang) + $ (cd ../Horace_Silver/ && ln -sfn ../../../compiler-rt/tschwinge/Doug_Watkins projects/compiler-rt) + $ (cd ../Horace_Silver/ && ln -sfn ../../../test-suite/tschwinge/Art_Blakey projects/test-suite) + $ ../Horace_Silver/configure --prefix="$PWD".install --enable-optimized SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build + $ make VERBOSE=1 2>&1 | tee log_build_ + +Different hosts may default to different shells and compiler versions; thus +harmonized. + +Passing `--enable-debug-symbols`, the GNU/Hurd build terminates with a SIGBUS +when linking `Release+Debug+Asserts/bin/clang` (which is bigger than 500 MiB +for the corresponding GNU/Linux build). + +This takes up around 3 GiB, and needs roughly 1.75 h on kepler.SCHWINGE and +4.25 h on coulomb.SCHWINGE. + + + + +## Analysis + + $ toolchain/logs/process llvm build + + -checking type of operating system we're going to host on... Linux + -checking type of operating system we're going to target... Linux + +checking type of operating system we're going to host on... GNU + +checking type of operating system we're going to target... GNU + + -checking mach/mach.h usability... no + -checking mach/mach.h presence... no + -checking for mach/mach.h... no + +checking mach/mach.h usability... yes + +checking mach/mach.h presence... yes + +checking for mach/mach.h... yes + + -checking for mmap of files... yes + +checking for mmap of files... no + checking if /dev/zero is needed for mmap... no + +configure: WARNING: mmap() of files required but not found + + [[mmap_write-only]]? TODO + + -checking type of operating system we're going to target... Linux + +checking type of operating system we're going to target... Unknown + + +In file included from [...]/tschwinge/Horace_Silver/lib/Support/Process.cpp:29:0: + +[...]/tschwinge/Horace_Silver/lib/Support/Unix/Process.inc: In function 'unsigned int getColumns(int)': + +[...]/tschwinge/Horace_Silver/lib/Support/Unix/Process.inc:220:21: warning: enumeral and non-enumeral type in conditional expression [enabled b + + include/llvm/Config/* + Makefile.config + +TODO + + +# Install + + $ 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 +min on coulomb.SCHWINGE. + + +## Analysis + + $ toolchain/logs/process llvm install + +TODO + + +# Testsuite + + $ make -k VERBOSE=1 LIT_ARGS='-v --threads=1' check-all 2>&1 | tee log_test_check-all + $ make -k -C projects/test-suite/ 2>&1 | tee log_test_test-suite + +`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 +coulomb.SCHWINGE. + + +## Analysis + + $ toolchain/logs/process llvm test + +TODO diff --git a/open_issues/mmap_write-only.mdwn b/open_issues/mmap_write-only.mdwn index 467274c5..b64e8641 100644 --- a/open_issues/mmap_write-only.mdwn +++ b/open_issues/mmap_write-only.mdwn @@ -8,7 +8,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -[[!tag open_issue_glibc]] +[[!tag open_issue_glibc open_issue_llvm]] + # IRC, freenode, #hurd, 2011-12-14 diff --git a/source_repositories/llvm.mdwn b/source_repositories/llvm.mdwn new file mode 100644 index 00000000..9788aae1 --- /dev/null +++ b/source_repositories/llvm.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +There are repositories for maintenance of [[/LLVM]] for the Hurd's needs: +`grubber:~tschwinge/tmp/llvm/git`, `grubber:~tschwinge/tmp/llvm/clang/git`, +`grubber:~tschwinge/tmp/llvm/compiler-rt/git`, +`grubber:~tschwinge/tmp/llvm/test-suite/git`. + +These repositories are based on the [upstream Git mirror +repositories](http://llvm.org/docs/GettingStarted.html#git-mirror). diff --git a/toolchain/logs b/toolchain/logs index b2218016..eaa077b4 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit b2218016e588eed4e81eeb85b35f58bcd784da48 +Subproject commit eaa077b495ce4ba717317c37a7673f6b5adb4897 -- cgit v1.2.3 From 55ffc6f5698b61c75260ff12b2591e3032b0651e Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Thu, 27 Dec 2012 00:22:41 +0100 Subject: open_issues/llvm: un-TODO mmap bug --- open_issues/llvm.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn index 39549db1..ac52b7c8 100644 --- a/open_issues/llvm.mdwn +++ b/open_issues/llvm.mdwn @@ -112,7 +112,7 @@ This takes up around 3 GiB, and needs roughly 1.75 h on kepler.SCHWINGE and checking if /dev/zero is needed for mmap... no +configure: WARNING: mmap() of files required but not found - [[mmap_write-only]]? TODO + Due to [[mmap_write-only]]. -checking type of operating system we're going to target... Linux +checking type of operating system we're going to target... Unknown -- cgit v1.2.3 From d90af7499de9d0c58215691174826f956ff6612c Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 30 Dec 2012 00:35:58 +0100 Subject: OSes usually have threads in the kernel, only a few packages provide user-land threads --- microkernel/mach/thread.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microkernel/mach/thread.mdwn b/microkernel/mach/thread.mdwn index e27bb117..ccce643e 100644 --- a/microkernel/mach/thread.mdwn +++ b/microkernel/mach/thread.mdwn @@ -12,8 +12,8 @@ License|/fdl]]."]]"""]] A Mach *thread* belongs to exactly one [[task]], and is the means of execution. The task supplies the resources. -Mach threads are implemented inside the [[kernel]], as opposed to other -systems' user-level thread packages. +Mach threads are implemented inside the [[kernel]], like in many operating +systems, unlike some user-level thread packages (aka "green" threads). A thread (theoretically) runs concurrently with all the other threads of a system. If the system provides several processors, they can be used for -- cgit v1.2.3 From 39bde0adf87b4e1ca6167a8fd1455d9ea87a4e9f Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 5 Jan 2013 02:43:14 +0100 Subject: starter for doc writer --- contributing.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/contributing.mdwn b/contributing.mdwn index ba0d3c90..b8a28088 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -187,6 +187,15 @@ the other hand, there are people (you?) who enjoy documenting technical matters, so don't hesitate to [[contact_us]] if technical documentation shall be your contribution to GNU Hurd development. +A good start is probably to just start using the Hurd, and play with +the translators. In the process you will probably find that some of the +documentations are missing some details, are outdated, etc. That is were you can +start contributing for instance. + +As an advice: do not start yet another documentation from scratch. There are +already a lot of tutorials in the wilds, and they are almost all completely +outdated. Rather contribute to the existing official documentation: this wiki, +the documentation in the Hurd source, the Debian Hurd port pages. ## Web Pages -- cgit v1.2.3 From f92e5bd67a2a1d1116b175770e7706d6bf655de5 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 5 Jan 2013 04:33:04 +0100 Subject: More details on having to make select interruptible by signal --- open_issues/select_vs_signals.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/open_issues/select_vs_signals.mdwn b/open_issues/select_vs_signals.mdwn index bbd69d00..cdf39609 100644 --- a/open_issues/select_vs_signals.mdwn +++ b/open_issues/select_vs_signals.mdwn @@ -20,6 +20,17 @@ IRC, freenode, #hurd, 2011-04-02 the sudo bug is select() not being able to get interrupted by signals +IRC, freenode, #hurd, 2012-01-05 + + it's a know issue in select + it's not interruptible by a SIGALRM for instance + which is what ntpdate uses + when __io_select is used, it *is* interruptible + but when __mach_msg is used, it is *not* interruptible + it happens that by luck, ntpdate uses just one fd, and thus it's __io_select which is used, and thus it gets an interruption after 1s (instead of after 60s, the timeout) + with braunr's patch, it's __mach_msg which is used to wait, and thus the interruption doesn't happen, and we have to wait 60s, the timeout... + so braunr's patch is still correct, it's the __mach_msg call which we do need to make interruptible (it was already on the todolist) + --- See also [[select]] and [[select_bogus_fd]]. -- cgit v1.2.3 From 8c43e7ae62a28bfa27b03ac2c2877e01253809d1 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 5 Jan 2013 23:59:23 +0100 Subject: proposed patch link --- open_issues/select_vs_signals.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/open_issues/select_vs_signals.mdwn b/open_issues/select_vs_signals.mdwn index cdf39609..927b888e 100644 --- a/open_issues/select_vs_signals.mdwn +++ b/open_issues/select_vs_signals.mdwn @@ -31,6 +31,8 @@ IRC, freenode, #hurd, 2012-01-05 with braunr's patch, it's __mach_msg which is used to wait, and thus the interruption doesn't happen, and we have to wait 60s, the timeout... so braunr's patch is still correct, it's the __mach_msg call which we do need to make interruptible (it was already on the todolist) +Proposed patch on http://cygwin.com/ml/libc-alpha/2013-01/msg00189.html + --- See also [[select]] and [[select_bogus_fd]]. -- cgit v1.2.3 From b2a0cdbf0cc6d70d1b00301f8808111024bed962 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 7 Jan 2013 21:31:56 +0100 Subject: Add dates --- community/meetings/fosdem_2013.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/meetings/fosdem_2013.mdwn b/community/meetings/fosdem_2013.mdwn index 4acf0c90..ac678b5e 100644 --- a/community/meetings/fosdem_2013.mdwn +++ b/community/meetings/fosdem_2013.mdwn @@ -21,7 +21,7 @@ Bruxelles. [[!table class="table_style_1" data=""" "Name","Attending","Arrival","Return","Share room with us" -"Samuel Thibault","yes","","","yes" +"Samuel Thibault","yes","friday 5pm","monday 10am","no" """]] -- cgit v1.2.3