summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/gsoc/2008/minutes-2008-05-02.mdwn8
-rw-r--r--community/gsoc/project_ideas/testing_framework/discussion.mdwn6
-rw-r--r--community/meetings/fosdem_2013.mdwn7
-rw-r--r--community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn9
-rw-r--r--contributing.mdwn39
-rw-r--r--contributing/web_pages.mdwn22
-rw-r--r--hurd/porting/guidelines.mdwn36
-rw-r--r--hurd/status.mdwn6
-rw-r--r--hurd/translator/pfinet/ipv6.mdwn2
-rw-r--r--hurd/translator/procfs/jkoenig/discussion.mdwn25
-rw-r--r--hurd/translator/random.mdwn2
-rw-r--r--ikiwiki.setup17
-rw-r--r--local.css4
-rw-r--r--open_issues/binutils.mdwn19
-rw-r--r--open_issues/code_analysis.mdwn29
-rw-r--r--open_issues/dbus_in_linux_kernel.mdwn16
-rw-r--r--open_issues/exec.mdwn4
-rw-r--r--open_issues/ext2fs_page_cache_swapping_leak.mdwn7
-rw-r--r--open_issues/fork_deadlock.mdwn161
-rw-r--r--open_issues/gcc/pie.mdwn7
-rw-r--r--open_issues/gdb.mdwn78
-rw-r--r--open_issues/glibc.mdwn756
-rw-r--r--open_issues/libpthread_addon.mdwn19
-rw-r--r--open_issues/llvm.mdwn210
-rw-r--r--open_issues/security.mdwn12
-rw-r--r--public_hurd_boxen.mdwn4
-rw-r--r--shortcuts.mdwn6
-rw-r--r--source_repositories.mdwn40
m---------toolchain/logs10
-rw-r--r--user/Maksym_Planeta.mdwn10
-rw-r--r--user/jkoenig/java/discussion.mdwn3
-rw-r--r--user/jkoenig/java/proposal.mdwn2
32 files changed, 868 insertions, 708 deletions
diff --git a/community/gsoc/2008/minutes-2008-05-02.mdwn b/community/gsoc/2008/minutes-2008-05-02.mdwn
index 1dc99abe..4ed779c2 100644
--- a/community/gsoc/2008/minutes-2008-05-02.mdwn
+++ b/community/gsoc/2008/minutes-2008-05-02.mdwn
@@ -1,15 +1,15 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2013 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
- madrazr wanted a wiki to keep track of progress. antrik suggested:
- http://www.bddebian.com/~wiki/community/gsoc/ and that everyone use
+ [[/community/gsoc]] and that everyone use
that to keep track of their progress. bddebian was poked about git
accounts on flubber.bddebian.com
diff --git a/community/gsoc/project_ideas/testing_framework/discussion.mdwn b/community/gsoc/project_ideas/testing_framework/discussion.mdwn
index b01d13c3..04e54d02 100644
--- a/community/gsoc/project_ideas/testing_framework/discussion.mdwn
+++ b/community/gsoc/project_ideas/testing_framework/discussion.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011, 2013 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
@@ -246,6 +247,9 @@ freenode, #hurd channel, 2011-03-07:
testing. http://www.bddebian.com/~hurd-web/open_issues/unit_testing/
talks about unit testing, but a lot (most?) of it is actually about
regression tests...
+
+[[/open_issues/unit_testing]].
+
<tschwinge> antrik: That may certainly be -- I'm not at all an expert in
this, and just generally though that some sort of automated testing is
needed, and thus started collecting ideas.
diff --git a/community/meetings/fosdem_2013.mdwn b/community/meetings/fosdem_2013.mdwn
index 6b883928..30860cb6 100644
--- a/community/meetings/fosdem_2013.mdwn
+++ b/community/meetings/fosdem_2013.mdwn
@@ -32,8 +32,6 @@ Bruxelles.
[Announcement](https://lists.fosdem.org/pipermail/microkernel-devroom/2012-October/000054.html).
-Talk proposal:
-
title: The GNU/Hurd architecture, nifty features, and latest news
Full name: Samuel Thibault
@@ -57,5 +55,8 @@ virtualization container support on GNU/Hurd, will also be presented. We will
also present recent developments, notably in terms of DDE device drivers run as
userland processes, and discuss about maintenance of DDE.
+Slides:
+http://people.debian.org/~sthibault/hurd-i386/2013-02-02-fosdem.pdf
+
Duration:
-30m, 45m?
+50m
diff --git a/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn b/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn
index 693168a4..eb90f663 100644
--- a/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn
+++ b/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn
@@ -1,12 +1,12 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2013 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
Yesterday I spent a few hours trying to get my german keyboard to let me use my umlauts (and to let me type without having to hunt down the right keys), but without much luck.
@@ -43,5 +43,4 @@ Sadly it didn't work, but maybe this posts will give You the needed headstart fo
Some additional info:
- <http://kerneltrap.org/node/420>
-- <http://www.bddebian.com/~wiki/hurd/console/>
-
+- [[/hurd/console]]
diff --git a/contributing.mdwn b/contributing.mdwn
index b8a28088..b5ff6f3c 100644
--- a/contributing.mdwn
+++ b/contributing.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free
-Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
+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
@@ -74,6 +74,41 @@ For more reading resources, please see these web pages, for example,
documents.
+## Small hack entries
+
+Here is a list of small hacks, which can serve as entries into the Hurd code for
+people who would like to dive into the code but just lack a "somewhere to begin
+with".
+
+* Make pfinet OK with the ethernet device going away. This would be a very
+nice feature: being able to just restart the ethernet driver; we've just not
+taken the time to fix it yet, but it shouldn't be very hard. The code begins
+at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which
+produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO
+when using it, and in that case re-open the device.
+* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking
+primitives, including inter-process primitives. `vm_allocate` can be used as an
+example in the `gnumach` source tree for how to add a kernel trap. [[!GNU_Savannah_task 6231]]
+* Add a `task_set_name` RPC to GNU Mach. Currently the Mach
+debugger keeps `arg[0]` from the stack with ugly heuristics (see
+`gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be
+far better to let `exec` simply set the name and record it in `task_t`.
+`thread_create` can be used as an example in the `gnumach` source tree for how
+to add an RPC. glibc needs to be recompiled against the updated mach.defs to get
+access to it from userland. exec would probably call it from `hurd/exec/exec.c`,
+`do_exec()`.
+* Write a partfs translator, to which one gives a disk image, and
+which exposes the partitions of the disk image, using parted, and
+the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed
+part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based.
+* Write virtio drivers for KVM. Ideally they would be userland.
+* Port valgrind. There is a whole
+[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the
+basic port could be small.
+* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, [[!GNU_Savannah_task 6990]]
+* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. [[!GNU_Savannah_bug 32770]]
+
+
<a name="porting"></a>
## Porting Packages
diff --git a/contributing/web_pages.mdwn b/contributing/web_pages.mdwn
index b2e96121..48a44659 100644
--- a/contributing/web_pages.mdwn
+++ b/contributing/web_pages.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011 Free Software
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -65,7 +65,7 @@ There are [[more detailed instructions about editing news items|news]].
When you commit changes, either using the web interface or checking them in
into the repository; they won't become visible on
<http://www.gnu.org/software/hurd/> immediately, but on
-<http://www.bddebian.com:8888/~hurd-web/> instead. The former set of pages,
+<http://darnassus.sceen.net/~hurd-web/> instead. The former set of pages,
the official GNU Hurd web appearance, will be updated periodically (but
manually) from the latter one, where every edit is visible immediately. This
is so that we have a chance to have the pages make fit for appearance on
@@ -113,25 +113,23 @@ identity:
To be able to do a checkout from which you can later directly push your
changes back into the master repository, you need a
-[[shell_account_on_*flubber*|public_hurd_boxen]] and need to be a member of
+[[shell_account_on_*darnassus*|public_hurd_boxen]] and need to be a member of
the *hurd-web* group. (It's also recommended that you set up your local
SSH configuration as advised on that page.) If you have an account on there:
- $ git clone flubber:~hurd-web/hurd-web [dest]
+ $ git clone darnassus:~hurd-web/hurd-web.git [dest]
If you don't have such an account or don't have your login data handy, you can
still get pages the read-only way.
- $ git clone git://flubber.bddebian.com/~hurd-web/hurd-web [dest]
+<!--
-If that also doesn't work out, you have yet another chance: pull over the HTTP
-protocol. Not very efficient (read: rather inefficient), but it works. This
-is also read-only.
-
- $ git clone http://www.bddebian.com:8888/git/hurd-web [dest]
+ $ git clone git://darnassus.sceen.net/~hurd-web/hurd-web.git [dest]
Or, you can check out the Savannah repository:
+-->
+
$ git clone git://git.savannah.gnu.org/hurd/web.git [dest]
See <http://git.savannah.gnu.org/cgit/hurd/web.git>. If you're using the `ssh`
@@ -141,7 +139,7 @@ repository is that there is no [[ikiwiki]] installation where the pushed
changes are immediatelly rendered and viewable by everyone.
For all cases: if you omit `[dest]` it will default to `hurd-web` for the
-`bddebian.com` repositories, or `web` for a Savannah clone.
+darnassus repository, or `web` for a Savannah clone.
Later, you can just `cd` into the `hurd-web` or `web` directory, and, for
example, run `git pull` to get hold of the latest changes others have been
@@ -183,7 +181,7 @@ You can also locally get the whole set of pages rendered to HTML:
If you're a [`w3m`](http://w3m.sourceforge.net/) user, you can also use `w3m`
to edit your files locally, as it were done through the web interface at
-<http://www.bddebian.com:8888/~hurd-web/>.
+<http://darnassus.sceen.net/~hurd-web/>.
First, generate the wrapper. Unless the configuration is changed, this has to
be done only once.
diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn
index aabf0345..d28a777e 100644
--- a/hurd/porting/guidelines.mdwn
+++ b/hurd/porting/guidelines.mdwn
@@ -189,21 +189,21 @@ To `config.h.in`, you need to add:
Then something like:
- #ifndef HAVE_STRERROR
- static char *
- private_strerror (errnum)
- int errnum;
- {
- extern char *sys_errlist[];
- extern int sys_nerr;
-
- if (errnum > 0 && errnum <= sys_nerr)
- return sys_errlist[errnum];
-
- return "Unknown system error";
- }
- #define strerror private_strerror
- #endif /* HAVE_STRERROR */
+ #ifndef HAVE_STRERROR
+ static char *
+ private_strerror (errnum)
+ int errnum;
+ {
+ extern char *sys_errlist[];
+ extern int sys_nerr;
+
+ if (errnum > 0 && errnum <= sys_nerr)
+ return sys_errlist[errnum];
+
+ return "Unknown system error";
+ }
+ #define strerror private_strerror
+ #endif /* HAVE_STRERROR */
You can for example look in the latest coreutils (the above is a simplified version of what I found there.) Patches should of course be sent to upstream maintainers, this is very useful even for systems with a working `sys_errlist[]`.
@@ -214,11 +214,11 @@ Of course, if you don't care about broken systems (like MS-DOG) not supporting `
On the Hurd, `error_t` is an enumeration of the `E*` constants. However, C++
does not like `E*` integer macros being directly assigned to that enumeration. In short, replace
- error_t err = EINTR;
+ error_t err = EINTR;
by
- error_t err = error_t(EINTR);
+ error_t err = error_t(EINTR);
## <a name="Missing_termio_h_tt_"> Missing `termio.h` </a>
@@ -356,7 +356,7 @@ With Python, you can use the [`errno` module](http://docs.python.org/library/err
## <a name="libdl"> undefined reference to `dlopen`, `dlsym`, `dlclose` </a>
-Configure script often hardcode the library that contains dlopen & such (`-ldl'), and only for Linux. Simply add the other GNU OS cases: replace `linux*' with `linux*|gnu*|k*bsd*-gnu`
+Configure script often hardcode the library that contains dlopen & such (`-ldl`), and only for Linux. Simply add the other GNU OS cases: replace `linux*` with `linux*|gnu*|k*bsd*-gnu*`
## <a name="linux_headers"> Missing `linux/types.h`, `asm/types.h`, `linux/limits.h`, `asm/byteorder.h`, `sys/endian.h`, `asm/ioctl.h`, `asm/ioctls.h`, `linux/soundcard.h` </a>
diff --git a/hurd/status.mdwn b/hurd/status.mdwn
index e6545b27..ce9e01dd 100644
--- a/hurd/status.mdwn
+++ b/hurd/status.mdwn
@@ -30,7 +30,7 @@ instance. You can run the X window system, applications that use it such as
gnumeric, iceweasel, and advanced server applications like the Apache webserver.
On the negative side, the support for character devices (like sound
-cards) and other hardware is mostly missing. Although the [[POSIX
+cards) and other hardware (USB, multicore) is mostly missing. Although the [[POSIX
interface|faq/posix_compatibility]] is provided, some additional interfaces
like POSIX shared
memory or semaphores are still under development.
@@ -51,9 +51,9 @@ align="right"
]]
[[Debian GNU/Hurd|running/debian]] closely tracks the progress of the Hurd (and
often includes new features). They offer *LiveCDs and QEMU images* to
-test-drive the Hurd, and about 75% of the Debian software archive are
+test-drive the Hurd, and about 78% of the Debian software archive are
available. The most recent version of the Debian GNU/Hurd port at the time of
-writing was published on 2012 February 21st.
+writing was published on 2013 January 5th. Debian Wheezy will unfortunately not officially release officially the Hurd port, an unofficial release will however be available.
[[hurd/running/Arch_Hurd]] offers *LiveCDs* for testing and installation.
diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn
index 03a5670a..42ee3c55 100644
--- a/hurd/translator/pfinet/ipv6.mdwn
+++ b/hurd/translator/pfinet/ipv6.mdwn
@@ -10,7 +10,7 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]].
-This was [Savannah task #5470](http://savannah.gnu.org/task/?5470).
+This was [[!GNU_Savannah_task 5470]].
# Implementation
diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn
index 4cd4e5ca..d26f05f9 100644
--- a/hurd/translator/procfs/jkoenig/discussion.mdwn
+++ b/hurd/translator/procfs/jkoenig/discussion.mdwn
@@ -218,6 +218,20 @@ Needed by glibc's `pldd` tool (commit
[[!message-id "alpine.LFD.2.02.1110111111260.2016@akari"]]. Needed by glibc's
`stdlib/tst-secure-getenv.c`.
+Is it generally possible to use something like the following instead?
+Disadvantage is that every program using this needs to be patched.
+
+ #include <dlfcn.h>
+ [...]
+ Dl_info DLInfo;
+ int err = dladdr(&main, &DLInfo);
+ if (err == 0)
+ [...]
+ /* Pathname of shared object that contains address: DLInfo.dli_fname. */
+ /* Filter it through realpath. */
+
+This is used in `[LLVM]/lib/Support/Unix/Path.inc`.
+
# `/proc/[PID]/fd/`
@@ -300,17 +314,6 @@ Needed by glibc's `pldd` tool (commit
report why the test suite failed
-# IRC, freenode, #hurd, 2011-06-19
-
- <pinotree> jkoenig: procfs question: in process.c, process_lookup_pid, why
- is the entries[2].hook line repeated twice?
- <jkoenig> pinotree, let me check
- <jkoenig> pinotree, it's probably just a mistake, there's no way the second
- one has any effect
- <pinotree> jkoenig: i see, it looked like you c&p'd that code accidentally
- <jkoenig> pinotree, it's probably what happened, yes.
-
-
# `/proc/[PID]/cwd`
## IRC, freenode, #hurd, 2012-06-30
diff --git a/hurd/translator/random.mdwn b/hurd/translator/random.mdwn
index 9fc975f2..8304f600 100644
--- a/hurd/translator/random.mdwn
+++ b/hurd/translator/random.mdwn
@@ -1,4 +1,4 @@
-[Savannah task #5130: random translator](http://savannah.gnu.org/task/?5130)
+[[!GNU_Savannah_task 5130]]: random translator.
See the attached [[mbox.bz2]] containing all the emails concerning this topic
which I was able to gather from public archives. (!) This is not up-to-date
diff --git a/ikiwiki.setup b/ikiwiki.setup
index 9ae1f669..b07c582c 100644
--- a/ikiwiki.setup
+++ b/ikiwiki.setup
@@ -35,7 +35,7 @@ IkiWiki::Setup::Standard->import({
# name of the wiki
wikiname => 'GNU Hurd',
# contact email for wiki
- adminemail => 'tschwinge@gnu.org',
+ adminemail => 'thomas@schwinge.name',
# users who are wiki admins
adminuser => [qw{tschwinge}],
# users who are banned from the wiki
@@ -49,9 +49,9 @@ IkiWiki::Setup::Standard->import({
# where to build the wiki
destdir => $destdir,
# base url to the wiki
- url => 'http://www.bddebian.com:8888/~hurd-web',
+ url => 'http://darnassus.sceen.net/~hurd-web',
# url to the ikiwiki.cgi
- cgiurl => 'http://www.bddebian.com:8888/cgi-bin/hurd-web-ikiwiki.cgi',
+ cgiurl => 'http://darnassus.sceen.net/cgi-bin/hurd-web',
# filename of cgi wrapper to generate
cgi_wrapper => $cgi_wrapper,
# mode for cgi_wrapper (can safely be made suid)
@@ -130,15 +130,16 @@ IkiWiki::Setup::Standard->import({
# shell command for git_wrapper to run, in the background
#git_wrapper_background_command => 'git push github',
# mode for git_wrapper (can safely be made suid)
- git_wrappermode => '0700',
+ #git_wrappermode => '0700',
+ git_wrappermode => '06755',
# git pre-receive hook to generate
#git_test_receive_wrapper => '/git/wiki.git/hooks/pre-receive',
# unix users whose commits should be checked by the pre-receive hook
#untrusted_committers => [],
# gitweb url to show file history ([[file]] substituted)
- historyurl => 'http://www.bddebian.com:8888/gitweb/?p=hurd-web;a=history;f=[[file]];hb=HEAD',
+ historyurl => 'http://darnassus.sceen.net/gitweb/?p=hurd-web.git;a=history;f=[[file]];hb=HEAD',
# gitweb url to show a diff ([[file]], [[sha1_to]], [[sha1_from]], [[sha1_commit]], and [[sha1_parent]] substituted)
- diffurl => 'http://www.bddebian.com:8888/gitweb/?p=hurd-web;a=blobdiff;f=[[file]];h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_commit]];hpb=[[sha1_parent]]',
+ diffurl => 'http://darnassus.sceen.net/gitweb/?p=hurd-web.git;a=blobdiff;f=[[file]];h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_commit]];hpb=[[sha1_parent]]',
# where to pull and push changes (set to empty string to disable)
gitorigin_branch => $gitorigin_branch,
# branch that the wiki is stored in
@@ -265,8 +266,8 @@ IkiWiki::Setup::Standard->import({
# URIs of repositories containing the wiki's source
repositories => [qw{git://git.savannah.gnu.org/hurd/web.git
http://git.savannah.gnu.org/r/hurd/web.git
- git://flubber.bddebian.com/~hurd-web/hurd-web
- http://www.bddebian.com:8888/git/hurd-web}],
+ git://darnassus.sceen.net/~hurd-web/hurd-web.git
+ http://darnassus.sceen.net/gitweb/?p=hurd-web.git}],
# search plugin
# path to the omega cgi program
diff --git a/local.css b/local.css
index 297a1e78..1249dfc7 100644
--- a/local.css
+++ b/local.css
@@ -1,6 +1,6 @@
/* ikiwiki local style sheet
- Copyright © 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright © 2007, 2008, 2009, 2010, 2013 Free Software Foundation, Inc.
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
@@ -18,7 +18,7 @@
/* TODO. I'm incapable, but have ideas, so...
(1) On web-edit pages like
- <http://www.bddebian.com/cgi-bin/wiki-ikiwiki.cgi?page=index&do=edit> I'd
+ <http://darnassus.sceen.net/cgi-bin/hurd-web?page=index&do=edit>, I'd
like to have the whole page fit into the web browser frame, so that no
scrollbars show up in the browser and all of header, text editing box,
copyright assignment notice, buttons and footer are visible at once, without
diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn
index 5c309d47..757ebbe9 100644
--- a/open_issues/binutils.mdwn
+++ b/open_issues/binutils.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012 Free Software
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -39,8 +39,8 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C
-->
-Last reviewed up to the [[Git mirror's 7c102198e4a1ecee9cf175bd4ad87ee435956cae
-(2012-12-16) sources|source_repositories/binutils]].
+Last reviewed up to the [[Git mirror's 944a6010b676b9f80f0a16c65183102b187822c5
+(2013-02-08) sources|source_repositories/binutils]].
* Globally
@@ -118,16 +118,19 @@ Last reviewed up to the [[Git mirror's 7c102198e4a1ecee9cf175bd4ad87ee435956cae
be helpful in the exec server, glibc, or elsewhere? Used in GDB (BFD)
commit bdbd9758806ed855af89244870fdc52cf3ff09bc.
+ * `Add HOSTING_SCRT0 for PIE test`, 49cc20aa5c416ea4307931cccf6353247368187d
+ -- is for GNU/Linux only; but also seems unused.
+
# Build
Here's a log of a binutils build run; this is from our [[Git
repository|source_repositories/binutils]]'s `tschwinge/Paul_Desmond` branch,
-commit 7c102198e4a1ecee9cf175bd4ad87ee435956cae (2012-12-16), run on
+commit 944a6010b676b9f80f0a16c65183102b187822c5 (2013-02-08), run on
kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
- $ ../Paul_Desmond/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build
+ $ ../Paul_Desmond/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.7 CXX=g++-4.7 2>&1 | tee log_build
[...]
$ make 2>&1 | tee log_build_
[...]
@@ -196,7 +199,11 @@ This needs roughly 6 min on kepler.SCHWINGE and 42 min on coulomb.SCHWINGE.
The testsuite isn't prepared for using `crt0.o` instead of `crt1.o`
depending on whether a static or dynamic executable is created. Documented
in `ld/configure.host`. Perhaps we should finally rewrite this messy code
- in glibc?
+ in glibc? Or, something similar to commit
+ 49cc20aa5c416ea4307931cccf6353247368187d `Add HOSTING_SCRT0 for PIE test`
+ can be used.
+
+ Same issue for `FAIL: Common symbol override ifunc *` ones?
* <a name="64ksec">`FAIL: ld-elf/64ksec`</a>
diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn
index 98b9b1d5..138f3d6c 100644
--- a/open_issues/code_analysis.mdwn
+++ b/open_issues/code_analysis.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010, 2011, 2012 Free Software Foundation,
+[[!meta copyright="Copyright © 2010, 2011, 2012, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -172,11 +172,32 @@ There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks.
Not yet [[ported to the Hurd|community/gsoc/project_ideas/gcc_asan]].
+ * [GCC plugins](http://gcc.gnu.org/wiki/plugins)
+
+ * [CTraps](https://github.com/blucia0a/CTraps-gcc)
+
+ > CTraps is a gcc plugin and runtime library that inserts calls to runtime
+ > library functions just before shared memory accesses in parallel/concurrent
+ > code.
+ >
+ > The purpose of this plugin is to expose information about when and how threads
+ > communicate with one another to programmers for the purpose of debugging and
+ > performance tuning. The overhead of the instrumentation and runtime code is
+ > very low -- often low enough for always-on use in production code. In a series
+ > of initial experiments the overhead was 0-10% in many important cases.
+
* Input fuzzing
- Not a new topic; has been used (and a paper published) for early UNIX
- tools, I[[I|tschwinge]]RC.
+ Not a new topic; has been used (and papers published?) for early [[UNIX]]
+ tools. What about some [[RPC]] fuzzing?
* <http://caca.zoy.org/wiki/zzuf>
- What about some [[RPC]] fuzzing?
+ * <http://www.ece.cmu.edu/~koopman/ballista/>
+
+ * [Jones: system call abuse](http://lwn.net/Articles/414273/), Dave
+ Jones, 2010.
+
+ * [Trinity: A Linux kernel fuzz tester (and then
+ some)](http://www.socallinuxexpo.org/scale11x/presentations/trinity-linux-kernel-fuzz-tester-and-then-some),
+ Dave Jones, The Eleventh Annual Southern California Linux Expo, 2013.
diff --git a/open_issues/dbus_in_linux_kernel.mdwn b/open_issues/dbus_in_linux_kernel.mdwn
index a94e1fed..caf47711 100644
--- a/open_issues/dbus_in_linux_kernel.mdwn
+++ b/open_issues/dbus_in_linux_kernel.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2013 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,9 +8,14 @@ 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="AF_BUS, D-Bus, and the Linux kernel"]]
+
Might be interesting to watch how this develops.
-IRC, #hurd, August / September 2010
+[[!toc]]
+
+
+# IRC, freenode, #hurd, about 2010-08/2010-09
<neal> check this out:
<neal> someone is working on implementing dbus in linux
@@ -62,3 +67,10 @@ IRC, #hurd, August / September 2010
* [\[PATCH 0/5\] RFC: Multicast and filtering features on
AF_UNIX](http://article.gmane.org/gmane.linux.kernel/1040481),
2010-09-24
+
+
+# 2013-02
+
+[AF_BUS, D-Bus, and the Linux
+kernel](http://www.kroah.com/log/linux/af_bus.html), Greg Kroah-Hartman,
+2013-02-08.
diff --git a/open_issues/exec.mdwn b/open_issues/exec.mdwn
index 47d1560a..ff3fccf5 100644
--- a/open_issues/exec.mdwn
+++ b/open_issues/exec.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2013 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,7 +8,7 @@ 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]]."]]"""]]
-[[!open_issue_hurd]]
+[[!tag open_issue_hurd]]
IRC, unknown channel, unknown date.
diff --git a/open_issues/ext2fs_page_cache_swapping_leak.mdwn b/open_issues/ext2fs_page_cache_swapping_leak.mdwn
index 7c4cf52d..81915492 100644
--- a/open_issues/ext2fs_page_cache_swapping_leak.mdwn
+++ b/open_issues/ext2fs_page_cache_swapping_leak.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2011, 2012, 2013 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
@@ -286,11 +287,7 @@ There is a [[!FF_project 272]][[!tag bounty]] on this task.
freed again when the filesystem translator in question exits
<antrik> so it sounds *very* much like pages go to swap because the
filesystem isn't quick enough to properly page them out
- <tschwinge>
- http://www.bddebian.com:8888/~hurd-web/open_issues/ext2fs_page_cache_swapping_leak/
- <slpz> tschwinge: thanks
<slpz> antrik: I see
- <tschwinge> Always at your service. ;-)
<slpz> antrik: I didn't addressed this problem directly, but when I've
modified the pageout mechanism to provide a special treatment for
external pages, I also removed the possibility of sending them to the
diff --git a/open_issues/fork_deadlock.mdwn b/open_issues/fork_deadlock.mdwn
index f8bf936e..08e53330 100644
--- a/open_issues/fork_deadlock.mdwn
+++ b/open_issues/fork_deadlock.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2012, 2013 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
@@ -3405,3 +3405,162 @@ Thread 1 (Thread 9076.1):
# [[!message-id "877govry7a.fsf@kepler.schwinge.homeip.net"]]
+
+## 2013-02-08
+
+With Richard's `2.13-39+hurd.rbraun.3` packages (but doesn't seem related to
+the issues he's working on), which includes the hack from the email above,
+during a GDB build's `make install`:
+
+ PID UID PPID PGrp Sess TH Vmem RSS %CPU User System Args
+ 1988 1000 1986 1715 420 2 146M 204K 97.6 0:01.49 3:19.91 /bin/dash -c catalogs='da.gmo de.gmo es.gmo fi.gmo fr.gmo ga.gmo id.gmo it.gm
+
+ Thread 1 (Thread 1988.1):
+ #0 0x0105b82c in swtch_pri () at /home/rbraun/devel/debian/packages/eglibc/eglibc-2.13/build-tree/hurd-i386-libc/mach/swtch_pri.S:2
+ No locals.
+ #1 0x0105d0b4 in __spin_lock_solid (lock=0x121900c) at spin-solid.c:27
+ No locals.
+ #2 0x01071e73 in __spin_lock (__lock=<optimized out>) at ../mach/lock-intern.h:55
+ No locals.
+ #3 _hurd_sigstate_lock (ss=0x1219008) at hurdsig.c:174
+ No locals.
+ #4 0x0110f59c in _hurd_critical_section_unlock (our_lock=<optimized out>) at ../hurd/hurd/signal.h:235
+ No locals.
+ #5 __fork () at ../sysdeps/mach/hurd/fork.c:716
+ env = {{__jmpbuf = {18698228, 18972616, 0, 16926424, 16926052, 17887119}, __mask_was_saved = 0, __saved_mask = 5}}
+ pid = 0
+ err = <optimized out>
+ __PRETTY_FUNCTION__ = "__fork"
+ ss = 0x1219008
+ threads = 0x0
+ nthreads = 0
+ stopped = 1
+ i = 6
+ #6 0x08051620 in forkshell (jp=jp@entry=0x8064600, n=0x806378c, mode=0) at /home/thomas/tmp/dash/debian/dash-0.5.7/build-tmp/../src/jobs.c:934
+ pid = <optimized out>
+ [...]
+
+This time, it's our own sigstate, not the global one:
+
+ (gdb) print _hurd_global_sigstate
+ $1 = (struct hurd_sigstate *) 0x1219808
+
+
+## 2013-02-19
+
+Reproduced the 2013-02-08 findings with Richard's `2.13-39+hurd.rbraun.6`
+packages (but doesn't seem related to the issues he's working on), which
+includes the hack from the email above, after a GCC build's `make` has been
+running for 14.25 h (so very near the end of the build, darn):
+
+ PID UID PPID PGrp Sess TH Vmem RSS %CPU User System Args
+ 2792 1000 2773 1728 409 2 146M 1.19M 0.0 0:00.20 0:00.80 /bin/dash /home/thomas/tmp/gcc/hurd/master/libatomic/configure --cache-fil
+ 3839 1000 2792 1728 409 2 146M 532K 0.0 0:00.00 0:00.00 /bin/dash /home/thomas/tmp/gcc/hurd/master/libatomic/configure --cache-fil
+ 3841 1000 3839 1728 409 2 146M 272K 95.4 4:13.12 5hrs /bin/dash /home/thomas/tmp/gcc/hurd/master/libatomic/configure --cache-fil
+
+ #0 0x0105a87c in swtch_pri () at /home/rbraun/devel/debian/packages/eglibc/eglibc-2.13/build-tree/hurd-i386-libc/mach/swtch_pri.S:2
+ No locals.
+ #1 0x0105c104 in __spin_lock_solid (lock=0x121d00c) at spin-solid.c:27
+ No locals.
+ #2 0x01070f43 in __spin_lock (__lock=<optimized out>) at ../mach/lock-intern.h:55
+ No locals.
+ #3 _hurd_sigstate_lock (ss=0x121d008) at hurdsig.c:174
+ No locals.
+ #4 0x0110e66c in _hurd_critical_section_unlock (our_lock=<optimized out>) at ../hurd/hurd/signal.h:235
+ No locals.
+ #5 __fork () at ../sysdeps/mach/hurd/fork.c:716
+ env = {{__jmpbuf = {18694132, 18989000, 134637636, 16926072, 16925700, 17883231}, __mask_was_saved = 0, __saved_mask = 4294967295}}
+ pid = 0
+ err = <optimized out>
+ __PRETTY_FUNCTION__ = "__fork"
+ ss = 0x121d008
+ threads = 0x0
+ nthreads = 0
+ stopped = 1
+ i = 6
+ [...]
+ (gdb) frame 5
+ #5 __fork () at ../sysdeps/mach/hurd/fork.c:716
+ warning: Source file is more recent than executable.
+ 716 _hurd_critical_section_unlock (ss);
+ (gdb) list
+ 711 ! symbol_set_end_p (_hurd_fork_locks, p);
+ 712 ++p)
+ 713 __mutex_unlock (*p);
+ 714 }
+ 715
+ 716 _hurd_critical_section_unlock (ss);
+ 717
+ 718 return err ? __hurd_fail (err) : pid;
+ 719 }
+ 720 libc_hidden_def (__fork)
+ (gdb) frame 4
+ #4 0x0110e66c in _hurd_critical_section_unlock (our_lock=<optimized out>) at ../hurd/hurd/signal.h:235
+ warning: Source file is more recent than executable.
+ 235 _hurd_sigstate_lock (ss);
+ (gdb) list
+ 230 else
+ 231 {
+ 232 /* It was us who acquired the critical section lock. Unlock it. */
+ 233 struct hurd_sigstate *ss = (struct hurd_sigstate *) our_lock;
+ 234 sigset_t pending;
+ 235 _hurd_sigstate_lock (ss);
+ 236 __spin_unlock (&ss->critical_section_lock);
+ 237 pending = _hurd_sigstate_pending(ss) & ~ss->blocked;
+ 238 _hurd_sigstate_unlock (ss);
+ 239 if (! __sigisemptyset (&pending))
+ (gdb) frame 3
+ #3 _hurd_sigstate_lock (ss=0x121d008) at hurdsig.c:174
+ warning: Source file is more recent than executable.
+ 174 __spin_lock (&ss->lock);
+ (gdb) list
+ 169 void
+ 170 _hurd_sigstate_lock (struct hurd_sigstate *ss)
+ 171 {
+ 172 if (sigstate_is_global_rcv (ss))
+ 173 __spin_lock (&_hurd_global_sigstate->lock);
+ 174 __spin_lock (&ss->lock);
+ 175 }
+ 176 void
+ 177 _hurd_sigstate_unlock (struct hurd_sigstate *ss)
+ 178 {
+ (gdb) print _hurd_global_sigstate
+ $1 = (struct hurd_sigstate *) 0x121d808
+ (gdb) print *_hurd_global_sigstate
+ $2 = {critical_section_lock = 0, lock = 1, thread = 0, next = 0x0, blocked = 4294967295, pending = 0, actions = {{__sigaction_handler = {
+ sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
+ sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {
+ __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0,
+ sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {
+ __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0,
+ sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {
+ __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0,
+ sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {
+ __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0,
+ sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0,
+ sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {
+ sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0,
+ sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {
+ sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0x80564f0,
+ sa_sigaction = 0x80564f0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
+ sa_mask = 0, sa_flags = 2} <repeats 12 times>}, sigaltstack = {ss_sp = 0x0, ss_size = 0, ss_flags = 0}, preemptors = 0x0,
+ pending_data = {{exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} <repeats 33 times>}, suspended = 0, intr_port = 0,
+ context = 0x0, active_resources = 0x0, cancel = 0, cancel_hook = 0}
+ (gdb) print ss
+ $3 = (struct hurd_sigstate *) 0x121d008
+ (gdb) print *ss
+ $4 = {critical_section_lock = 1, lock = 1, thread = 73, next = 0x1227808, blocked = 0, pending = 0, actions = {{__sigaction_handler = {
+ sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
+ sa_mask = 0, sa_flags = 2} <repeats 32 times>}, sigaltstack = {ss_sp = 0x0, ss_size = 0, ss_flags = 0}, preemptors = 0x0,
+ pending_data = {{exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} <repeats 20 times>, {exc = 0, exc_code = 19025712,
+ exc_subcode = 85056, code = 1, error = 17257936}, {exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} <repeats 12 times>},
+ suspended = 0, intr_port = 0, context = 0x0, active_resources = 0x0, cancel = 0, cancel_hook = 0}
+ (gdb) print ss->next
+ $5 = (struct hurd_sigstate *) 0x1227808
+ (gdb) print *ss->next
+ $6 = {critical_section_lock = 0, lock = 0, thread = 76, next = 0x0, blocked = 0, pending = 0, actions = {{__sigaction_handler = {
+ sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2} <repeats 33 times>}, sigaltstack = {ss_sp = 0x0, ss_size = 0,
+ ss_flags = 0}, preemptors = 0x0, pending_data = {{exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} <repeats 33 times>},
+ suspended = 0, intr_port = 0, context = 0x0, active_resources = 0x0, cancel = 0, cancel_hook = 0}
+
+So again, it's our own sigstate that already is locked, not the global one.
diff --git a/open_issues/gcc/pie.mdwn b/open_issues/gcc/pie.mdwn
index da951001..5ae4bdcb 100644
--- a/open_issues/gcc/pie.mdwn
+++ b/open_issues/gcc/pie.mdwn
@@ -10,7 +10,7 @@ License|/fdl]]."]]"""]]
[[!meta title="Position-Independent Executables"]]
-[[!tag open_issue_gcc]]
+[[!tag open_issue_glibc]]
# IRC, freenode, #hurd, 2012-11-08
@@ -44,3 +44,8 @@ License|/fdl]]."]]"""]]
<gnu_srs> pinotree: I can confirm that -fPIE -pie fails and only -fPIE
works for mktable in w3m. Still have to check with elinks. What's up doc?
+
+
+## [[!message-id "20130211040854.GN5926@type.youpi.perso.aquilenet.fr"]]
+
+[[glibc]] `t/pie-sbrk` branch.
diff --git a/open_issues/gdb.mdwn b/open_issues/gdb.mdwn
index f5daff48..c4433438 100644
--- a/open_issues/gdb.mdwn
+++ b/open_issues/gdb.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012 Free Software
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -33,8 +33,8 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C
-->
-Last reviewed up to the [[Git mirror's ded7dfe6274b281d92a6ed76cedf29d06c918dec
-(2012-12-10) sources|source_repositories/gdb]].
+Last reviewed up to the [[Git mirror's 00e1c4298d2b6fe040a9a970e98349602b12ddbf
+(2013-02-06) sources|source_repositories/gdb]].
* Globally
@@ -71,11 +71,11 @@ Last reviewed up to the [[Git mirror's ded7dfe6274b281d92a6ed76cedf29d06c918dec
Here's a log of a GDB build run; this is from our [[Git
repository|source_repositories/gdb]]'s `tschwinge/Ferry_Tagscherer` branch,
-commit ded7dfe6274b281d92a6ed76cedf29d06c918dec (2012-12-10), run on
+commit 00e1c4298d2b6fe040a9a970e98349602b12ddbf (2013-02-06), run on
kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
- $ ../Ferry_Tagscherer/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 --disable-werror 2>&1 | tee log_build
+ $ ../Ferry_Tagscherer/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.7 CXX=g++-4.7 --disable-werror 2>&1 | tee log_build
[...]
$ make 2>&1 | tee log_build_
[...]
@@ -87,7 +87,7 @@ There are several occurences of *error: dereferencing type-punned pointer will
break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror`
until that is resolved ([[strict_aliasing]]).
-This takes up around 200 MiB and needs roughly 7 min on kepler.SCHWINGE and 23
+This takes up around 210 MiB and needs roughly 7 min on kepler.SCHWINGE and 23
min on coulomb.SCHWINGE.
<!--
@@ -204,10 +204,10 @@ min on coulomb.SCHWINGE.
# Testsuite
- $ make -k check
+ $ make -k check 2>&1 | tee log_test
[...]
-This needs roughly 14 min on kepler.SCHWINGE and 110 min on coulomb.SCHWINGE.
+This needs roughly 14 min on kepler.SCHWINGE and 120 min on coulomb.SCHWINGE.
When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite
the `tee` process does not terminate if there are still stray leftover
@@ -222,6 +222,10 @@ GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown
$ toolchain/logs/process gdb test
+ * `gdb.base/attach-pie-misread.exp`
+
+ Is only run for GNU/Linux; needs [[prelink]].
+
* Disabled
* `gdb.base/readline.exp`
@@ -276,9 +280,17 @@ GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown
At this point, the system hangs; no new processes can be spawned, so
perhaps an issue with the exec server.
- * `UNSUPPORTED: gdb.threads/ia64-sigill.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c: unrecognized error`
+ * Linux syscall usage, `<asm/unistd.h>`
+
+ * `UNSUPPORTED: gdb.threads/ia64-sigill.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c: unrecognized error`
+
+ * `UNSUPPORTED: gdb.threads/siginfo-threads.exp: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/siginfo-threads.c: unrecognized error`
+
+ * `gdb.threads/sigstep-threads.c`
+
+ Also uses `tgkill`.
- ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c:29:24: fatal error: asm/unistd.h: No such file or directory
+ * `UNSUPPORTED: gdb.threads/watchpoint-fork.exp: parent: multithreaded: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c: unrecognized error`
* `UNSUPPORTED: gdb.threads/multi-create.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/multi-create.c: unrecognized error`
../../../master/gdb/testsuite/gdb.threads/multi-create.c: In function 'create_function':
@@ -293,23 +305,53 @@ GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown
../../../master/gdb/testsuite/gdb.threads/staticthreads.c:52:37: error: 'PTHREAD_STACK_MIN' undeclared (first use in this function)
../../../master/gdb/testsuite/gdb.threads/staticthreads.c:52:37: note: each undeclared identifier is reported only once for each function it appears in
- * `UNSUPPORTED: gdb.threads/watchpoint-fork.exp: parent: multithreaded: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c: unrecognized error`
-
- ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c:29:24: fatal error: asm/unistd.h: No such file or directory
-
* `UNSUPPORTED: gdb.threads/create-fail.exp: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/create-fail.c: unrecognized error`
[...]/gdb.threads/create-fail.c:77: undefined reference to `pthread_attr_setaffinity_np'
[...]/gdb.threads/create-fail.c:83: undefined reference to `pthread_create'
- * `UNSUPPORTED: gdb.threads/siginfo-threads.exp: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/siginfo-threads.c: unrecognized error`
-
- ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/sigstep-threads.c:22:24: fatal error: asm/unistd.h: No such file or directory
-
* `UNTESTED: gdb.base/longest-types.exp: longest-types.exp`
../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/longest-types.c:20:8: error: size of array 'buf' is too large
Also on GNU/Linux.
+ * `FAIL: gdb.base/jit.exp: PIE: one_jit_test-1: Can't run to main`
+
+ (gdb) break main
+ Breakpoint 1 at 0xb84: file ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/jit-main.c, line 128.
+ (gdb) run
+ Starting program: /media/erich/home/thomas/tmp/gdb/tschwinge/Ferry_Tagscherer.build/gdb/testsuite/gdb.base/jit-main
+ Cannot access memory at address 0x393
+ Cannot access memory at address 0x38f
+ (gdb) FAIL: gdb.base/jit.exp: PIE: one_jit_test-1: Can't run to main
+
+ [[GCC/PIE]].
+
+ Is the following supposed to terminate in this way?
+
+ (gdb) break main
+ Breakpoint 1 at 0x675: file ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/attach-pie-noexec.c, line 23.
+ (gdb) run
+ Starting program: /media/erich/home/thomas/tmp/gdb/tschwinge/Ferry_Tagscherer.build/gdb/testsuite/gdb.base/attach-pie-noexec
+ Cannot access memory at address 0x6c626172
+ Cannot access memory at address 0x6c62616e
+ (gdb) testcase ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/attach-pie-noexec.exp completed in 3 seconds
+
+ * `solib-event stop`
+
+ Running ../../../Ferry_Tagscherer/gdb/testsuite/gdb.mi/mi-catch-load.exp ...
+ PASS: gdb.mi/mi-catch-load.exp: breakpoint at main
+ PASS: gdb.mi/mi-catch-load.exp: mi runto main
+ PASS: gdb.mi/mi-catch-load.exp: catch-load: auto-solib-add on
+ PASS: gdb.mi/mi-catch-load.exp: catch-load: catch load
+ FAIL: gdb.mi/mi-catch-load.exp: catch-load: solib-event stop
+ PASS: gdb.mi/mi-catch-load.exp: breakpoint at main
+ PASS: gdb.mi/mi-catch-load.exp: mi runto main
+ PASS: gdb.mi/mi-catch-load.exp: catch-unload: auto-solib-add on
+ PASS: gdb.mi/mi-catch-load.exp: catch-unload: catch unload
+ FAIL: gdb.mi/mi-catch-load.exp: catch-unload: solib-event stop
+
+ *stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation fault",frame={addr="0x00014add",func="??",args=[],from="/lib/ld.so"},thread-id="4",stopped-threads="all"
+
TODO.
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
index 425ce827..325801bf 100644
--- a/open_issues/glibc.mdwn
+++ b/open_issues/glibc.mdwn
@@ -52,6 +52,10 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8
918b56067a444572f1c71b02f18255ae4540b043. [[!GCC_PR 53183]], GCC commit
c05436a7e361b8040ee899266e15bea817212c37.
+ * `t/pie-sbrk`
+
+ [[gcc/PIE]].
+
* `t/sysvshm`
../sysdeps/mach/hurd/shmat.c: In function '__shmat':
@@ -367,23 +371,9 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8
<pinotree> like posix/tst-waitid.c, you mean?
<youpi> yes
- * `getconf` things
+ See `posix/tst-waitid.out` failure below.
- IRC, freenode, #hurd, 2012-10-03
-
- <pinotree> getconf -a | grep CACHE
- <Tekk_> pinotree: I hate spoiling data, but 0 :P
- <pinotree> had that feeling, but wanted to be sure -- thanks!
- <Tekk_> http://dpaste.com/809519/
- <Tekk_> except for uhh
- <Tekk_> L4 linesize
- <Tekk_> that didn't have any number associated
- <pinotree> weird
- <Tekk_> I actually didn't even know that there was L4 cache
- <pinotree> what do you get if you run `getconf
- LEVEL4_CACHE_LINESIZE`?
- <Tekk_> pinotree: undefined
- <pinotree> expected, given the output above
+ * `getconf` things (see below the results of `tst-getconf.out`)
* `getsockopt`, `setsockopt`
@@ -914,6 +904,8 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8
the fact that EXEC_PAGESIZE is not defined on hurd, libio/libioP.h
switches the allocation modes from mmap to malloc
+ [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]].
+
IRC, freenode, #hurd, 2013-01-21
<braunr> why is it a hack ?
@@ -1156,39 +1148,29 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8
# Build
Here's a log of a glibc build run; this is from our [[Git repository's
-28b74f8dbc3eb639d35fc0f93021ac5eb1fde9a4 (2012-11-03;
+60f4d2f33666d77ac018cb9956675dcad04bb996 (2013-02-12;
fbeafedeea37e0af1984a6511018d159f5ceed6a (2012-11-03))
sources|source_repositories/glibc]], run on coulomb.SCHWINGE.
$ export LC_ALL=C
- $ ../Roger_Whittaker/configure AUTOCONF=: --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build
+ $ ../Roger_Whittaker/configure AUTOCONF=: --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.7 CXX=g++-4.7 2>&1 | tee log_build
[...]
$ make install_root=/INVALID 2>&1 | tee log_build_
[...]
-This takes up around 500 MiB, and needs roughly X min on kepler.SCHWINGE and
+This takes up around 550 MiB, and needs roughly X min on kepler.SCHWINGE and
100 min on coulomb.SCHWINGE.
<!--
- $ (make install_root=/INVALID && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make install_root="$PWD".install install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && ln -s /usr/lib/i386-*gnu/libstdc++.so.6 /lib/i386-*gnu/libpthread-stubs.so.0 /lib/i386-*gnu/libgcc_s.so.1 mach/libmachuser.so.1 hurd/libhurduser.so.0.3 ./ && make -k install_root=/INVALID check fast-check=yes 2>&1 | tee log_test
-
-Mask out gcc-4.X (with possibly a backslash before the dot), GCC 4.5's column
-output for (warning, error) messages, GCC 4.6's `[-Wsomething]` or `[enabled by
-default]` identifiers which warning flag triggered.
-
- $ for f in log_*; do sed -e 's%gcc-4\\\?.[456]%[GCC]%g' -e 's%g++-4\\\?.[456]%[G++]%g' -e 's%\(:[0-9]\+:\)[0-9]\+:%\1%' -e 's% \[\(-W[a-z-]\+\|enabled by default\)\]$%%' < "$f" > "$f".nv; done
-
- $ find ./ -name \*.o -o -name \*.os -o -name \*.oS | while read f; do ~/tmp/gcc/git/contrib/compare-debug --preserve ../Roger_Whittaker.build-gcc-4.4-486.O/"$f" "$f"; done 2>&1 | less
- $ while read f; do (readelf -a "$f" && objdump -xDrtw "$f") > N && (cd ../Roger_Whittaker.build-gcc-4.4-486.O/ && readelf -a "$f" && objdump -xDrtw "$f") > O && diff -u O N | less; done
- $ find ./ -name \*.o -o -name \*.os -o -name \*.oS | while read f; do readelf -h "$f" | grep OS/ABI | (read a b && [ x"$b" != x'UNIX - System V' ] && echo "### $f: $b"); done
+ $ (make install_root=/INVALID && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make install_root="$PWD".install install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && ln -s /usr/lib/i386-*gnu/libstdc++.so.6 /lib/i386-*gnu/libgcc_s.so.1 mach/libmachuser.so.1 hurd/libhurduser.so.0.3 ./ && make -k install_root=/INVALID check fast-check=yes 2>&1 | tee log_test
-->
## Analysis
- $ toolchain/logs/process gcc build fetch coulomb.SCHWINGE
+ $ toolchain/logs/process glibc build fetch coulomb.SCHWINGE
TODO.
@@ -1294,19 +1276,10 @@ min on coulomb.SCHWINGE.
## Analysis
- $ toolchain/logs/process gcc install fetch coulomb.SCHWINGE
+ $ toolchain/logs/process glibc install fetch coulomb.SCHWINGE
TODO.
-<!--
- $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gdb/ && cat hurd/master.build/log_install | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' | sed -f open_issues/gdb/log_install-linux.sed) <(ssh coulomb.SCHWINGE 'cd tmp/gdb/ && cat hurd/master.build/log_install | sed "s%\(/media/erich\)\?${PWD}%[...]%g"' | sed -f open_issues/gdb/log_install-hurd.sed) > open_issues/gdb/log_install.diff
-
-[[log_install.diff]].
-
- * `libtool: finish`: `ldconfig` is not run for the Hurd.
-
--->
-
# Testsuite
@@ -1319,37 +1292,31 @@ Specifying `fast-check=yes` disables the `conformtest` which takes 1.75 h (out
of 2.75 h total) on coulomb.SCHWINGE, doesn't pass anyway, and clearly isn't
our most critical issue to solve.
-<!--
- $ ssh kepler.SCHWINGE 'cd tmp/source/gdb/ && sed < hurd/master.build/gdb/testsuite/gdb.sum -e "s%\(/media/data\)\?${PWD}%[...]%g"' > open_issues/gdb/sum_linux
- $ ssh coulomb.SCHWINGE 'cd tmp/gdb/ && sed < hurd/master.build/gdb/testsuite/gdb.sum -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > open_issues/gdb/sum_hurd
-
-Comparing the results files, [[sum_linux]] to [[sum_hurd]]:
-
- $ diff -u -F ^Running open_issues/gdb/sum_linux open_issues/gdb/sum_hurd > open_issues/gdb/sum.diff
-
-[[open_issues/gdb/sum.diff]].
--->
-
## Analysis
- $ toolchain/logs/process gcc test fetch coulomb.SCHWINGE
+ $ toolchain/logs/process glibc test fetch coulomb.SCHWINGE
-There is quite a baseline of failures.
+Failures, mostly in order of appearance:
- * `annexc.out`
+ * `check-abi`, `check-abi-libmachuser`, `check-abi-libhurduser`,
+ `check-abi-libBrokenLocale`, `check-abi-libm`, `check-abi-libdl`,
+ `check-abi-libcrypt`, `check-abi-libresolv`, `check-abi-librt`,
+ `check-abi-libnsl`, `check-abi-libutil`, `check-abi-libc`, `check-abi-ld`,
+ `c++-types.data`
- TODO
+ Reference files are missing.
- * `bug22.out`
+ * `math/test-float.out`, `math/test-double.out`
- TODO
+ A handful of ULP failures.
- * `bug-atexit3.out`
+ * `math/test-ldouble`, `math/test-ildoubl`, `math/test-ifloat`,
+ `math/test-idouble`
- TODO
+ SIGSEGV. Or SIGILL.
- * `bug-getcontext.out`
+ * `stdlib/bug-getcontext.out`
getcontext failed, errno: 1073741902.
@@ -1358,203 +1325,105 @@ There is quite a baseline of failures.
for FP exceptions.*, in cba1c83ad62a11347684a9daf349e659237a1741 testing,
it's back to the previous failure.
- * `bug-regex31-mem`, `tst-error1-mem`, `tst-fnmatch-mem`,
- `tst-fopenloc.check`
-
- *output* files: some memory not freed.
-
- Caused by different memory allocation way in libio, see also
- [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]]
+ * `stdlib/tst-secure-getenv.out`
- * `bug-ulimit1.out`
+ open (/proc/self/exe): No such file or directory
- Buggy sysdeps/unix/bsd/ulimit.c return values.
+ Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]].
- [[!message-id "201211182342.51619.toscano.pino@tiscali.it"]]
+ * `stdlib/tst-strtod-round.out`
- * `check-execstack.out`
+ strtold (-0x0.7p-16445) returned -0x0.0000000000008p-16385 not -0x0.000000000000001p-16385 (FE_DOWNWARD)
+ strtold (-0x0.7p-16494) returned -0x0.0000000000008p-16385 not -0x0.000000000000001p-16385 (FE_DOWNWARD)
- $BUILDDIR/libc.so.phdr: *** executable stack signaled
+ * `stdio-common/bug22.out`
- * `check-local-headers.out`
+ Timed out: killed the child process
- Most of the external headers used are:
+ Known problem.
- * `/usr/include/device/bpf.h`
+ * `libio/tst-atime.out`, `dirent/tst-fdopendir.out`
- * `/usr/include/device/device_types.h`
+ `libio/tst-atime.out`:
- * `/usr/include/device/net_status.h`
+ atime has not changed
- * `/usr/include/cthreads.h`
+ Due to `ext2fs --no-atime`.
- * `/usr/include/hurd/hurd_types.h`
+ `dirent/tst-fdopendir.out`:
- * `/usr/include/hurd/ioctls.defs`
+ directory atime changed
- * `/usr/include/hurd/ioctl_types.h`
+ Due to `ext2fs --atime` (default).
- * `/usr/include/hurd/paths.h`
+ * `libio/tst-fopenloc.check`, `posix/bug-regex31-mem`,
+ `posix/tst-fnmatch-mem`, `misc/tst-error1-mem`
- * `check-localplt.out`
+ Memory not freed:
+ -----------------
+ Address Size Caller
+ 0x0807e268 0x8000 at 0x10c71c4
- Around 500 or so `Extra PLT reference`.
+ Caused by different memory allocation way in libio, see
+ [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]]
- * `check-textrel.out`
+ * `dlfcn/bug-atexit3.out`
- $BUILDDIR/libc.so.dyn: *** text relocations used
+ Originally:
- * `opendir-tst1.out`, `tst-fdopendir2.out`
+ dlopen failed: libstdc++.so.6: cannot open shared object file: No such file or directory
- `opendir` and `fdopendir` do not return `ENOTDIR` if `fd` is not a directory.
+ See [[!message-id "20090420002344.11798.qmail@s461.sureserver.com"]].
+ Hacked around with `ln -s /usr/lib/i386-*gnu/libstdc++.so.6
+ /lib/i386-*gnu/libpthread-stubs.so.0 /lib/i386-*gnu/libgcc_s.so.1 ./`.
+ This is a bug in the glibc test harness. Should probably use some
+ `configure` magic akin to the `fixincludes` stuff (`gcc-4.4
+ -print-file-name=libstdc++.so.6`, etc.).
- * `test-assert-perr.out`
+ Even if that that is being worked around, the tests nowadays
+ ([[packaging_libpthread]]) fail with:
- TODO
+ dlopen failed: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libstdc++.so.6)
- * `math/test-idouble`, `math/test-ifloat`, `math/test-ildoubl`,
- `math/test-ldouble`
+ * `dlfcn/tststatic.out`, `dlfcn/tststatic2.out`
SIGSEGV.
- * `test-float.out`
-
- TODO
-
- * `test-lfs.out`
-
- TODO
-
- * `test-multiarch.out`
-
- Needs [[`/proc/cpuinfo`|hurd/translator/procfs/jkoenig/discussion]]
- providing the `flags` line.
-
- * `tst-aio2`, `tst-aio3`,
- `tst-mqueue3`, `tst-mqueue6`,
- `tst-mqueue8`, `tst-thrlock`, `tst-timer3`,
- `libnss_test1.so`
-
- Compilation: missing `pthread_attr_init`, `pthread_barrier_init`,
- `pthread_create`, etc.
-
- * `tst-aio8.out`, `tst-aio9.out`, `tst-aio10`
-
- Compilation: missing `pthread_attr_init`, `pthread_barrier_init`,
- `pthread_create`, etc.
-
- Most will compile and work (except `tst-aio`, `tst-aio9`, `tst-aio10`) with
- [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] in libpthread.
-
- * `tst-array*`
-
- gcc-4.6 tst-array1.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out tst-array1.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out] Error 1
- gcc-4.6 tst-array2.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 tst-array2dep.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -fPIC -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc
- gcc-4.6 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,defs -B[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/ -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -L[...]/tschwinge/Roger_Whittaker.build-gcc-4.6
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out tst-array2.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out] Error 1
- gcc-4.6 tst-array3.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out tst-array1.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out] Error 1
- gcc-4.6 tst-array4.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out tst-array4.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out] Error 1
-
- `tst-array5` passes.
-
- gcc-4.6 tst-array1-static.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4
- gcc-4.6 -nostdlib -nostartfiles -static -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crt0.o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crti
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static > [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out tst-array1.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out] Error 1
-
- `tst-array5-static` passes.
-
- IRC, freenode, #glibc, 2012-11-01:
-
- <jsm28> tschwinge: I saw the array tests fail, built a new binutils and
- a new compiler configured with new binutils and the failures went
- away.
- <jsm28> So they may depend on having new-enough GCC configured with
- new-enough binutils, or something like that.
- <tuliom> jsm28: Did you use gcc 4.7 or trunk?
- <jsm28> tuliom: 4.7.
-
- [[!message-id "50950082.1070906@df1tl.local.here"]].
-
- * `tst-audit1.out`, `tst-audit2.out`
-
- SIGKILL.
-
- * `tst-chk1.out`
-
- TODO
+ `LD_LIBRARY_PATH` doesn't contain the `mach` and `hurd` directories; yet
+ the test shouldn't just SIGSEGV.
- * `tst-chk2.out`
+ * `dirent/opendir-tst1.out`, `dirent/tst-fdopendir2.out`
- TODO
+ `dirent/opendir-tst1.out`:
- * `tst-chk3.out`
+ `opendir' succeeded on a FIFO???
- TODO
+ `dirent/tst-fdopendir2.out`:
- * `tst-chk4.out`
+ fdopendir with normal file descriptor did not fail
- TODO
+ `opendir` and `fdopendir` do not return `ENOTDIR` if `fd` is not a
+ directory.
- * `tst-chk5.out`
-
- TODO
-
- * `tst-chk6.out`
-
- TODO
-
- * `tst-cputimer1.o`, `tst-cputimer2.o`, `tst-cputimer3.o`,
- `tst-timer4.o`, `tst-timer5.o`
-
- Missing `SIGRTMIN`.
-
- All these tests #include `tst-timer4.c`.
-
- * `tst-timer5.o`
-
- TODO
-
- * `tst-dlmopen1.out`
-
- TODO
+ * `posix/tst-waitid.out`
- * `tst-ether_line.o`
+ Intermittent.
- tst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function)
+ SIGCHLD for stopped status 0
+ SIGCHLD for stopped pid -1
+ SIGCHLD for killed code 1
+ SIGCHLD for killed status 0
+ SIGCHLD for killed pid -1
- Will either need a `hurd/netinet/if_ether.h` that includes
- `<net/if_ether.h>`, or can do that in the generic `netinet/if_ether.h`?
- See also [[!sourceware_PR 11142]].
+ * `posix/bug-glob2.out`
- * `tst-fdopendir.out`
+ Timed out: killed the child process
- directory atime changed
+ * `posix/annexc.out`
- TODO
+ Failure ignored by the glibc testsuite.
- * `tst-futimesat.out`
-
- `futimesat` is a stub.
-
- * `tst-getconf.out`
+ * `posix/tst-getconf.out`
Ends with:
@@ -1564,102 +1433,10 @@ There is quite a baseline of failures.
`_PC_REC_INCR_XFER_SIZE`, `_PC_REC_MAX_XFER_SIZE`, `_PC_REC_MIN_XFER_SIZE`,
`_PC_REC_XFER_ALIGN`, `_PC_SYMLINK_MAX`, `_PC_2_SYMLINKS`.
- `_CS_GNU_LIBPTHREAD_VERSION` will be cleanly solved with
- [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] and libpthread
- compiled as add-on.
-
- * `tst-grantpt.out`
-
- posix_openpt(O_RDWR) failed
- errno 1073741902 (Function not implemented)
-
- `posix_openpt` is a stub.
-
- grantpt(): expected: return = -1, errno = 1073741846
- got: return = -1, errno = -303
-
- `grantpt` (actually `ptsname_r`), does not fail with `ENOTTY` when the `fd`
- does not refer to a PTY master.
-
- * `tst-lfschk2.out`
-
- TODO
-
- * `tst-lfschk3.out`
-
- TODO
-
- * `tst-lfschk4.out`
-
- TODO
-
- * `tst-lfschk5.out`
-
- TODO
-
- * `tst-lfschk6.out`
-
- TODO
-
- * `tst-longjmp_chk2.out`
-
- TODO
-
- * `tst-mqueue5.o`
-
- Missing `SIGRTMIN`.
-
- * `tst-pselect.o`
-
- Missing `SA_NOCLDWAIT`.
-
- * `tst-secure-getenv.out`
-
- Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]].
-
- * `tst-sprofil.out`
-
- Floating point exception
-
- * `tst-stackguard1.out`
-
- TODO
-
- * `tst-stackguard1-static.out`
-
- TODO
-
- * `tststatic2.out`
-
- TODO
-
- * `tststatic.out`
-
- TODO
-
- * `tst-strtod-round.out`
+ `_CS_GNU_LIBPTHREAD_VERSION` is provided by libpthread when compiled as
+ add-on.
- TODO
-
- * `tst-timer2.o`
-
- Missing `SIGRTMIN`.
-
- * `tst-timer.out`
-
- TODO
-
- * `tst-tls9-static.out`
-
- TODO
-
- * `tst-unique3lib.so`, `tst-unique3lib2.so`, `tst-unique4lib.so`
-
- Only with GCC 4.4; no longer with 4.5 or 4.6:
-
- /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/elf/tst-unique3lib.os:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
-
- * `tst-vfork3-mem`
+ * `posix/tst-vfork3-mem`
+ 0x0804cee0 Alloc 10 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389]
+ 0x0804cf90 Alloc 11 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963]
@@ -1709,135 +1486,211 @@ There is quite a baseline of failures.
0x0804cfa8 0x73 at 0x10df0c8
0x00000008 0 at 0x10df0c8
- TODO
+ Perhps because we implement `vfork` in terms of `fork` (`posix/vfork.c`)?
- * `tst-waitid.out`
+ * `io/test-lfs.out`
- Fails sometimes (is listed in Debian eglibc-2.13-21's
- `expected-results-i486-gnu-libc`).
+ /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build/io/test-lfs: cannot write test string to large file: Invalid argument
+ * `io/tst-futimesat.out`
-### Additional Failures Compared to Debian (OLD)
+ file created
+ futimesat failed
- $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_test > log_test.filtered
- $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/compare.sh ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/expected-results-i486-gnu-libc log_test.filtered
+ `futimesat` is a stub.
- * `bug-atexit3.out`, `debug/tst-chk4`, `debug/tst-chk5`, `debug/tst-chk6`,
- `debug/tst-lfschk4`, `debug/tst-lfschk5`, `debug/tst-lfschk6`
+ * `resource/bug-ulimit1.out`
- dlopen failed: libstdc++.so.6: cannot open shared object file: No such file or directory
+ Result of ulimit (UL_SETFSIZE, 10000): 0
+ Result of ulimit(UL_GETFSIZE): 10000
- See [[!message-id "20090420002344.11798.qmail@s461.sureserver.com"]].
- Hacked around with `ln -s /usr/lib/i386-*gnu/libstdc++.so.6
- /lib/i386-*gnu/libpthread-stubs.so.0 /lib/i386-*gnu/libgcc_s.so.1 ./`.
- This is a bug in the glibc test harness. Should probably use some
- `configure` magic akin to the `fixincludes` stuff (`gcc-4.4
- -print-file-name=libstdc++.so.6`, etc.).
+ Buggy sysdeps/unix/bsd/ulimit.c return values.
- Even if that that is being worked around, the tests fail with:
+ [[!message-id "201211182342.51619.toscano.pino@tiscali.it"]]
- dlopen failed: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libstdc++.so.6)
- dlopen failed: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libgcc_s.so.1)
+ Fixed in glibc >= 2.18.
- [[packaging_libpthread]].
+ * `misc/tst-pselect.o`
- * `io/ftwtest`, `posix/globtest`, `iconvdata/iconv-test`, `intl/tst-gettext`,
- `malloc/tst-mtrace`, `elf/tst-pathopt`, `iconvdata/tst-tables`,
- `grp/tst_fgetgrent`, `dlfcn/tststatic`, `dlfcn/tststatic2`,
- `posix/wordexp-tst`, `localedata/bug-setlocale1.out`, `posix/tst-getconf`
+ tst-pselect.c: In function 'do_test':
+ tst-pselect.c:33:17: error: 'SA_NOCLDWAIT' undeclared (first use in this function)
- /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/io/ftwtest: error while loading shared libraries: libmachuser.so.1: cannot open shared object file: No such file or directory
+ * `gmon/tst-sprofil.out`
- Looking into `localedata/bug-setlocale1.c`, it is clear what it going on:
- only the root of the build directory is added for `--library-path`, but
- none of the other directories that are additionally used. This is a bug in
- the glibc test harness. Hacked around by `ln -s mach/libmachuser.so.1
- hurd/libhurduser.so.0.3 ./`. Hopefully the other instances are similar.
+ Floating point exception
- * `posix/tst-getconf`
+ * `nss//libnss_test1.so`
- It fails because of unimplemented pathconf cases: `_PC_ALLOC_SIZE_MIN`,
- `_PC_REC_INCR_XFER_SIZE`, `_PC_REC_MAX_XFER_SIZE`, `_PC_REC_MIN_XFER_SIZE`,
- `_PC_REC_XFER_ALIGN`, `_PC_SYMLINK_MAX`, `_PC_2_SYMLINKS`.
+ [...]/nss/nss_test1.os: In function `_nss_test1_getpwent_r':
+ [...]/nss/nss_test1.c:60: undefined reference to `pthread_mutex_lock'
+ [...]/nss/nss_test1.c:85: undefined reference to `pthread_mutex_unlock'
- `_CS_GNU_LIBPTHREAD_VERSION` will be cleanly solved with
- [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] and libpthread
- compiled as add-on.
+ * `rt/tst-timer.out`
- Ends with:
+ No message.
- getconf POSIX_ALLOC_SIZE_MIN /: /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/posix/getconf: pathconf: /: Invalid argument
+ * `rt/tst-timer2.o`
- * `dlfcn/tststatic`, `dlfcn/tststatic2`
+ tst-timer2.c: In function 'do_test':
+ tst-timer2.c:33:23: error: 'SIGRTMIN' undeclared (first use in this function)
- No output, SEGFAULT.
+ * `rt/tst-aio2`, `rt/tst-aio3`, `rt/tst-aio9`, `rt/tst-aio10`,
+ `rt/tst-mqueue3`, `rt/tst-mqueue5.o`, `rt/tst-mqueue6`, `rt/tst-mqueue8`,
+ `rt/tst-timer3`, `rt/tst-timer4.o`, `rt/tst-timer5.o`,
+ `rt/tst-cputimer1.o`, `rt/tst-cputimer2.o`, `rt/tst-cputimer3.o`,
+ `elf/tst-thrlock`
- * `math/test-idouble`, `math/test-ifloat`, `math/test-ildoubl`,
- `math/test-ldouble`
+ [...]/rt/tst-aio2.o: In function `do_test':
+ [...]/rt/tst-aio2.c:62: undefined reference to `pthread_barrier_init'
+ [...]/rt/tst-aio2.c:94: undefined reference to `pthread_barrier_wait'
+ [...]/rt/tst-aio2.o: In function `thrfct':
+ [...]/rt/tst-aio2.c:35: undefined reference to `pthread_barrier_wait'
- SIGSEGV.
+ tst-mqueue5.c: In function 'rtmin_handler':
+ tst-mqueue5.c:50:14: error: 'SIGRTMIN' undeclared (first use in this function)
- * `rt-tst-aio2`, `rt-tst-aio3`, `rt/tst-aio10`, `rt/tst-aio9`
+ [...]/rt/tst-mqueue6.o: In function `do_test':
+ [...]/rt/tst-mqueue6.c:127: undefined reference to `pthread_attr_init'
+ [...]/rt/tst-mqueue6.c:149: undefined reference to `pthread_attr_setguardsize'
+ [...]/rt/tst-mqueue6.c:211: undefined reference to `pthread_attr_setguardsize'
+ [...]/rt/tst-mqueue6.c:262: undefined reference to `pthread_attr_destroy'
+ [...]/rt/tst-mqueue6.c:128: undefined reference to `pthread_attr_setguardsize'
+ [...]/rt/tst-mqueue6.o: In function `fct':
+ [...]/rt/tst-mqueue6.c:79: undefined reference to `pthread_self'
+ [...]/rt/tst-mqueue6.c:79: undefined reference to `pthread_getattr_np'
+ [...]/rt/tst-mqueue6.c:88: undefined reference to `pthread_attr_getguardsize'
+ [...]/rt/tst-mqueue6.c:95: undefined reference to `pthread_attr_destroy'
+ [...]/rt/tst-mqueue6.c:95: undefined reference to `pthread_attr_destroy'
- /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/rt/tst-aio10.o: In function `do_test':
- tst-aio10.c:(.text+0x1b): undefined reference to `pthread_self'
- tst-aio10.c:(.text+0x78): undefined reference to `pthread_barrier_init'
- tst-aio10.c:(.text+0xf7): undefined reference to `pthread_create'
- tst-aio10.c:(.text+0x10b): undefined reference to `pthread_barrier_wait'
- /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/rt/tst-aio10.o: In function `tf':
- tst-aio10.c:(.text+0x5ae): undefined reference to `pthread_barrier_wait'
- tst-aio10.c:(.text+0x5ef): undefined reference to `pthread_kill'
- collect2: ld returned 1 exit status
- make[2]: *** [/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/rt/tst-aio10] Error 1
+ [...]/elf/tst-thrlock.o: In function `do_test':
+ [...]/elf/tst-thrlock.c:38: undefined reference to `pthread_create'
+ [...]/elf/tst-thrlock.c:48: undefined reference to `pthread_join'
- * `rt/tst-mqueue3`, `rt/tst-mqueue6`,
- `rt/tst-mqueue8`, `elf/tst-thrlock`, `rt/tst-timer3`,
- `nss//libnss_test1.so`
+ * `rt/tst-aio8.out`
- Compilation: missing `pthread_attr_init`, `pthread_barrier_init`,
- `pthread_create`, etc.
+ r = -1, e = 1073741902 (Function not implemented)
- * `elf/tst-audit1`, `elf/tst-audit2`
+ Should work with [[!message-id
+ "201209302353.51055.toscano.pino@tiscali.it"]] in libpthread.
- SIGKILL.
+ * `debug/tst-chk1.out`
+
+ Intermittent. Timeout. Unknown.
+
+ * `debug/tst-chk2.out`, `debug/tst-chk3.out`, `debug/tst-lfschk2.out`,
+ `debug/tst-lfschk3.out`
+
+ Unknown.
+
+ * `debug/tst-chk4.out`, `debug/tst-chk5.out`, `debug/tst-chk6.out`,
+ `debug/tst-lfschk4.out`, `debug/tst-lfschk5.out`, `debug/tst-lfschk6.out`
+
+ [...]/debug/tst-chk4: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libstdc++.so.6)
+ [...]/debug/tst-chk4: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libgcc_s.so.1)
+
+ * `debug/tst-longjmp_chk2.out`
+
+ SIGSEGV.
+
+ not on alternate stack
+ in signal handler
+ on alternate stack
+ out of signal handler
+ on alternate stack
- * `inet/tst-ether_line`
+ It says *alternate stack*.
- tst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function)
+ * `inet/tst-ether_line.o`
+
+ tst-ether_line.c: In function 'do_test':
+ tst-ether_line.c:19:19: error: 'ETH_ALEN' undeclared (first use in this function)
Will either need a `hurd/netinet/if_ether.h` that includes
`<net/if_ether.h>`, or can do that in the generic `netinet/if_ether.h`?
See also [[!sourceware_PR 11142]].
- * `gmon/tst-sprofil`
+ * `login/tst-grantpt.out`
- Floating point exception
+ posix_openpt(O_RDWR) failed
+ errno 1073741902 (Function not implemented)
- * `posix/bug-regex31-mem`, `posix/tst-fnmatch-mem`, `misc/tst-error1-mem`,
- `libio/tst-fopenloc.check`
+ `posix_openpt` is a stub.
- *output* files: some memory not freed.
+ grantpt(): expected: return = -1, errno = 1073741846
+ got: return = -1, errno = -303
- [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]]
+ `grantpt` (actually `ptsname_r`), does not fail with `ENOTTY` when the `fd`
+ does not refer to a PTY master.
- * `assert/test-assert.out`
+ * `elf/tst-stackguard1-static.out`, `elf/tst-stackguard1.out`
- Fails sometimes...
+ differences 0 defaults 0
+ stack guard canaries are not randomized enough
+ nor equal to the default canary value
- * `stdlib/bug-getcontext.out`
+ Sometimes times out.
- getcontext failed, errno: 1073741902.
+ * `elf/tst-tls9-static.out`
- Is not implemented; see above. In 8958805c11c741d9211e20612c86271d906c9a0b
- testing, `stdlib/bug-getcontext.out` now says: *Skipping test; no support
- for FP exceptions.*, in cba1c83ad62a11347684a9daf349e659237a1741 testing,
- it's back to the previous failure.
+ SIGSEGV.
+
+ * `elf/tst-dlmopen1.out`
+
+ SIGSEGV.
+
+ * `elf/tst-audit1.out`, `elf/tst-audit2.out`
+
+ SIGKILL.
+
+ * `elf/check-textrel.out`
+
+ $BUILDDIR/libc.so.dyn: *** text relocations used
+
+ * `elf/check-execstack.out`
+
+ $BUILDDIR/libc.so.phdr: *** executable stack signaled
+
+ * `elf/check-localplt.out`
+
+ Around 500 or so `Extra PLT reference`.
+
+ * `check-local-headers.out`
+
+ A lot. Including `/usr/include/device/*.h`, `/usr/include/mach/*.h`,
+ `/usr/include/hurd/*.h`.
+
+Earlier failures; no longer seen:
+
+ * `test-assert-perr.out`
+
+ Fails intermittently. Unknown.
+
+ * `test-multiarch.out`
- * `elf/tst-unique3lib.so`, `elf/tst-unique3lib2.so`, `elf/tst-unique4lib.so`
+ Needs [[`/proc/cpuinfo`|hurd/translator/procfs/jkoenig/discussion]]
+ providing the `flags` line.
+
+ * `elf/tst-array*`
+
+ No longer fail with GCC 4.7.
+ [[!message-id "50950082.1070906@df1tl.local.here"]].
+
+ * `io/ftwtest`, `posix/globtest`, `iconvdata/iconv-test`, `intl/tst-gettext`,
+ `malloc/tst-mtrace`, `elf/tst-pathopt`, `iconvdata/tst-tables`,
+ `grp/tst_fgetgrent`,
+ `posix/wordexp-tst`, `localedata/bug-setlocale1.out`, `posix/tst-getconf`
+
+ /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/io/ftwtest: error while loading shared libraries: libmachuser.so.1: cannot open shared object file: No such file or directory
+
+ Looking into `localedata/bug-setlocale1.c`, it is clear what it going on:
+ only the root of the build directory is added for `--library-path`, but
+ none of the other directories that are additionally used. This is a bug in
+ the glibc test harness. Hacked around by `ln -s mach/libmachuser.so.1
+ hurd/libhurduser.so.0.3 ./`. Hopefully the other instances are similar.
- Only with GCC 4.4; no longer with 4.5 or 4.6:
+ * `assert/test-assert.out`
- /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/elf/tst-unique3lib.os:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
+ Fails sometimes...
* `math/test-fenv.out`
@@ -1847,11 +1700,6 @@ There is quite a baseline of failures.
005b7594ffe209639dd1ef2b9ed9a4c22307dec1 causes it to passe -- very likely
Jérémie's signaling work.
- * `posix/tst-waitid.out`
-
- Fails sometimes (is listed in Debian eglibc-2.13-21's
- `expected-results-i486-gnu-libc`).
-
* `elf/tst-unused-dep.out` (1f393a11f65dcaa1952bdcaf0317a65a5f8aff9d,
[[!sourceware_PR 13706]], [[!message-id "4F4210C1.1090704@redhat.com"]])
@@ -1861,113 +1709,7 @@ There is quite a baseline of failures.
As of 8958805c11c741d9211e20612c86271d906c9a0b, this test now passes --
correct?
- * `stdlib/tst-secure-getenv.out`
-
- Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]].
+Compared to Debian:
- * `elf/tst-array*`
-
- Failures also seen on GNU/Linux; [[!message-id
- "50950082.1070906@df1tl.local.here"]].
-
- gcc-4.6 tst-array1.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out tst-array1.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out] Error 1
- gcc-4.6 tst-array2.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 tst-array2dep.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -fPIC -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc
- gcc-4.6 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,defs -B[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/ -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -L[...]/tschwinge/Roger_Whittaker.build-gcc-4.6
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out tst-array2.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out] Error 1
- gcc-4.6 tst-array3.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out tst-array1.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out] Error 1
- gcc-4.6 tst-array4.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/
- gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out tst-array4.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out] Error 1
-
- `tst-array5` passes.
-
- gcc-4.6 tst-array1-static.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4
- gcc-4.6 -nostdlib -nostartfiles -static -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crt0.o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crti
- [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static > [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out
- cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out tst-array1.exp > /dev/null
- make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out] Error 1
-
- `tst-array5-static` passes.
-
-
-## OLD
-
-`configure --without-cvs --prefix= --disable-profile --build=i486-gnu
---host=i486-gnu`
-
-`make -k check` changes from 538603af899057a9ef9583cc447804ec602a45e5 to
-c9fd33ef070def49c078c94f8d9bc9f8a8e267f7.
-
-Configured with `--prefix=/usr` instead of `--prefix=`.
-
-Resolved failures:
-
- * localedata/tst_mblen.out
- * localedata/tst_mbrlen.out
- * localedata/tst_mbrtowc.out
- * localedata/tst_mbsrtowcs.out
- * localedata/tst_mbstowcs.out
- * localedata/tst_mbtowc.out
- * localedata/tst_swscanf.out
- * localedata/tst_wcrtomb.out
- * localedata/tst_wcsrtombs.out
- * localedata/tst_wcstombs.out
- * localedata/tst_wctob.out
- * localedata/tst_wctomb.out
- * localedata/bug-iconv-trans.out
- * localedata/tst-wctype.out
- * math/test-float.out
- * math/test-double.out
- * posix/tst-vfork3-mem
- * io/tst-mkdirat.out
-
-New:
-
- * A lot of `error while loading shared libraries: libmachuser.so.1: cannot
- open shared object file: No such file or directory`. Is it perhaps picking
- that library up from `$prefix/lib/`?
-
- New failures; likely due to that:
-
- * iconvdata/iconv-test.out
- * iconvdata/tst-tables.out
- * malloc/tst-mtrace.out
- * grp/tst_fgetgrent.out
- * posix/globtest.out
- * posix/wordexp-tst.out
- * io/ftwtest.out
- * elf/tst-pathopt.out
-
- Changed failures; likely due to that:
-
- * debug/tst-chk4.out / debug/tst-chk5.out
-
- -error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
- +error while loading shared libraries: libpthread-stubs.so.0: cannot open shared object file: No such file or directory
-
----
-
-Changes to b367d4f996512af6841c3cefdb943cb0a826a6a1: nothing interesting.
-
----
-
-Changes to b85c54a1f7e5241c1ef99dfeaecbd1bf4117564f: nothing interesting.
-
-New failures:
-
- * posix/bug-glob3.out (SEGFAULT; but also on Linux)
- * wctype/bug-wctypeh.o (compile error; but also on Linux)
+ $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_test > log_test.filtered
+ $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/compare.sh ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/expected-results-i486-gnu-libc log_test.filtered
diff --git a/open_issues/libpthread_addon.mdwn b/open_issues/libpthread_addon.mdwn
index 26b24549..3a10cbde 100644
--- a/open_issues/libpthread_addon.mdwn
+++ b/open_issues/libpthread_addon.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2012, 2013 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
@@ -99,21 +99,6 @@ Running glibc's `check-localplt` test gives in `check-localplt.out`:
Extra PLT reference: libpthread.so: pthread_mutexattr_destroy
Extra PLT reference: libpthread.so: pthread_setcancelstate
-### `pthread` sysdep
-
-glibc provides a `pthread` sysdep (`sysdeps/pthread`) with pthread-based
-implementations of most of the `aio_*` and `lio_*` functions.
-
-[[!message-id "201209302353.51055.toscano.pino@tiscali.it"]]
-
-The above patches allows also to cleanly set the libpthread string version,
-returned e.g. for the `_CS_GNU_LIBPTHREAD_VERSION` value of `confstr`.
-
-About the glibc aio tests, they would all compile and work, except:
-
- - `tst-aio` -- fails
- - `tst-aio9`, `tst-aio10` -- time out
-
### `bits/posix_opt.h`
`bits/posix_opt.h` is the glibc header defining the various
@@ -145,6 +130,6 @@ in glibc.
A pthread version of `gai_misc.h` must be provided by libpthread (just like
NPTL provides one), either in `sysdeps/mach/hurd` or `sysdeps/pthread`
-(better, see above).
+(better).
Currently, it is provided in glibc itself in Debian.
diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn
index 3ce42281..56b4513e 100644
--- a/open_issues/llvm.mdwn
+++ b/open_issues/llvm.mdwn
@@ -23,6 +23,13 @@ example. Especially all the compiler magic is all the same.
# [[General information|/llvm]]
+## Rebuild of the Debian archive with clang
+
+From [[!message-id "20120305195308.GA1904@zouish.org"]]:
+<http://sylvestre.ledru.info/blog/sylvestre/2012/02/29/rebuild_of_the_debian_archive_with_clang>,
+<http://clang.debian.net/>.
+
+
# [[Sources|source_repositories/llvm]]
@@ -35,50 +42,74 @@ For all of llvm, clang, compiler-rt, test-suite:
git checkout reviewed
git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C --cc ..upstream/master
-i
-/^commit |^merge:|^---$|hurd|linux|nacl|nptl|glibc|gs:
+/^commit |^merge:|^---$|hurd|gnu|linux|nacl|nptl|glibc|[^e]gs:|/proc
-->
Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm
-7bf2e1b9ef797fda5de53956a1d2aea900ce794f (2013-01-09), clang
-35eb8c3e12cac22f91d1cd4c74ae092ebc94fc40 (2013-01-09), compiler-rt
-b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite
-a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08).
-
- * Configure fragments that have `*linux*` cases might/should often contain
- those for us (and GNU/k*BSD) as well.
+e68542e67e5c0f8d4bbdae0dde6ccd24525a18e3 (2013-02-13), clang
+2cbd427ec533f022f612fed0dd93ef5fa214478a (2013-02-12), compiler-rt
+c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite
+f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
* <http://anonscm.debian.org/viewvc/pkg-llvm/llvm/trunk/debian/patches/>.
- * [low] Some `PATH_MAX`/`MAXPATHLEN` things.
+ * [low] Some more `PATH_MAX`/`MAXPATHLEN` things.
+
+ * `gs:` usage
+
+ * `lib/Target/X86/`, `test/CodeGen/X86/`, `test/MC/X86/`.
+
+ * `tools/clang/`
+
+ tools/clang/docs/LanguageExtensions.rst: movl %gs:(%eax), %eax
+ tools/clang/test/Sema/asm.c: asm volatile ("movb %%gs:%P2,%b0" : "=q"(b) : "0"(0), "i"(5L));
+
+ * `compiler-rt` and `test-suite` not yet examined.
+
+ * [low] Linuxisms
+
+ * `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.
+
+ * `compiler-rt` and `test-suite` not yet examined.
- * 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));
+ * `/proc` usage
+
+ * `compiler-rt` and `test-suite` not yet examined.
+
+ * `libc++` (not currently using)
+
+ Some Hurd-porting work is said to have been done as Google Summer of Code
+ 2012 Debian project,
+ <http://wiki.debian.org/SummerOfCode2012/StudentApplications/AndrejBelym>.
# Build
Here's a log of a LLVM build run; this is from our [[Git repository's
sources|source_repositories/llvm]], llvm
-792d08f44e4386ea671c1313cad9dfc9fc853794 (2013-01-09), clang
-1d2e1d18ae77b1949a31203ed7001b5817f29b09 (2013-01-09), compiler-rt
-b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite
-a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08), run on kepler.SCHWINGE
+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.
$ 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
+ $ ../Horace_Silver/configure --prefix="$PWD".install --enable-optimized SHELL=/bin/dash CC=gcc-4.7 CXX=g++-4.7 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
+Passing `--enable-debug-symbols`, the GNU/Hurd build on coulomb.SCHWINGE
+terminates with a SIGBUS
when linking `Release+Debug+Asserts/bin/clang` (which is bigger than 500 MiB
for the corresponding GNU/Linux build). Using `--enable-debug-symbols
--enable-shared`, the GNU/Hurd build hang after `make[1]: Leaving directory
@@ -90,10 +121,17 @@ the corresponding GNU/Linux build). Also there is a separate
This takes up around 3 GiB, and needs roughly 1.25 h on kepler.SCHWINGE and
4.25 h on coulomb.SCHWINGE.
+Configuring without `--enable-optimized` even crashes mighty darnassus,
+probably because of too-big files when linking. Configuring with
+`--enable-optimized --enable-expensive-checks --disable-threads
+--enable-debug-symbols --enable-debug-runtime` is fine.
+
<!--
$ (make VERBOSE=1 && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make VERBOSE=1 install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && { 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; }
+ $ (PATH=$HOME/tmp/source/autoconf/AUTOCONF-2.60.build.install/bin:$HOME/tmp/source/automake/automake-1.9.6.build.install/bin:$HOME/tmp/source/libtool/release-1-5-22.build.install/bin:$PATH; ./AutoRegen.sh)
+
-->
@@ -101,31 +139,20 @@ This takes up around 3 GiB, and needs roughly 1.25 h on kepler.SCHWINGE and
$ 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
- Due to [[mmap_write-only]].
+ 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
+ +In file included from [...]/lib/Support/Process.cpp:85:0:
+ +[...]/lib/Support/Unix/Process.inc: In function 'unsigned int getColumns(int)':
+ +[...]/lib/Support/Unix/Process.inc:227:21: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
- +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
+ 225 // Try to determine the width of the terminal.
+ 226 struct winsize ws;
+ 227 if (ioctl(FileID, TIOCGWINSZ, &ws) == 0)
include/llvm/Config/*
Makefile.config
@@ -165,4 +192,111 @@ coulomb.SCHWINGE.
$ toolchain/logs/process llvm test
-TODO
+ * `LLVM :: CodeGen/X86/mult-alt-generic-i686.ll`
+
+ This one, as well as a really large set of test from the test-suite fail on
+ coulomb.SCHWINGE no matter whether a GNU/Hurd or GNU/Linux system is booted
+ -- so all these are specific to the Athlon XP processor, hopefully.
+
+ * `Clang :: Index/crash-recovery-modules.m`
+
+ Also fails on GNU/Linux. Tested `--enable-optimized
+ --enable-expensive-checks --disable-threads --enable-debug-symbols
+ --enable-debug-runtime`. [[!LLVM_bug 11974]].
+
+ * `Clang :: Misc/dev-fd-fs.c`
+
+ $ cat < [...]/test/Misc/dev-fd-fs.c | Release+Debug+Asserts+Checks/bin/clang -x c /dev/fd/0 -E
+ clang: error: no such file or directory: '/dev/fd/0'
+ clang: error: no input files
+
+ Compare to:
+
+ $ cat < [...]/test/Misc/dev-fd-fs.c | gcc -x c /dev/fd/0 -E
+ gcc: error: /dev/fd/0: (ipc/mig) bad request message ID
+ gcc: warning: '-x c' after last input file has no effect
+ gcc: fatal error: no input files
+ compilation terminated.
+
+ These work:
+
+ $ Release+Debug+Asserts+Checks/bin/clang -x c /dev/fd/0 -E < [...]/test/Misc/dev-fd-fs.c
+ [...]
+ int x;
+ $ gcc -x c /dev/fd/0 -E < [...]/test/Misc/dev-fd-fs.c
+ [...]
+ int x;
+
+ * `Clang :: Tooling/clang-check-builtin-headers.cpp`
+
+ Fails: `fatal error: 'stddef.h' file not found`; succeeds when ran
+ manually.
+
+ * With `--enable-optimized --enable-expensive-checks --disable-threads
+ --enable-debug-symbols --enable-debug-runtime`, there are a few new FAILs
+ for both GNU/Linux and GNU/Hurd:
+
+ * `Clang :: Tooling/auto-detect-from-source-parent-of-cwd.cpp`
+
+ * `Clang :: Tooling/auto-detect-from-source-parent.cpp`
+
+ * `Clang :: Tooling/clang-check-autodetect-dir.cpp`
+
+ For all three, the `clang-check` invocation fails. [[!LLVM_bug 15194]].
+
+ * Several tests are not considered on GNU/Hurd.
+
+ -PASS: Clang-Unit :: ASTMatchers/[...]/tschwinge/Horace_Silver.build/tools/clang/unittests/ASTMatchers/Release+Asserts/ASTMatchersTests/HasNameDeathTest.DiesOnEmptyName
+ -PASS: Clang-Unit :: ASTMatchers/[...]/tschwinge/Horace_Silver.build/tools/clang/unittests/ASTMatchers/Release+Asserts/ASTMatchersTests/HasNameDeathTest.DiesOnEmptyPattern
+ -PASS: Clang-Unit :: ASTMatchers/[...]/tschwinge/Horace_Silver.build/tools/clang/unittests/ASTMatchers/Release+Asserts/ASTMatchersTests/IsDerivedFromDeathTest.DiesOnEmptyBaseName
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.SemanticsDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringDecimalDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringDecimalExponentDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringDecimalSignificandDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringHexadecimalDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringHexadecimalExponentDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringHexadecimalSignificandDeath
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APIntTest.StringDeath
+ -PASS: LLVM-Unit :: Support/[...]/tschwinge/Horace_Silver.build/unittests/Support/Release+Asserts/SupportTests/LeakDetector.Death1
+ -PASS: LLVM-Unit :: Support/[...]/tschwinge/Horace_Silver.build/unittests/Support/Release+Asserts/SupportTests/ValueHandle.AssertingVH_Asserts
+
+ GTEST_HAS_DEATH_TEST utils/unittest/googletest/include/gtest/internal/gtest-port.h
+
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/PackedVectorTest.SignedValues
+ -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/PackedVectorTest.UnsignedValues
+
+ EXPECT_DEBUG_DEATH utils/unittest/googletest/include/gtest/gtest-death-test.h
+
+ * Differences in test-suite, that are not evidently floating-point issues,
+ GNU/Linux vs. GNU/Hurd on coulomb.SCHWINGE:
+
+ gcc-4.6 -I/media/erich/home/thomas/tmp/llvm/tschwinge/Horace_Silver.build/projects/test-suite/SingleSource/UnitTests -I/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/SingleSource/UnitTests -I/home/thomas/tmp/llvm/tschwinge/Horace_Silver.build/projects/test-suite/../../../Horace_Silver/projects/test-suite/include -I../../include -I/home/thomas/tmp/llvm/tschwinge/Horace_Silver.build/include -I/home/thomas/tmp/llvm/tschwinge/Horace_Silver/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG -O3 /media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/SingleSource/UnitTests/2007-04-25-weak.c -lm -o Output/2007-04-25-weak.native -lstdc++
+ +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/SingleSource/UnitTests/2007-04-25-weak.c:3:1: warning: 'weak_import' attribute directive ignored [-Wattributes]
+ +/tmp/ccWGwKvo.o: In function `main':
+ +2007-04-25-weak.c:(.text.startup+0x7): undefined reference to `test_weak'
+ +collect2: ld returned 1 exit status
+ +make[2]: [Output/2007-04-25-weak.native] Error 1 (ignored)
+
+ On GNU/Linux, the clamav tests are compiled with `-DC_LINUX`.
+
+ +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Applications/lambda-0.1.3/lambda.cc:63:12: error: use of undeclared identifier 'MAXPATHLEN'
+ + char buf[MAXPATHLEN+1];
+
+ ..., with follow-up failures.
+
+ `projects/test-suite/MultiSource/Applications/obsequi` is not at all
+ considered for GNU/Hurd.
+
+ +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Benchmarks/Olden/voronoi/newvor.c:178:25: warning: implicit declaration of function 'memalign' is invalid in C99 [-Wimplicit-function-declaration]
+ + char* base = (char*)memalign(align_size, alloc_size);
+ + ^
+ +1 warning generated.
+
+ +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Benchmarks/Prolangs-C/archie-client/get_vdir.c:213:20: error: use of undeclared identifier 'MAXPATHLEN'
+ + char l_name[MAX_DIR_LINESIZE];
+ + ^
+ +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Benchmarks/Prolangs-C/archie-client/pprot.h:39:37: note: expanded from macro 'MAX_DIR_LINESIZE'
+ +#define MAX_DIR_LINESIZE 160+MAXPATHLEN /* Max linesize in directory */
+ + ^
+
+ ..., and several more.
diff --git a/open_issues/security.mdwn b/open_issues/security.mdwn
index 055c8bdc..d8ffc04e 100644
--- a/open_issues/security.mdwn
+++ b/open_issues/security.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2013 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
@@ -24,11 +24,5 @@ automated fashion.
All publically usable interfaces provide attacking targets. This includes all
[[system call]]s and [[RPC]] interfaces.
-Fuzzing techniques can be use for locating possible issues.
-
- * <http://lwn.net/Articles/414273/>
-
- * Has already been used in the 70s / 80s (?) for testing [[UNIX]] command
- line tools.
-
- * <http://www.ece.cmu.edu/~koopman/ballista/>
+Fuzzing techniques can be use for locating possible issues; see discussion on
+the [[code_analysis]] page.
diff --git a/public_hurd_boxen.mdwn b/public_hurd_boxen.mdwn
index 65cc340c..268f177b 100644
--- a/public_hurd_boxen.mdwn
+++ b/public_hurd_boxen.mdwn
@@ -23,12 +23,12 @@ image|hurd/running/qemu]].
"[[bddebian]]","blubber","Debian GNU/Hurd","Celeron 2.2 GHz; 222 MiB","Xen domU on [[zenhost]]; for experimental stuff; deactivated until needed again (apart from [[tschwinge]], only [[scolobb]] has an account, but is not active at the moment)"
"[[bddebian]]","clubber","Debian GNU/Hurd","PIII 1 GHz; 384 MiB"
"[[bddebian]]","flubber","Debian GNU/Hurd","Celeron 2.2 GHz; 666 MiB","Xen domU on [[zenhost]]"
-"[[bddebian]]","snubber","Debian GNU/Hurd","Celeron 2.2 GHz; 243 MiB","Xen domU on [[zenhost]]; web server"
+"[[bddebian]]","snubber","Debian GNU/Hurd","Celeron 2.2 GHz; 243 MiB","Xen domU on [[zenhost]]"
"[[bddebian]]","gnubber","Debian GNU/Hurd","PII 733 MHz; 384 MiB"
"[[bddebian]]","goober","Debian GNU/Hurd","?"
"[[bddebian]]","grubber","Debian GNU/Hurd","Celeron 2.2 GHz; 554 MiB","Xen domU on [[zenhost]]; for experimental stuff"
"[[bddebian]]","[[zenhost]]","Debian GNU/Linux","Celeron 2.2 GHz","Xen dom0 for several hosts"
-"[[sceen]]","darnassus","Debian GNU/Hurd","Core i5 3.1 GHz, 1.8 GiB","KVM guest on shattrath; public Hurd box"
+"[[sceen]]","darnassus","Debian GNU/Hurd","Core i5 3.1 GHz, 1.8 GiB","KVM guest on shattrath; public Hurd box; web server"
"[[sceen]]","ironforge","Debian GNU/Hurd","Core i5 3.1 GHz, 1.8 GiB","KVM guest on shattrath; Debian buildd"
"[[sceen]]","exodar","Debian GNU/Hurd","Core i5 3.1 GHz, 1.8 GiB","KVM guest on shattrath; Debian porterbox, all Debian Developers have access"
"[[sceen]]","shattrath","Debian GNU/Linux","Core i5 3.1 GHz","KVM host"
diff --git a/shortcuts.mdwn b/shortcuts.mdwn
index 2f12f28f..c211bd30 100644
--- a/shortcuts.mdwn
+++ b/shortcuts.mdwn
@@ -115,3 +115,9 @@ ikiwiki will include your shortcut in the standard underlay.
* [[!shortcut name=stackoverflow_question
url="http://stackoverflow.com/questions/%s"
desc="Stack Overflow question %s"]]
+
+
+## [[LLVM]]
+
+ * [[!shortcut name=LLVM_bug url="http://llvm.org/bugs/show_bug.cgi?id=%s"
+ desc="LLVM bug #%s"]]
diff --git a/source_repositories.mdwn b/source_repositories.mdwn
index cd478c70..726748ed 100644
--- a/source_repositories.mdwn
+++ b/source_repositories.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Free Software
-Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012, 2013 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
@@ -210,6 +210,29 @@ branches, like an imaginary
`rewrite_pfinet/for_master_and_proposed_for_general_testing` branch.
+# Git repositories on darnassus
+
+[[darnassus|public hurd boxen]] is
+**meant to be**
+[[configured|public_hurd_boxen/installation/darnassus]] in a way so that users
+can publish Git repositories from their home directories. The only thing to do
+is to put an empty `.git/git-daemon-export-ok` (cf. [*git daemon*'s manual
+page](http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html)) into
+the repository, or just `git-daemon-export-ok` for
+[*bare*](http://www.kernel.org/pub/software/scm/git/docs/git-init.html)
+repositories.
+
+<!--
+
+For example, the [[contributing/web_pages]] repository is made available like
+this: `~hurd-web/hurd-web.git` is a bare repository; there is an empty
+`~hurd-web/hurd-web.git/git-daemon-export-ok` file. Users can clone the
+repository like this:
+
+ $ git clone git://darnassus.sceen.net/~hurd-web/hurd-web
+
+-->
+
# Git repositories on flubber
[[flubber|public hurd boxen]] is
@@ -221,24 +244,13 @@ the repository, or just `git-daemon-export-ok` for
[*bare*](http://www.kernel.org/pub/software/scm/git/docs/git-init.html)
repositories.
-For example, the [[contributing/web pages]] repository is made available like
-this: `~hurd-web/hurd-web` is a bare repository; there is an empty
-`~hurd-web/hurd-web/git-daemon-export-ok` file. Users can clone the repository
-like this:
-
- $ git clone git://flubber.bddebian.com/~hurd-web/hurd-web
-
-Another example, [[Thomas Schwinge|tschwinge]] has a checkout of
+For example, [[Thomas Schwinge|tschwinge]] has a checkout of
[[libpthread]] in `~tschwinge/tmp/hurd/libpthread/`, the
`~tschwinge/tmp/hurd/libpthread/.git/git-daemon-export-ok` file exists. If you
really need to, you can clone it like this:
$ git clone git://flubber.bddebian.com/~tschwinge/tmp/hurd/libpthread
-## List of Interesting Repositories
-
- * web pages: git://flubber.bddebian.com/~hurd-web/hurd-web
-
# Git repositories on grubber
diff --git a/toolchain/logs b/toolchain/logs
-Subproject 4bb1594b6341baf13ebbe2477eaca9705d5f5d6
+Subproject 9dc02241b1a742d5ebf3ba2fdfa5039bf2b2931
diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn
index fccf3840..e996ecee 100644
--- a/user/Maksym_Planeta.mdwn
+++ b/user/Maksym_Planeta.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2011, 2013 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
@@ -84,7 +84,7 @@ $ showtrans foo
## mach-defpager
-[[defpager|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#defpager81111]]
+[[defpager|Maksym_Planeta#defpager81111]]
[[http://www.mail-archive.com/bug-hurd@gnu.org/msg18859.html]]
@@ -105,7 +105,7 @@ since this parameter is unused
Probably pager_request shouldn't be stored because request may arrive from different kernels (or from kernel and translator), so this parameter doesn't have any sense.
-22.11.11 Reading/writing for any size works, [[this|http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00127.html]] works, but fsx test fails ([[see|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#fsx_fail2211]]).
+22.11.11 Reading/writing for any size works, [[this|http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00127.html]] works, but fsx test fails ([[see|Maksym_Planeta#fsx_fail2211]]).
24.11.11 The problem with fsx.
@@ -116,7 +116,7 @@ Here are follow operations:
3. Write some data at address 0x200 size of 0x20. By this operation file size is increased up to 0x220.
4. Read data at address 0x110. Fsx expects here zeros, but in fact here is data, that was written at step 1.
-When fsx tries to read data kernel calls pager with seqno_memory_object_data_request, and pager returns on step 4 zeros either with memory_object_data_provided or memory_object_data_unavailable. Before this, in default_pager_set_size memory_object_lock_request called to flush any kernel caches, that could hold data to be truncated. When I set offset to 0 and size to limit in memory_object_lock_request it appeared another error ([[see|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#fsx_fail2411]]). Both these behaviors appear to be quite strange for me. It is quite late now, so i put these notes to not forget this and went sleep. Continue tomorrow.
+When fsx tries to read data kernel calls pager with seqno_memory_object_data_request, and pager returns on step 4 zeros either with memory_object_data_provided or memory_object_data_unavailable. Before this, in default_pager_set_size memory_object_lock_request called to flush any kernel caches, that could hold data to be truncated. When I set offset to 0 and size to limit in memory_object_lock_request it appeared another error ([[see|Maksym_Planeta#fsx_fail2411]]). Both these behaviors appear to be quite strange for me. It is quite late now, so i put these notes to not forget this and went sleep. Continue tomorrow.
5.12.11 Here is a problem with writing by address, which was freed already. It happens in function dealloc_direct in macros invalidate_block. This function is called from pager_truncate in branch when condition "if (!INDIRECT_PAGEMAP(old_size))" is true. But I didn't find why reference to freed object is kept. As workaround we can reduce kalloc_max in hurd/mach-defpager/kalloc.c to 3 to make allocator use vm_allocate always. The drawback is that allocator will allocate only multiple of vm_page_size, but this is temporary tradeoff. Till now fsx reaches operation number 14277.
@@ -151,7 +151,7 @@ I didn't find out yet what is wrong here exactly, but when I exclude this code m
### Make links work
-Symlinks behavior: [[links|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#links81111]]
+Symlinks behavior: [[links|Maksym_Planeta#links81111]]
8.11.11 Symlinks work.
diff --git a/user/jkoenig/java/discussion.mdwn b/user/jkoenig/java/discussion.mdwn
index 352f6d62..a95b2cbe 100644
--- a/user/jkoenig/java/discussion.mdwn
+++ b/user/jkoenig/java/discussion.mdwn
@@ -203,6 +203,9 @@ Probably faster than JNI, but only usable with GCJ.
<jkoenig> right,
<jkoenig> so here you may want to look at the UML class diagram from
http://www.bddebian.com/~hurd-web/user/jkoenig/java/proposal/
+
+[[proposal]].
+
<jkoenig> so in the C case, mig generates 3 files
<jkoenig> a header file which has the prototypes of the mig-generated
stubs,
diff --git a/user/jkoenig/java/proposal.mdwn b/user/jkoenig/java/proposal.mdwn
index feb7e9dc..61563c95 100644
--- a/user/jkoenig/java/proposal.mdwn
+++ b/user/jkoenig/java/proposal.mdwn
@@ -588,7 +588,7 @@ In the event multiple language bindings projects
would be accepted,
some work could probably be done in common.
In particular,
-[ArneBab](http://www.bddebian.com/~hurd-web/community/weblogs/ArneBab/2011-04-06-application-pyhurd/)
+[[ArneBab|/community/weblogs/ArneBab/2011-04-06-application-pyhurd]]
seems to favor a low-level approach for his Python bindings as I do for Java,
and I would be happy to discuss API design and coordinate MIG changes with him.
I would also have an extra month after the end of the GSoC period