summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--capability.mdwn106
-rw-r--r--community/gsoc/project_ideas/testing_framework/discussion.mdwn4
-rw-r--r--community/gsoc/project_ideas/testsuites.mdwn2
-rw-r--r--contributing.mdwn46
-rw-r--r--contributing/copyright_assignment.mdwn28
-rw-r--r--contributing/discussion.mdwn21
-rw-r--r--contributing/web_pages/news/2011-q2-ps.mdwn (renamed from news/2011-q2-ps.mdwn)37
-rw-r--r--contributing/web_pages/news/moth_next.mdwn7
-rw-r--r--documentation.mdwn51
-rw-r--r--faq/system_port.mdwn47
-rw-r--r--faq/which_microkernel/discussion.mdwn61
-rw-r--r--glibc.mdwn8
-rw-r--r--glibc/debugging.mdwn11
-rw-r--r--glibc/debugging/ld_so_console.mdwn20
-rw-r--r--glibc/debugging/ld_so_console/dl-sysdep.c.patch63
-rw-r--r--glibc/discussion.mdwn2
-rw-r--r--glibc/fork.mdwn5
-rw-r--r--hurd/debugging/glibc.mdwn8
-rw-r--r--hurd/documentation/translator_primer.mdwn6
-rw-r--r--hurd/io_path.mdwn83
-rw-r--r--hurd/porting/guidelines.mdwn74
-rw-r--r--hurd/porting/system_api_limitations.mdwn4
-rw-r--r--hurd/running/debian/after_install.mdwn33
-rw-r--r--hurd/running/debian/dhcp.mdwn7
-rw-r--r--hurd/running/debian/patch_submission.mdwn27
-rw-r--r--hurd/running/qemu.mdwn7
-rw-r--r--hurd/subhurd/discussion.mdwn69
-rw-r--r--hurd/translator/discussion.mdwn25
-rw-r--r--hurd/translator/pfinet/dhcp.mdwn33
-rw-r--r--hurd/translator/procfs/jkoenig/discussion.mdwn47
-rw-r--r--hurd/translator/tmpfs/tmpfs_vs_defpager.mdwn115
-rw-r--r--microkernel/discussion.mdwn24
-rw-r--r--microkernel/eros.mdwn15
-rw-r--r--microkernel/mach/gnumach/boot_trace.mdwn13
-rw-r--r--microkernel/mach/gnumach/building.mdwn124
-rw-r--r--microkernel/mach/gnumach/debugging.mdwn59
-rw-r--r--microkernel/mach/gnumach/hardware_compatibility_list.mdwn17
-rw-r--r--microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn29
-rw-r--r--microkernel/mach/gnumach/ports.mdwn8
-rw-r--r--microkernel/mach/gnumach/ports/xen.mdwn36
-rw-r--r--microkernel/mach/memory_object/discussion.mdwn67
-rw-r--r--microkernel/mach/mig/gnu_mig/building.mdwn82
-rw-r--r--microkernel/mach/mig/gnu_mig/building/discussion.mdwn16
-rw-r--r--microkernel/mach/port.mdwn26
-rw-r--r--open_issues/active_vs_passive_symlink_translator.mdwn44
-rw-r--r--open_issues/binutils.mdwn96
-rw-r--r--open_issues/binutils/log_build.diff46
-rw-r--r--open_issues/binutils/log_install.diff4
-rw-r--r--open_issues/binutils/sum.diff80
-rw-r--r--open_issues/binutils/sum_hurd24
-rw-r--r--open_issues/binutils/sum_linux24
-rw-r--r--open_issues/clock_gettime.mdwn71
-rw-r--r--open_issues/code_analysis.mdwn44
-rw-r--r--open_issues/default_pager.mdwn31
-rw-r--r--open_issues/e2fsck_i_file_acl_hi.mdwn5
-rw-r--r--open_issues/fakeroot-tcp_vs_eintr.mdwn51
-rw-r--r--open_issues/gcc.mdwn88
-rw-r--r--open_issues/gcc/log_build-hurd.sed2
-rw-r--r--open_issues/gcc/log_build-linux.sed2
-rw-r--r--open_issues/gcc/log_build.diff853
-rw-r--r--open_issues/gdb.mdwn21
-rw-r--r--open_issues/gdb/log_build.diff84
-rw-r--r--open_issues/gdb/log_install.diff4
-rw-r--r--open_issues/glibc.mdwn568
-rw-r--r--open_issues/glibc/debian.mdwn46
-rw-r--r--open_issues/glibc_init_first.mdwn78
-rw-r--r--open_issues/glibc_testsuite.mdwn105
-rw-r--r--open_issues/gnumach_memory_management.mdwn883
-rw-r--r--open_issues/gnumach_vm_map_entry_forward_merging.mdwn20
-rw-r--r--open_issues/hurd_101.mdwn38
-rw-r--r--open_issues/ifunc.mdwn18
-rw-r--r--open_issues/issue_tracking.mdwn118
-rw-r--r--open_issues/libc_variant_selection.mdwn5
-rw-r--r--open_issues/libmachuser_libhurduser_rpc_stubs.mdwn50
-rw-r--r--open_issues/libpthread_dlopen.mdwn84
-rw-r--r--open_issues/mach-defpager_malloc_hook.mdwn14
-rw-r--r--open_issues/mach-defpager_vs_defpager.mdwn24
-rw-r--r--open_issues/mach_migrating_threads.mdwn17
-rw-r--r--open_issues/mach_on_top_of_posix.mdwn16
-rw-r--r--open_issues/mach_tasks_memory_usage.mdwn49
-rw-r--r--open_issues/mach_vm_pageout.mdwn19
-rw-r--r--open_issues/mmap_crash_etc.mdwn95
-rw-r--r--open_issues/multiprocessing.mdwn37
-rw-r--r--open_issues/multithreading.mdwn7
-rw-r--r--open_issues/notmuch_n_gmane.mdwn18
-rw-r--r--open_issues/osf_mach.mdwn237
-rw-r--r--open_issues/packaging_libpthread.mdwn5
-rw-r--r--open_issues/performance.mdwn12
-rw-r--r--open_issues/performance/degradation.mdwn48
-rw-r--r--open_issues/performance/io_system/binutils_ld_64ksec.mdwn15
-rw-r--r--open_issues/performance/io_system/clustered_page_faults.mdwn63
-rw-r--r--open_issues/performance/ipc_virtual_copy.mdwn395
-rw-r--r--open_issues/performance/microkernel_multi-server.mdwn47
-rw-r--r--open_issues/perl.mdwn9
-rw-r--r--open_issues/placement_of_virtual_memory_regions.mdwn16
-rw-r--r--open_issues/proc_server_proc_exception_raise.mdwn37
-rw-r--r--open_issues/pthread_atfork.mdwn13
-rw-r--r--open_issues/resource_management_problems.mdwn19
-rw-r--r--open_issues/resource_management_problems/io_accounting.mdwn49
-rw-r--r--open_issues/resource_management_problems/pagers.mdwn322
-rw-r--r--open_issues/rework_gnumach_ipc_spaces.mdwn2
-rw-r--r--open_issues/rm_fr.mdwn12
-rw-r--r--open_issues/runit.mdwn37
-rw-r--r--open_issues/sa_siginfo_sa_sigaction.mdwn51
-rw-r--r--open_issues/sbcl.mdwn31
-rw-r--r--open_issues/sendmsg_scm_creds.mdwn4
-rw-r--r--open_issues/sync_but_still_unclean_filesystem.mdwn3
-rw-r--r--open_issues/syslog.mdwn44
-rw-r--r--open_issues/time.mdwn16
-rw-r--r--open_issues/translate_fd_or_port_to_file_name.mdwn3
-rw-r--r--open_issues/translators_set_up_by_untrusted_users.mdwn73
-rw-r--r--open_issues/tty_activitiy_vs_disk_io.mdwn81
-rw-r--r--open_issues/unit_testing.mdwn4
-rw-r--r--open_issues/user-space_device_drivers.mdwn36
-rw-r--r--open_issues/virtualbox.mdwn99
-rw-r--r--open_issues/wine.mdwn50
-rw-r--r--open_issues/wine/rg6dx09G.patch116
-rw-r--r--open_issues/xattr.mdwn13
-rw-r--r--persistency.mdwn25
-rw-r--r--rules/savannah_group.mdwn18
-rw-r--r--shortcuts.mdwn5
-rw-r--r--source_repositories.mdwn20
-rw-r--r--toolchain/cross-gnu.mdwn30
-rw-r--r--toolchain/elfosabi_gnu.mdwn6
-rw-r--r--unix/file_descriptor.mdwn3
-rw-r--r--user/El_Dream_Machine.mdwn8
-rw-r--r--user/El_Dream_Machine/discussion.mdwn10
-rw-r--r--user/arnuld.mdwn2
-rw-r--r--user/jkoenig/java.mdwn187
-rw-r--r--user/jkoenig/java/java-access-bridge.mdwn14
131 files changed, 6834 insertions, 915 deletions
diff --git a/.gitignore b/.gitignore
index a7516b7f..91746f00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
*~
-.ikiwiki
+
+/.ikiwiki*/
diff --git a/capability.mdwn b/capability.mdwn
index d78810d5..ddadf137 100644
--- a/capability.mdwn
+++ b/capability.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -28,6 +28,110 @@ sent a string to identify the file to B, the identifier lacks a
than A intended. Be ensuring that [[designation]] and [[authorization]] are
always bound together, these problems are avoided.
+Capability-based system architectures strive to meet the *principle of least
+privilege* ({{$wikipedia_polp}}).
+
+[[!tag open_issue_documentation]] <!--
+Revoking capabilities: destroy Mach port, invalidates *all* send rights. See
+shapiro_capintro_1999. To be more fine-grained, need separate instances, for
+example, valet key vs. door key. Proxy objects (that can be destroyed
+individually); attenuation design pattern, membranes
+(wikipedia_object-capability_model)?
+-->
+
+A capability mechanism is typically implemented in software my the operating
+system kernel (typically a [[microkernel]]. The computing cost (as compared to
+a hardware implementation) is neglectable.
+
+
+[[!tag open_issue_documentation]] <!--
+References. shapiro_capintro_1999 has a bit.
+-->
+
+
+[[!tag open_issue_documentation]] <!--
+# Advantages
+
+ * increased security; POLP
+
+ * easy exchanging of functionality
+
+ * support modular design and encapsulation
+
+ * easy collaboration (in theory; need real example)
+
+-->
+
+
+# UNIX
+
[[UNIX file descriptors|unix/file_descriptor]] can be viewed as capabilities.
They do not survive reboot, that is, they are not [[persistent|persistency]].
To work around this, [[ACL]]s are used to recover authority.
+
+
+# GNU/Hurd
+
+In the GNU/Hurd system, a capability is represented by a [[Mach
+port|microkernel/mach/port]]. As in UNIX (see above), they are not
+[[persistent|persistency]].
+
+
+# Further Reading
+
+ * [[Mach port|microkernel/mach/port]]
+
+[[!toggleable id=shapiro_capintro_1999 text="""[[!template id=note
+text="*[[shapiro\_capintro\_1999|capability]]*:
+{{$capability#shapiro_capintro_1999}}.
+{{$capability#shapiro_capintro_1999_text}}."]]"""]]
+
+ * [[!toggle id=shapiro_capintro_1999 text="[shapiro\_capintro\_1999]"]]
+
+ * {{$wikipedia_capability-based_security}}
+
+ * {{$wikipedia_object-capability_model}}
+
+ * {{$wikipedia_polp}}
+
+
+[[!tag open_issue_documentation]] <!--
+<http://www.eros-os.org/essays/wherefrom.html>,
+<http://www.eros-os.org/essays/ACLSvCaps.html>,
+<http://www.cap-lore.com/CapTheory/index.html>,
+<http://www.cap-lore.com/CapTheory/tddCap.html>
+<http://www.skyhunter.com/marcs/capabilityIntro/>
+-->
+
+
+[[!ymlfront data="""
+
+shapiro_capintro_1999:
+
+ "[What *is* a Capability,
+ Anyway?](http://www.eros-os.org/essays/capintro.html), Jonathan Shapiro,
+ 1999"
+
+shapiro_capintro_1999_text:
+
+ "This is an easily readable introduction with good examples. In the author's
+ own words, the text *provides a layman's introduction to capabilities,
+ describing what they are, what they do, and why they result in better
+ security than today's computer systems*"
+
+wikipedia_capability-based_security:
+
+ "[[!wikipedia Capability-based_security desc=\"Wikipedia, capability-based
+ security\"]]"
+
+wikipedia_object-capability_model:
+
+ "[[!wikipedia Object-capability_model desc=\"Wikipedia, object-capability
+ model\"]]"
+
+wikipedia_polp:
+
+ "[[!wikipedia Principle_of_least_privilege desc=\"Wikipedia, principle of
+ least privilege\"]]"
+
+"""]]
diff --git a/community/gsoc/project_ideas/testing_framework/discussion.mdwn b/community/gsoc/project_ideas/testing_framework/discussion.mdwn
index 872d0eb7..b01d13c3 100644
--- a/community/gsoc/project_ideas/testing_framework/discussion.mdwn
+++ b/community/gsoc/project_ideas/testing_framework/discussion.mdwn
@@ -8,6 +8,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
+[[!tag open_issue_documentation]]
+
freenode, #hurd channel, 2011-03-05:
<nixness> what about testing though?
@@ -50,7 +52,7 @@ freenode, #hurd channel, 2011-03-05:
<antrik> AFAIK libc has very few failing tests
-[[open_issues/glibc_testsuite]].
+[[open_issues/glibc]].
<youpi> err, like twenty?
<youpi> € grep -v '^#' expected-results-i486-gnu-libc | wc -l
diff --git a/community/gsoc/project_ideas/testsuites.mdwn b/community/gsoc/project_ideas/testsuites.mdwn
index f5ee2084..9ca6fe3e 100644
--- a/community/gsoc/project_ideas/testsuites.mdwn
+++ b/community/gsoc/project_ideas/testsuites.mdwn
@@ -11,7 +11,7 @@ License|/fdl]]."]]"""]]
[[!meta title="Fix Compatibility Problems Exposed by Testsuites"]]
A number of software packages come with extensive testsuites.
-Some notable ones are [[glibc|open_issues/glibc_testsuite]], gnulib, Perl,
+Some notable ones are [[open_issues/glibc]], gnulib, Perl,
Python, GNU Coreutils, and glib.
While these testsuites were written mostly to track regressions in the respective packages,
some of the tests fail on the Hurd in general.
diff --git a/contributing.mdwn b/contributing.mdwn
index c006e554..1745b61a 100644
--- a/contributing.mdwn
+++ b/contributing.mdwn
@@ -16,7 +16,7 @@ Every single contribution is very much encouraged.
There are various ways to contribute; read up on contributing to...
-[[!toc levels=3]]
+[[!toc levels=4]]
If someone of you is lurking around here and would like to contribute, but
feels she / he could do so better under formal mentoring: please
@@ -77,31 +77,47 @@ documents.
<a name="porting"></a>
## Porting Packages
-Debian is currently the Hurd distribution of choice among Hurd users and
-developers.
+Please [[contact_us]] before spending a lot of time on the following porting
+tasks: some work may already have been done that you can base your work upon.
-Here is a
-[[list_of_Debian_packages_that_need_porting|hurd/running/debian/porting]].
+For guidelines, please have a look at the dedicated [[porting_page|hurd/porting]].
-You can also just [[install_Debian_GNU/Hurd|hurd/running/debian]] and find what
-doesn't work or suit you and try to improve that.
-You can also have a look at the [List of failing packages](http://people.debian.org/~sthibault/failed_packages.txt).
+### Debian GNU/Hurd
-For guidelines, please have a look at the dedicated [[porting_page|hurd/porting]].
+[[!template id=note text="""#### Debian Wheezy Release
+There is a goal of getting Debian GNU/Hurd into shape for a proper release with
+Debian Wheezy (expected towards the end of 2012 or beginning of 2013).
-## Open Issues
+The *to do* list is on <http://wiki.debian.org/Debian_GNU/Hurd>."""]]
-There is a list of [[open_issues]]. This list includes everything from bug
-reports to open-ended research questions.
+The following missing packages/missing functionality block a lot of other
+packages, and are thus good candidates for porting, in order to increase
+archive coverage:
+* umount functionality in busybox
+* gtest
+* hdf5
+* hyperestraier
+* sane*
+* ghc (ghc6 and ghc7)
+* [[open_issues/gnat]]
+* ruby1.9.1
-## Debian Wheezy release
+Here is a [[list of packages that need porting|hurd/running/debian/porting]].
-We target the Debian Wheezy release!
+You can also just [[install_Debian_GNU/Hurd|hurd/running/debian]] and find what
+doesn't work or suit you and try to improve that.
+
+Or, you can pick one from the [list of failing
+packages](http://people.debian.org/~sthibault/failed_packages.txt).
-The *to do* list is on <http://wiki.debian.org/Debian_GNU/Hurd>.
+
+## Open Issues
+
+There is a list of [[open_issues]]. This list includes everything from bug
+reports to open-ended research questions.
<a name="insta-dev-env"></a>
diff --git a/contributing/copyright_assignment.mdwn b/contributing/copyright_assignment.mdwn
new file mode 100644
index 00000000..b65594de
--- /dev/null
+++ b/contributing/copyright_assignment.mdwn
@@ -0,0 +1,28 @@
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2011 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]]."]]"""]]
+
+If you have pieces of code or documentation to contribute, then, in order to
+install them into our [[source_repositories]], you have to assign the copyright
+of your changes to the [Free Software Foundation](http://www.fsf.org/).
+
+The assignment for [[GNU Mach|microkernel/mach/gnumach]] additionally covers
+[[microkernel/mach/mig/GNU_MIG]] (which used to be a component of GNU Mach, and
+logically still is).
+
+The assignment for [[GNU Hurd|hurd]] additionally covers the separate
+[[source_repositories/incubator]], [[libpthread]], [[hurd/translator/procfs]],
+[[hurd/translator/unionfs]], [[microkernel/viengoos]],
+[[web|contributing/web_pages]] repositories, and possibly more.
+
+Amongst others, the assignments for [[binutils]], [[GCC]], [[GDB]], [[glibc]]
+are separate ones.
+
+Please [[contact_us]] to request the needed forms.
diff --git a/contributing/discussion.mdwn b/contributing/discussion.mdwn
new file mode 100644
index 00000000..5a6bfd7c
--- /dev/null
+++ b/contributing/discussion.mdwn
@@ -0,0 +1,21 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+
+# One-stop Development Environment
+
+Invent something.
+
+
+# Mailing Lists
+
+Add link to [[mailing_lists]] to page, and suggest following these.
diff --git a/news/2011-q2-ps.mdwn b/contributing/web_pages/news/2011-q2-ps.mdwn
index a339fd08..778caf2d 100644
--- a/news/2011-q2-ps.mdwn
+++ b/contributing/web_pages/news/2011-q2-ps.mdwn
@@ -20,8 +20,8 @@ else="
[[!cut id="full_news" text="""
-After our last *[[Quarter of the Hurd|2011-q2]]* has been picked up by a bunch
-of news sites, blogs, and so on. Discussions have been running all over the
+After our last *[[Quarter of the Hurd|news/2011-q2]]* has been picked up by a bunch
+of news sites, blogs, and so on, discussions have been running all over the
net. While we are happy to see that there obviously is quite some interest in
the GNU Hurd, we also saw some rumors and outdated information flowing around.
In the following, we try to clear the situation up a bit.
@@ -114,4 +114,37 @@ slashdot
and phoronix did some [performance tests of the Hurd][phorperf],
[phorperf]: http://www.phoronix.com/scan.php?page=article&item=debian_gnu_hurd&num=1
+---
+
+IRC, freenode, #hurd, 2011-08-24:
+
+ < ArneBab> hurd related: I now think you were right, antrik: the hurd
+ rumors don’t belong into the news (tschwinge)
+ < antrik> ArneBab: you mean the postscriptum as a whole, or just the wild
+ rumours part?...
+ < ArneBab> the whole PS
+ < ArneBab> it should rather go into a blog post
+ < ArneBab> (in the wiki)
+ < antrik> hm... I don't think I agree
+ < ArneBab> why?
+ < antrik> apparently there is a number of people following the news now,
+ and apparently many of them misread some statements... it makes sense to
+ use the same channel for clarifying them I'd say
+ < ArneBab> hm, ok
+ < ArneBab> how would you select the part to include?
+ < antrik> roughly speaking, I'd include everything that actually relates to
+ the previous news that were misunderstood
+ < antrik> and drop all unrelated speculations that popped up
+ < antrik> BTW, it *might* be useful perhaps to actually update the original
+ news posting with the clarifications?...
+ < ArneBab> we can’t do that without breaking some peoples RSS feeds
+ < antrik> note that there is another aspect to consider: the fact that
+ several news sites picked it up is indeed genuine news by itself...
+ < ArneBab> that’s right, yes
+ < antrik> will it really break anything? from what I heard so far it just
+ means they will see the posting as new again, which would actually make
+ sense in this case...
+ < antrik> but I don't insist if you think it's too risky :-)
+ < antrik> just an idea
+
-->
diff --git a/contributing/web_pages/news/moth_next.mdwn b/contributing/web_pages/news/moth_next.mdwn
index dec41583..3faa6e60 100644
--- a/contributing/web_pages/news/moth_next.mdwn
+++ b/contributing/web_pages/news/moth_next.mdwn
@@ -67,4 +67,11 @@ And …
* <http://blog.schmehl.info/Debian/hurd-not-default>
+ * LWN
+
+ * Bits from the Debian GNU/Hurd porters,
+ id:"20110721172827.GF4057@const.famille.thibault.fr"
+
+ * [[2011-q2-ps]]
+
"""]]
diff --git a/documentation.mdwn b/documentation.mdwn
index 5c666f3f..5ab08bfb 100644
--- a/documentation.mdwn
+++ b/documentation.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2010, 2011 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,8 +9,56 @@ 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]]."]]"""]]
+You are interested in getting familiar with the GNU/Hurd system architecture,
+or specific components of it? Here is a collection of texts to read.
+
+/!\ A lot of stuff is still missing ([[!taglink open_issue_documentation]]).
+
+[[!toc levels=3]]
+
+
+# Basic Knowledge
+
+Before you can go details, you have to learn the basics about operating system
+architecture. Yes, really.
+
+
+## Operating Systems Basics
+
+Books. Etc.
+
+
+## GNU/Hurd System Architecture
+
+
+### Capabilities
+
+[[!toggleable id=shapiro_capintro_1999 text="""[[!template id=note
+text="*[[shapiro\_capintro\_1999|capability]]*:
+{{$capability#shapiro_capintro_1999}}.
+{{$capability#shapiro_capintro_1999_text}}."]]"""]]
+
+ * Our use of [[capabilities|capability]]. The
+ {{$capability#wikipedia_capability-based_security}} article.
+ Alternatively/additionally, [[!toggle id=shapiro_capintro_1999
+ text="[shapiro\_capintro\_1999]"]].
+
+ In the GNU/Hurd system, a [[capability]] is represented by a [[Mach
+ port|microkernel/mach/port]].
+
+ * {{$capability#wikipedia_object-capability_model}}. Albeit not directly
+ tailored at the GNU/Hurd operating system architecture, this artice anyway
+ does a good job at describing general principles of a [[capability]]-based
+ system architecture.
+
+
+# FAQ
+
[[FAQ]]
+
+# Specific Components
+
Documentation for...
* [[GNU_Hurd|hurd/documentation]]
diff --git a/faq/system_port.mdwn b/faq/system_port.mdwn
new file mode 100644
index 00000000..c831c36f
--- /dev/null
+++ b/faq/system_port.mdwn
@@ -0,0 +1,47 @@
+[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="Doing a GNU/Hurd System Port"]]
+
+How difficult is it to port the GNU/Hurd system to run on another architecture?
+
+The GNU/Hurd system consists of [[/Hurd]] servers running as user-space
+processes on top of the [[GNU Mach|microkernel/mach/gnumach]] microkernel. The
+system functionality is usually accessed through the
+[[POSIX|posix_compatibility]] interface that is provided by [[/glibc]] and
+[[/libpthread]].
+
+A whole-system port involves touching all these components, with varying
+degree, of course.
+
+For a CPU architecture port, the microkernel is the most involved part,
+followed by glibc and the threading library.
+
+The original [[microkernel/Mach]] microkernel was portable to a number of
+architectures which were a lot more popular at the beginning of the 1990s than
+they are now.
+
+The GNU/Hurd system is currently available for the x86 architecture. This
+includes emulators such as [[hurd/running/QEMU]] (or KVM), or
+[[hurd/running/VirtualBox]]. Besides this, there is a port for the [[Xen
+domU|microkernel/mach/gnumach/ports/xen]] *sub-architecture*.
+
+Further on, there are some [[unfinished porting
+attempts|microkernel/mach/gnumach/ports]] for the Alpha, MIPS and PowerPC
+architectures. These have not been completed due to little developer interest.
+
+Another option is to do the port at a different layer: port the Hurd servers to
+not run on the GNU Mach microkernel, but instead on top of [[another
+microkernel|which_microkernel]]. Or, even by providing a Mach emulation layer
+on top of a monolithic kernel. For example, there could be a port for [[having
+Mach run as a POSIX user-space process|open_issues/mach_on_top_of_posix]], or
+by implementing the [[Mach IPC|microkernel/mach/ipc]] facility (as well as
+several others) as Linux kernel modules. While there have been some
+experiments, no such port has been completed yet.
diff --git a/faq/which_microkernel/discussion.mdwn b/faq/which_microkernel/discussion.mdwn
index 9ef3b915..7ea131e9 100644
--- a/faq/which_microkernel/discussion.mdwn
+++ b/faq/which_microkernel/discussion.mdwn
@@ -1,3 +1,20 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+[[!toc]]
+
+
+# Olaf, 2011-04-10
+
This version mixes up three distinct phases: rewrite from scratch; redesign;
own microkernel.
@@ -31,3 +48,47 @@ to the Coyotos port -- which after all is what the title promises...
All in all, I still think my text was better. If you have any conerns with it,
please discuss them...
+
+
+# IRC, freenode, #hurd, 2011-09-27
+
+ <cjuner> Does anyone remember/know if/why not seL4 was considered for
+ hurd-l4? Is anyone aware of any differences between seL4 and coyotos?
+
+
+## 2011-09-28
+
+ <antrik> cjuner: the seL4 project was only at the beginning when the
+ decision was made. so was Coyotos, but Shapiro promised back then that
+ building on EROS, it would be done very fast (a promise he couldn't keep
+ BTW); plus he convinced the people in question that it's safer to build
+ on his ideas...
+ <antrik> it doesn't really matter though, as by the time the ngHurd people
+ were through with Coyotos, they had already concluded that it doesn't
+ make sense to build upon *any* third-party microkernel
+ <cjuner> antrik, what was the problem with coyotos? what would be the
+ problem with sel4 today?
+ <cjuner> antrik, yes I did read the FAQ. It doesn't mention seL4 at all
+ (there isn't even much on the hurd-l4 mailing lists, I think that being
+ due to seL4 not having been released at that point?) and it does not
+ specify what problems they had with coyotos.
+ <antrik> cjuner: it doesn't? I thought it mentioned "newer L4 variants" or
+ something like that... but the text was rewritten a couple of times, so I
+ guess it got lost somewhere
+ <antrik> cjuner: unlike original L4, it's probably possible to implement a
+ system like the Hurd on top on seL4, just like on top of
+ Coyotos. however, foreign microkernels are always created with foreign
+ design ideas in mind; and building our own design around them is always
+ problematic. it's problematic with Mach, and it will be problematic with
+ any other third-party microkernel
+ <antrik> Coyotos specifically has different ideas about memory protection,
+ different ideas about task startup, different ideas about memory
+ handling, and different ideas about resource allocation
+ <cjuner> antrik, do any specific problems of the foreign designs,
+ specifically of seL4 or coyotos come to mind?
+ <antrik> cjuner: I mentioned several for Coyotos. I don't have enough
+ understanding of the matters to go into much more detail
+ <antrik> (and I suspect you don't have enough understanding of these
+ matters to take away anything useful from more detail ;-) )
+ <antrik> I could try to explain the issues I mentioned for Coyotos (as far
+ as I understand them), but would that really help you?
diff --git a/glibc.mdwn b/glibc.mdwn
index c7313c1c..54a0e19f 100644
--- a/glibc.mdwn
+++ b/glibc.mdwn
@@ -34,6 +34,9 @@ This is different to the Linux port, where most simple POSIX interfaces are in
fact simply forwarded to/implemented as [[system_call]]s.
+## [[Maintenance|open_issues/glibc]]
+
+
# Implementation Details
* [[hurd/glibc/Hurd-specific API]]
@@ -65,6 +68,11 @@ Some of these are well-known as [[UNIX]] [[system call]]s.
* [[poll]]
+# Debugging
+
+Some hints for [[debugging]].
+
+
# Open Issues
[[!inline pages=tag/open_issue_glibc raw=yes feeds=no]]
diff --git a/glibc/debugging.mdwn b/glibc/debugging.mdwn
new file mode 100644
index 00000000..6b035c12
--- /dev/null
+++ b/glibc/debugging.mdwn
@@ -0,0 +1,11 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+ * [[ld_so_console]]
diff --git a/glibc/debugging/ld_so_console.mdwn b/glibc/debugging/ld_so_console.mdwn
new file mode 100644
index 00000000..b3d1762f
--- /dev/null
+++ b/glibc/debugging/ld_so_console.mdwn
@@ -0,0 +1,20 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+If you need to debug something in the early `ld.so` startup, and can't refrain
+from good old `printf` debugging, there is a caveat: the available API in
+`ld.so` is rather limited. See the few functions is `dl-sysdep.c`. For
+example, there's a private `__libc_write`, which you should be able to use for
+writing to FD stderr -- but, at early `ld.so` startup, this isn't usable as
+`_hurd_init_dtable` is still all zeros, etc. To get you started, here is a
+simple [[dl-sysdep.c.patch]] to get access to the Mach console.
+
+Can this be integrated with the other debugging printf functions from
+`elf/dl-misc.c` (`_dl_debug_vdprintf`) ([[!taglink open_issue_glibc]])?
diff --git a/glibc/debugging/ld_so_console/dl-sysdep.c.patch b/glibc/debugging/ld_so_console/dl-sysdep.c.patch
new file mode 100644
index 00000000..eec8d7c6
--- /dev/null
+++ b/glibc/debugging/ld_so_console/dl-sysdep.c.patch
@@ -0,0 +1,63 @@
+diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
+index ff37add..7e6d352 100644
+--- a/sysdeps/mach/hurd/dl-sysdep.c
++++ b/sysdeps/mach/hurd/dl-sysdep.c
+@@ -44,6 +44,8 @@
+ #include <dl-machine.h>
+ #include <dl-procinfo.h>
+
++#include <device/device.h>
++
+ extern void __mach_init (void);
+
+ extern int _dl_argc;
+@@ -116,6 +118,29 @@ static void fmh(void) {
+ /* XXX loser kludge for vm_map kernel bug */
+ #endif
+
++/* Return a port to the Mach console. */
++static mach_port_t
++get_console (void)
++{
++ mach_port_t device_master, console;
++ /* We cannot use __get_privileged_ports (from hurd/privports.c), as this
++ drags in too much other libc stuff. */
++#if 0
++ error_t err = __get_privileged_ports (0, &device_master);
++
++ if (err)
++ return MACH_PORT_NULL;
++#else
++ error_t err = 0;
++ device_master = 2;
++#endif
++
++ err = __device_open (device_master, D_WRITE | D_READ, "console", &console);
++ if (err)
++ return MACH_PORT_NULL;
++
++ return console;
++}
+
+ ElfW(Addr)
+ _dl_sysdep_start (void **start_argptr,
+@@ -256,6 +279,20 @@ unfmh(); /* XXX */
+ /* Set up so we can do RPCs. */
+ __mach_init ();
+
++ /* Open the Mach console so that any message can actually be seen. This is
++ particularly useful at boot time, when started by the bootstrap file
++ system. */
++ mach_port_t console = get_console ();
++ if (console != MACH_PORT_NULL)
++ {
++ /* stdout = mach_open_devstream (console, "w"); */
++ /* stderr = stdout; */
++ /* if (stdout != NULL) */
++ /* printf ("Hello, world!\n"); */
++ int written;
++ __device_write_inband (console, 0, 0, "hello, world!\n", 14, &written);
++ }
++
+ /* Initialize frequently used global variable. */
+ GLRO(dl_pagesize) = __getpagesize (); \ No newline at end of file
diff --git a/glibc/discussion.mdwn b/glibc/discussion.mdwn
index 17b4fb32..fac300ea 100644
--- a/glibc/discussion.mdwn
+++ b/glibc/discussion.mdwn
@@ -14,7 +14,7 @@ License|/fdl]]."]]"""]]
## IRC, freenode, #hurd, 2011-06-11
-[[!tag open_issue_documentation]]
+[[!tag open_issue_documentation open_issue_glibc]]
<civodul> youpi: local-tls-support.diff removes libc-tsd.h; what's the
rationale?
diff --git a/glibc/fork.mdwn b/glibc/fork.mdwn
index 496dc743..9417106d 100644
--- a/glibc/fork.mdwn
+++ b/glibc/fork.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -50,6 +50,9 @@ they have patches for software packages, to avoid using `fork` followed by
__mach_port_allocate_name ([...]); if (err == KERN_NAME_EXISTS)` code
([[!taglink open_issue_glibc]]).
+ * Can we/why can't we use the concept of *inherited ports
+ array*s/`mach_ports_register` ([[!taglink open_issue_glibc]])?
+
## Related
diff --git a/hurd/debugging/glibc.mdwn b/hurd/debugging/glibc.mdwn
index e9817132..028d4fe4 100644
--- a/hurd/debugging/glibc.mdwn
+++ b/hurd/debugging/glibc.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,8 +6,8 @@ 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]]."]]"""]]
Here are some hints about how to approach testing after nontrivial changes to
glibc have been done.
@@ -29,7 +29,7 @@ newly created libraries and loader actually work: they'll be used to run the
Unless cross-compiling, the next thing you'll probably want to do
is running the test suite, or parts of it.
-There is a list of [[known failures|open_issues/glibc_testsuite]].
+There is a list of [[known failures|open_issues/glibc]].
---
diff --git a/hurd/documentation/translator_primer.mdwn b/hurd/documentation/translator_primer.mdwn
index 4586a8e6..e5c8c160 100644
--- a/hurd/documentation/translator_primer.mdwn
+++ b/hurd/documentation/translator_primer.mdwn
@@ -41,7 +41,11 @@ Then you setup the translator /hurd/hello in the file/node hello.
After that you check the contents of the file, and the translator returns "Hello World!".
-To finish it, you tell the translator to go away from the file "hello" via "settrans -g hello" and verify that now the file is empty again.
+To finish it,
+you remove the translator from the file "hello"
+(and tell any active running instances to go away)
+via "settrans -g hello".
+Having done that, verify that now the file is empty again.
### Transparent FTP
diff --git a/hurd/io_path.mdwn b/hurd/io_path.mdwn
index 0d83a4ba..492edffe 100644
--- a/hurd/io_path.mdwn
+++ b/hurd/io_path.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2010, 2011 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
@@ -10,21 +11,77 @@ License|/fdl]]."]]"""]]
[[!meta title="I/O Path"]]
+[[!tag open_issue_documentation]] <!-- Someone still needs to make a pass over
+this text. -->
-# read
+[[!toc]]
- * [[glibc]]'s `read` is in `glibc/sysdeps/mach/hurd/read.c:__libc_read`.
- * That calls `glibc/hurd/fd-read.c:_hurd_fd_read()`.
+# `read`, [[libtrivfs]]
- * That calls `__io_read`, which is an [[RPC]], i.e., that actually results
- into the [[translator/ext2fs]] server calling
- `hurd/libdiskfs/io-read.c:diskfs_S_io_read`.
+[[glibc]]'s `read` is in `glibc/sysdeps/mach/hurd/read.c:__libc_read`.
- * That calls `_diskfs_rdwr_internal`, which calls
- `hurd/libpager/pager-memcpy.c:pager_memcpy`, which usually basically just
- tell the kernel to virtually project the memory object corresponding to the
- file in the caller process's memory. No read is actually done.
+A buffer (and its size) to store the to-be-read data in is supplied by the
+caller of `read`.
+
+> `__libc_read` calls `glibc/hurd/fd-read.c:_hurd_fd_read`.
+
+>> `_hurd_fd_read` calls `__io_read`, which is an [[RPC]]:
+>> `hurd/hurd/io.defs:io_read`.
+
+>>> Enter user-side RPC stub `glibc.obj/hurd/RPC_io_read.c:__io_read`. Process
+>>> stuff, switch to kernel, etc.
+
+(For example) [[translator/hello]] server, [[libtrivfs]]-based. Enter
+server-side RPC stub `hurd.obj/libtrivfs/ioServer.c:_Xio_read`. Process stuff,
+call `hurd/trans/hello.c:trivfs_S_io_read`.
+
+A 2048 byte buffer is provided.
+
+> `trivfs_S_io_read`. Depending on the internal state, either a new memory
+> region is set-up (and returned as out-of-line data), or the desired amount of
+> data is returned in-line.
+
+Back in `_Xio_read`.
+
+If the 2048 byte buffer is not decided to be used (out-of-line case or bigger
+than 2048 bytes case; server decides to instead provide a new memory region),
+the [[`dealloc`|microkernel/mach/mig/dealloc]] flag is being set, which causes
+Mach to unmap that memory region from the server's address space, i.e., doing a
+memory *move* from the server to the client.
+
+Leave server-side RPC stub `_Xio_read`.
+
+>>> Return from kernel, continue client-side RPC stub `io_read`. Have to copy
+>>> data. Three cases: out-of-line data (pass pointer to memory area);
+>>> returned more data than fits into the originally supplied buffer (allocate
+>>> new buffer, copy all data into it, pass pointer of new buffer); otherwise
+>>> copy as much data as is available into the originally supplied buffer.
+>>> I.e., in all cases *all* data which was provided by the server is made
+>>> available to the caller.
+
+>> Back in `_hurd_fd_read`. If a new buffer has been allocated previously, or
+>> the out-of-line mechanism has been used, the returned data now has to be
+>> copied into the originally supplied buffer. If the server returned more
+>> data than requested, this is a [[protocol_violation|EGRATUITOUS]].
+
+> Back in `__libc_read`.
+
+
+# `read`, [[hurd/translator/ext2fs]]/[[hurd/libdiskfs]]
+
+(For example) [[translator/ext2fs]] server, enter server-side RPC stub
+`hurd.obj/libdiskfs/ioServer.c:_Xio_read`. Process stuff, call
+`hurd/libdiskfs/io-read.c:diskfs_S_io_read`.
+
+A 2048 byte buffer is provided.
+
+> `diskfs_S_io_read` calls `_diskfs_rdwr_internal`.
+
+>> That calls `hurd/libpager/pager-memcpy.c:pager_memcpy`, which usually
+>> basically just tells the kernel to virtually project the memory object
+>> corresponding to the file in the caller process's memory. No read is
+>> actually done.
* Then, when the process actually reads the data, the kernel gets the user
page fault (`gnumach/i386/i386/trap.c:user_trap`), which calls `vm_fault`,
@@ -50,7 +107,3 @@ License|/fdl]]."]]"""]]
nice overview of the related layering inside the Linux kernel,
including the VFS layer, page cache and directory entry cache
(dcache).
-
-
-[[!tag open_issue_documentation]] <!-- Merge kepler.SCHWINGE/master-io_path.
--->
diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn
index 8b7dcf02..efc8982a 100644
--- a/hurd/porting/guidelines.mdwn
+++ b/hurd/porting/guidelines.mdwn
@@ -22,6 +22,66 @@ There is a separate page about [[System_API_Limitations]].
You may ask on the [[mailing lists/bug-hurd]] mailing list for details or
questions about fixing bugs.
+## <a name="GNU build system"> GNU build system </a>
+
+For a good overview of the components in the GNU build system, see
+<http://en.wikipedia.org/wiki/GNU_build_system> and
+<http://www.gnu.org/s/hello/manual/autoconf/index.html>.
+
+The GNU build system distinguishes between 'build', 'host' and 'target' machines.
+The 'build' machine is where compilers are run, the 'host' machine where the package
+being built will run, and for cross compiling the 'target' machine, on which the compiler
+built will generate code for.
+
+When using GNU autotools to configure a package config.guess and config.sub from autotools-dev
+are used to find out the build machine identity: CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM.
+For GNU/Hurd config.guess gives 'i686-unknown-gnu0.3'. Sometimes a quadruple is used
+adding KERNEL, e.g. for Linux on an amd64: 'x86_64-unknown-linux-gnu'. This
+is however actually a triple, it just happens that the operating system part
+unfortunately contains a '-'. config.sub is used to
+canonicalize on these triplets, e.g. config.sub i686-gnu gives 'i686-pc-gnu'.
+
+On Debian systems the build Makefile is debian/rules and some Debian packages will set $host to
+'i486-pc-gnu'. This is accomplished with the 'dpkg-architecture -qDEB_HOST_GNU_TYPE' construct
+forwarded to configure in debian/rules, e.g. configure --host=$DEB_HOST_GNU_TYPE.
+Another way to set $build, $host etc is via the Debian dh_auto_configure script from the debhelper
+package which uses the Perl code autoconf.pm to find out these variables.
+
+## <a name="autoconf"> Fixing configure.{ac,in} </a>
+
+The GNU/Hurd (and GNU/kFreeBSD) toolchain is extremely close to the GNU/Linux toolchain.
+configure.ac thus very often just needs to be fixed by using the same cases as Linux, that is, turn
+
+ switch "$host_os" in
+ case linux*)
+
+into
+
+ switch "$host_os" in
+ case linux*|k*bsd-gnu*|gnu*)
+
+for a host_os case statement, or
+
+ switch "$host" in
+ case *-linux*)
+
+into
+
+ switch "$host" in
+ case *-linux*|*-k*bsd-gnu*|*-gnu*)
+
+If separate case is needed, make sure to put *-gnu* *after* *-linux*:
+
+ switch "$host" in
+ case *-linux*|*-k*bsd-gnu*)
+ something;;
+
+ case *-gnu*)
+ something else;;
+
+because else *-gnu* would catch i386-pc-linux-gnu for instance...
+
+Note: some of such statements are not from the source package itself, but from aclocal.m4 which is actually from libtool. In such case, the package simply needs to be re-libtoolize-d.
## <a name="Undefined_bits_confname_h_tt_mac"> Undefined `bits/confname.h` macros (`PIPE_BUF`, ...) </a>
@@ -192,7 +252,11 @@ then be found.
## <a name="SA_SIGINFO"> `SA_SIGINFO` </a>
-Not implemented, packages may be fixed for working around this: use void sighandler(int num) prototype and sa_handler field.
+Implemented by Jeremie Koenig, pending upload in Debian eglibc 2.13-19.
+
+## <a name="SA_NOCLDWAIT"> `SA_NOCLDWAIT` </a>
+
+Not implemented yet.
## <a name="SOL_IP"> `SOL_IP` </a>
@@ -279,9 +343,13 @@ With Python, you can use the [`errno` module](http://docs.python.org/library/err
err.errno == errno.ENOENT:
...
-## <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` </a>
+## <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`
+
+## <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>
-These are often used (from lame rgrep results) instead of their standard equivalents: `sys/types.h` (or `stdint.h` for fixed-size types), `limits.h`, `endian.h`, `sys/ioctl.h`.
+These are often used (from lame rgrep results) instead of their standard equivalents: `sys/types.h` (or `stdint.h` for fixed-size types), `limits.h`, `endian.h`, `sys/ioctl.h`, `sys/soundcard.h`
## <a name="linux_features"> Missing `sys/*.h`, `linux/*.h`</a>
diff --git a/hurd/porting/system_api_limitations.mdwn b/hurd/porting/system_api_limitations.mdwn
index 2fac456e..1615ccc0 100644
--- a/hurd/porting/system_api_limitations.mdwn
+++ b/hurd/porting/system_api_limitations.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2003, 2004, 2005, 2009, 2010 Free Software
+[[!meta copyright="Copyright © 2003, 2004, 2005, 2009, 2010, 2011 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -22,8 +22,6 @@ These are the known system API limits that have porting implications.
**_[\#47998](http://bugs.debian.org/47998): `msgget` IPC not implemented_**
-**_[\#184565](http://bugs.debian.org/184565): libc0.3: missing shm\* functions (from `<sys/shm.h>`)_**<br />**breaks:** cdrtools<br />**error:** warning: shm\* is not implemented and will always fail
-
**_[[nice() doesn't work|open_issues/nice_vs_mach_thread_priorities]]_**.
**_[\#187391](http://bugs.debian.org/187391): libc0.3-dev: `sockaddr_un.sun_path` can't be assigned a `const char *` when compiling with g++_**<br />**breaks:** fam, gail<br />**status:** maybe this should be in [[PortingIssues]] (see _long_ bug log)
diff --git a/hurd/running/debian/after_install.mdwn b/hurd/running/debian/after_install.mdwn
index 62fd3574..36c37281 100644
--- a/hurd/running/debian/after_install.mdwn
+++ b/hurd/running/debian/after_install.mdwn
@@ -42,10 +42,10 @@ you. See [[GRUB]]'s page for this.
# Setup `apt-get`
Sometimes getting `apt-get` to work is not straightforward. Good mirrors to
-put in `/etc/apt/sources.list` are (as of Jan 2007):
+put in `/etc/apt/sources.list` are:
- deb http://mirrors.kernel.org/debian unstable main contrib
- deb-src http://mirrors.kernel.org/debian unstable main contrib
+ deb http://ftp.debian.org/debian unstable main contrib
+ deb-src http://ftp.debian.org/debian unstable main contrib
deb http://ftp.debian-ports.org/debian unreleased main
deb-src http://ftp.debian-ports.org/debian unreleased main
@@ -75,38 +75,11 @@ You can also call the Hurd console manually with the proper arguments:
console -d vga -d pc_kbd --repeat=kbd -d pc_mouse --repeat=mouse \
-d generic_speaker -c /dev/vcs
- cd /dev
- ln -s cons/kbd .
- ln -s cons/mouse .
-
# [[Hurd/DebianXorg]]
You first must have setup the virtual console. See above.
-Assuming you've installed WindowMaker and have tried running `startx` already:
-
- [/etc/xorg.conf]
-
- Section "Module"
- # Load "dri"
- # Load "speedo"
- .
- .
- .
- EndSection
-
- Section "InputDevice"
- Identifier "Configured Mouse"
- Driver "mouse"
- Option "CorePointer"
- Option "Device" "/dev/mouse"
- Option "Protocol" "osmouse"
- EndSection
-
-Make sure not to have the `Emulate3Buttons` and `ZAxisMapping` settings set, as
-they lead to problems with e.g. dragging windows around.
-
# What about package XYZ?
See if you can find a useful tip in [[package_troubleshooting]].
diff --git a/hurd/running/debian/dhcp.mdwn b/hurd/running/debian/dhcp.mdwn
index f316981d..8d351aae 100644
--- a/hurd/running/debian/dhcp.mdwn
+++ b/hurd/running/debian/dhcp.mdwn
@@ -22,3 +22,10 @@ fatal.
Debian GNU/Hurd doesn't currently execute's Debian standard `/etc/rcS.d/*` boot
scripts, but has its own `/libexec/rc` script -- which integrates scripts from
`/etc/rc.boot/` instead.
+
+
+# Open Issues
+
+ * [[!debbug 616290]]
+
+ * [[Proper Hurdy DHCP support|hurd/translator/pfinet/dhcp]]
diff --git a/hurd/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn
index 66348dd9..1dd8a4db 100644
--- a/hurd/running/debian/patch_submission.mdwn
+++ b/hurd/running/debian/patch_submission.mdwn
@@ -1,12 +1,13 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2011 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]]."]]"""]]
If you fixed a Debian package which *FTBFS* (fails to build from source), you
should submit the patch so that all users can profit from your work.
@@ -27,14 +28,24 @@ either use the reportbug tool, or just simple mail. In any case, you should
follow these guidelines:
* The submission address is <submit@bugs.debian.org>.
+
* The mail's subject (which will become the bug's title) should be
`SOURCE-PACKAGE: FTBFS on hurd-i386: REASON`.
+
* The first lines of the mail's body (the so-called *pseudo-header*):
- * `Severity: important` -- not *serious*.
- * `Version: VERSION` -- the version of the source package in unstable.
- * `Tags: patch` -- as/if you include a ready-to-be-applied patch.
- * `User: debian-hurd@lists.debian.org`
- * `Usertags: hurd`
+
+ Package: PACKAGE
+ Severity: important -- not *serious*
+ Version: VERSION -- the version of the source package in unstable.
+ Tags: patch -- if you include a ready-to-be-applied patch.
+ User: debian-hurd@lists.debian.org
+ Usertags: hurd
+ X-Debbugs-CC: debian-hurd@lists.debian.org
+
+The last three lines are used to to change the current *User* to the specified
+value (the default is the email sender/from address), specify *Usertags* to add
+the specified tags for the current user, and *X-Debbugs-CC* so that the
+[[mailing list|mailing_lists/debian-hurd]] knows about your report.
In the bug description, mention that the package fails to build on hurd-i386
and (if possible) quote the failure. If possible, point to the failing build
diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn
index 343707fa..b2812750 100644
--- a/hurd/running/qemu.mdwn
+++ b/hurd/running/qemu.mdwn
@@ -105,6 +105,13 @@ kernels, compared to 2.6.32: [[!debbug 634149]]. We're preparing on a change
on our side to work around this.
+# HAP/EPT/NPT acceleration
+
+Performance will be yet better if HAP (EPT or NPT) is available:
+
+ $ grep ept /proc/cpuinfo
+ $ grep npt /proc/cpuinfo
+
# Installing Debian/Hurd with QEMU using the Debian installer
Note: If you have hardware support, replace the qemu commands below with kvm, e.g. qemu-ing -> kvm-img.
diff --git a/hurd/subhurd/discussion.mdwn b/hurd/subhurd/discussion.mdwn
new file mode 100644
index 00000000..3449edcd
--- /dev/null
+++ b/hurd/subhurd/discussion.mdwn
@@ -0,0 +1,69 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+IRC, freenode, #hurd, 2011-08-10
+
+ < braunr> youpi: aren't sub-hurds actually called "neighbor hurds" ?
+ < youpi> no idea
+ < braunr> i also don't understand the recursive property
+ < youpi> a user can run a subhurd
+ < neal> braunr: What don't you understand?
+ < youpi> a user in a subhurd can run a subhurd
+ < youpi> etc
+ < braunr> i'm not sure it's really recursive
+ < neal> youpi: At some point it was observed that you don't strictly
+ require any resources from the "parent" Hurd.
+ < neal> youpi: i.e., you could have two Hurds running "directly" on Mach
+ < youpi> sure
+ < neal> youpi: Hence neighbor rather than sub
+ < youpi> but you need to be root for that
+ < youpi> or else your subhurd can't do much
+ < neal> you need to have been authorized to use the required resouces
+ < youpi> which is about the same :)
+ < neal> depends how they are delegated
+ < youpi> that's still asking root for something
+ < neal> if you say so
+ < youpi> which is most probably not the default
+ < braunr> well, either you depend on the parent to do things on your
+ behalf, or you directly have some privileged ports
+ < braunr> i'd agree with youpi that it's pretty much having root access at
+ some point
+ < youpi> and usually you don't have privileged ports by default :)
+ < braunr> but we don't need to restrict the presentation to user only sub
+ hurds
+ < braunr> people don't mind switching to root on their desktops
+ < braunr> which is one of the reasons they ask "what does the hurd really
+ bring me today ?"
+ < braunr> but being able to run truely separate hurds or recursive hurds is
+ something nice most OSes can't do easily
+ < youpi> switching to root becomes a *pain* when you have to do it 1 every
+ two commands
+ < braunr> yes sure, but some people might just say you're clumsy :x
+ < neal> The question is: can I start a sub-hurd from within another hurd
+ that survives the parent's hurd exiting? The answer is yes. The reason
+ is that the sub-hurd can be constructed in such a way that it does not
+ rely on the parent. In this case, the parent does not necessarily
+ subjugate the sub-hurd. Hence the name.
+ < braunr> but that's out of the scope of the discussion
+ < antrik> using the traditional, root only mechanism, neighbour-hurd is
+ indeed a more appropriate term. apart from the initial terminal being
+ proxied to the parent system by the boot program, they are really equal
+ < antrik> with zhengda's work on non-root subhurds, you rely on various
+ proxies in the parent system to access privileged resources; so subhurd
+ is indeed a more appropriate term in this case
+ < antrik> (not only non-root subhurds in fact... when using any of the
+ proxies, such as the network multiplexer -- even if still running as
+ root...)
+ < youpi> antrik: you could still give a com0 port as terminal
+ < antrik> I don't think that's actually supported in the boot
+ program... but it doesn't really matter, as you don't really need the
+ terminal anyways -- you can always log in through the network
diff --git a/hurd/translator/discussion.mdwn b/hurd/translator/discussion.mdwn
new file mode 100644
index 00000000..e038ba84
--- /dev/null
+++ b/hurd/translator/discussion.mdwn
@@ -0,0 +1,25 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation open_issue_hurd]]
+
+IRC, freenode, #hurd, 2011-08-25:
+
+ < frhodes> how can I replace an existing running server with a new one
+ without rebooting?
+ < antrik> frhodes: depends. if other critical things depend on it, you
+ can't. there is no mechanism to serialize and pass on the open sessions
+ < antrik> in some situations, you can orphan the old translator while
+ starting a new one, so the previous clients will stay with the old one
+ while new one will get the new one
+ < antrik> obviously that only works for things that aren't exclusive by
+ nature
+ < antrik> in some cases, you might even be able simply to remove the old
+ translator... but obviously only for non-critical stuff :-)
diff --git a/hurd/translator/pfinet/dhcp.mdwn b/hurd/translator/pfinet/dhcp.mdwn
index 17776fa5..456d0c84 100644
--- a/hurd/translator/pfinet/dhcp.mdwn
+++ b/hurd/translator/pfinet/dhcp.mdwn
@@ -1,27 +1,33 @@
+[[!meta copyright="Copyright © 2002, 2003, 2005, 2011 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]]."]]"""]]
+
[[!tag open_issue_hurd]]
+[[Debian GNU/Hurd|running/debian]] has some script hackery to get
+[[running/debian/DHCP]] going.
+
+---
+
According to the following thread, no port should be needed since all the patches that have been applied, including the one concerning the thread. In fact, the thread finishes without concluding whether the patch has been applied or not. You can grab it in the thread, anyway.
[Link to thread](http://lists.gnu.org/archive/html/bug-hurd/2005-01/msg00025.html)
The thread starts at Jan 4th 2005 until Jan 6th and is only retaken at April 14th in [this thread](http://lists.gnu.org/archive/html/bug-hurd/2005-01/msg00025.html).
--- [[Main/ThadeuCascardo]] - 29 Sep 2005
-
-No DHCP client has been ported to the Hurd yet.
-
[This](http://mail.gnu.org/archive/html/help-hurd/2003-10/msg00016.html) thread on help-hurd has a little more info on what's still needed for DHCP.
--- [[Main/GregBuchholz]] - 09 Oct 2003
-
Found this [message](http://mail.gnu.org/archive/html/bug-hurd/2003-08/msg00045.html) about DHCP capabilities in the Hurd encouraging.
--- [[Main/GregBuchholz]] - 03 Sep 2003
-
* Tom Hart began a [discussion ](http://mail.gnu.org/pipermail/help-hurd/2002-October/006643.html) of 14 posts in Oct 2002.
--- [[Main/GrantBow]] - 20 Oct 2002
-
The beginnings of a DHCP translator is available in the Hurd sources on Savannah: [hurd/trans/pump.c](http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd/trans/pump.c?rev=1.3&content-type=text/vnd.viewcvs-markup)
Unfortunately our current TCP/IP stack, the pfinet translator, lacks support for the AF\_PACKET interface as well as sending packets with an IP address of 0.0.0.0.
@@ -38,10 +44,3 @@ Neal Walfield on bug-hurd replies:
> Anyone else know the status of getting these compiled and functional?
We need to be able to send to the DHCP server with ip address 0.0.0.0.
-
--- [[Main/JoachimNilsson]] - 12 Nov 2002
-
----
-
-[[Debian GNU/Hurd|running/debian]] has some script hackery to get
-[[running/debian/DHCP]] going.
diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn
index b66af7de..135b4a88 100644
--- a/hurd/translator/procfs/jkoenig/discussion.mdwn
+++ b/hurd/translator/procfs/jkoenig/discussion.mdwn
@@ -166,3 +166,50 @@ IRC, freenode, #hurd, 2011-03-28
mentoring the previous procfs implementation
<antrik> (though I never got around to look at his buggy code...)
<jkoenig> ok
+
+IRC, freenode, #hurd, 2011-07-22
+
+ <pinotree> hm, why /proc/$pid/stat is 600 instead of 644 of linux?
+ <jkoenig> pinotree, it reveals information which, while not that sensitive,
+ would not be available to users through the normal proc interface.
+ <jkoenig> (it's available through the ps command which is setuid root)
+ <jkoenig> we discussed at some point making it 644, IIRC.
+ <pinotree> hm, then why is it not a problem on eg linux?
+ <jkoenig> (btw you can change it with the -s option.)
+ <jkoenig> pinotree, it's not a problem because the information is not that
+ sensitive, but when rewriting procfs I preferred to play it self and
+ consider it's not procfs' job to decide what is sensitive or not.
+ <jkoenig> IIRC it's not sensitive but you need the task port to query it.
+ <jkoenig> like, thread times or something.
+ <pinotree> status is 644 though
+ <jkoenig> but status contains information which anyone can ask to the proc
+ server anyway, I think.
+
+
+# `/proc/mounts`, `/proc/$pid/mounts`
+
+IRC, freenode, #hurd, 2011-07-25
+
+ < pinotree> jkoenig: btw, what do you think about providing empty
+ /proc/mounts and /proc/$pid/mounts files?
+ < jkoenig> pinotree, I guess one would have to evaluate the consequences
+ wrt. existing use cases (in other words, "I have absolutely no clue
+ whatsoever about whether that would be desirable" :-)
+ < jkoenig> pinotree, the thing is, an error message like "/proc/mounts: No
+ such file or directory" is rather explicit, whereas errors which would be
+ caused by missing data in /proc/mounts would maybe be harder to track
+ < braunr> this seems reasonable though
+ < braunr> there already are many servers with e.g. grsecurity or chrooted
+ environments where mounts is empty
+ < pinotree> well, currently we also have an empty mtab
+ < braunr> pinotree: but what do you need that for ?
+ < braunr> pinotree: the init system ?
+ < pinotree> and the mnt C api already returns no entries (or it bails out,
+ i don't remember)
+ < pinotree> not a strict need
+
+
+# `/proc/[PID]/auxv`, `/proc/[PID]/exe`, `/proc/[PID]/mem`
+
+Needed by glibc's `pldd` tool (commit
+11988f8f9656042c3dfd9002ac85dff33173b9bd).
diff --git a/hurd/translator/tmpfs/tmpfs_vs_defpager.mdwn b/hurd/translator/tmpfs/tmpfs_vs_defpager.mdwn
index f0eb473c..ecebe662 100644
--- a/hurd/translator/tmpfs/tmpfs_vs_defpager.mdwn
+++ b/hurd/translator/tmpfs/tmpfs_vs_defpager.mdwn
@@ -8,9 +8,10 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
-[[!tag open_issue_hurd]]
+[[!tag open_issue_gnumach open_issue_hurd]]
-\#hurd, freenode, 2010
+
+# IRC, freenode, #hurd, 2010
<slpz> humm... why does tmpfs try to use the default pager? that's a bad
idea, and probably will never work correctly...
@@ -120,3 +121,113 @@ License|/fdl]]."]]"""]]
memory, gives them a reference to the default pager by calling
vm_object_pager_create
<slpz> this is not really important, but worth noting ;-)
+
+
+# IRC, freenode, #hurd, 2011-09-28
+
+ <slpz> mcsim: "Fix tmpfs" task should be called "Fix default pager" :-)
+ <slpz> mcsim: I've been thinking about modifying tmpfs to actually have
+ it's own storeio based backend, even if a tmpfs with storage sounds a bit
+ stupid.
+ <slpz> mcsim: but I don't like the idea of having translators messing up
+ with the default pager...
+ <antrik> slpz: messing up?...
+ <slpz> antrik: in the sense of creating a number of arbitrarily sized
+ objects
+ <antrik> slpz: well, it doesn't really matter much whether a process
+ indirectly eats up arbitrary amounts of swap through tmpfs, or directly
+ through vm_allocate()...
+ <antrik> though admittedly it's harder to implement resource limits with
+ tmpfs
+ <slpz> antrik: but I've talked about having its own storeio device as
+ backend. This way Mach can pageout memory to tmpfs if it's needed.
+ <mcsim> Do I understand correctly that the goal of tmpfs task is to create
+ tmpfs in RAM?
+ <slpz> mcsim: It is. But it also needs some kind of backend, just in case
+ it's ordered to page out data to free some system's memory.
+ <slpz> mcsim: Nowadays, this backend is another translator that acts as
+ default pager for the whole system
+ <antrik> slpz: pageout memory to tmpfs? not sure what you mean
+ <slpz> antrik: I mean tmpfs acting as its own pager
+ <antrik> slpz: you mean tmpfs not using the swap partition, but some other
+ backing store?
+ <slpz> antrik: Yes.
+
+See also: [[open_issues/resource_management_problems/pagers]].
+
+ <antrik> slpz: I don't think an extra backing store for tmpfs is a good
+ idea. the whole point of tmpfs is not having a backing store... TBH, I'd
+ even like to see a single backing store for anonymous memory and named
+ files
+ <slpz> antrik: But you need a backing store, even if it's the default pager
+ :-)
+ <slpz> antrik: The question is, Should users share the same backing store
+ (swap space) or provide their own?
+ <antrik> slpz: not sure what you mean by "users" in this context :-)
+ <slpz> antrik: Real users with the ability of setting tmpfs translators
+ <antrik> essentially, I'd like to have a single partition that contains
+ both swap space and the main filesystem (at least /tmp, but probably also
+ all of /run, and possibly even /home...)
+ <antrik> but that's a bit off-topic :-)
+ <antrik> well, ideally all storage should be accounted to a user,
+ regardless whether it's swapped out anonymous storage, temporary named
+ files, or permanent files
+ <slpz> antrik: you could use a file as backend for tmpfs
+ <antrik> slpz: what's the point of using tmpfs then? :-)
+ <pinotree> (and then store the file in another tmpfs)
+ <slpz> antrik: mach-defpager could be modified to use storeio instead of
+ Mach's device_* operations, but by the way things work right now, that
+ could be dangerous, IMHO
+ <antrik> pinotree: hehe
+ <pinotree> .. recursive tmpfs'es ;)
+ <antrik> slpz: hm, sounds interesting
+ <slpz> antrik: tmpfs would try to keep data in memory always it's possible
+ (not calling m_o_lock_request would do the trick), but if memory is
+ scarce an Mach starts paging out, it would write it to that
+ file/device/whatever
+ <antrik> ideally, all storage used by system tasks for swapped out
+ anonymous memory as well as temporary named files would end up on the
+ /run partition; while all storage used by users would end up in /home/*
+ <antrik> if users share a partition, some explicit storage accounting would
+ be useful too...
+ <antrik> slpz: is that any different from what "normal" filesystems do?...
+ <antrik> (and *should* it be different?...)
+ <slpz> antrik: Yes, as most FS try to synchronize to disk at a reasonable
+ rate, to prevent data losses.
+ <slpz> antrik: tmpfs would be a FS that wouldn't synchronize until it's
+ forced to do that (which, by the way, it's what's currently happening
+ with everyone that uses the default pager).
+ <antrik> slpz: hm, good point...
+ <slpz> antrik: Also, metadata in never written to disk, only kept in memory
+ (which saves a lot of I/O, too).
+ <slpz> antrik: In fact, we would be doing the same as every other kernel
+ does, but doing it explicitly :-)
+ <antrik> I see the use in separating precious data (in permanent named
+ files) from temporary state (anonymous memory and temporary named files)
+ -- but I'm not sure whether having a completely separate FS for the
+ temporary data is the right approach for that...
+ <slpz> antrik: And giving the user the option to specify its own storage,
+ so we don't limit him to the size established for swap by the super-user.
+ <antrik> either way, that would be a rather radical change... still would
+ be good to fix tmpfs as it is first if possible
+ <antrik> as for limited swap, that's precisely why I'd prefer not to have
+ an extra swap partition at all...
+ <slpz> antrik: It's not much o fa change, it's how it works right now, with
+ the exception of replacing the default pager with its own.
+ <slpz> antrik: I think it's just a matter of 10-20 hours, as
+ much. Including testing.
+ <slpz> antrik: It could be forked with another name, though :-)
+ <antrik> slpz: I don't mean radical change in the implementation... but a
+ radical change in the way it would be used
+ <slpz> antrik: I suggest "almosttmpfs" as the name for the forked one :-P
+ <antrik> hehe
+ <antrik> how about lazyfs?
+ <slpz> antrik: That sound good to me, but probably we should use a more
+ descriptive name :-)
+
+
+## 2011-09-29
+
+ <tschwinge> slpz, antrik: There is a defpager in the Hurd code. It is not
+ currently being used, and likely incomplete. It is backed by libstore.
+ I have never looked at it.
diff --git a/microkernel/discussion.mdwn b/microkernel/discussion.mdwn
new file mode 100644
index 00000000..a5a73e18
--- /dev/null
+++ b/microkernel/discussion.mdwn
@@ -0,0 +1,24 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+IRC, freenode, #hurd, 2011-07-26:
+
+ < antrik> Tekk_`: regarding microkernels: the basic idea, and really the
+ *only* fundamental difference, is that they isolate things in separate
+ address spaces. everything else goes back to this.
+ < antrik> benefits from the isolation generally fall into two groups: more
+ robustness (main focus of Minix3), and more flexibility (main focus of
+ Hurd)
+ < antrik> while it might also encourage some other good design choices,
+ these are secondary effects: such choices can also be implemented in a
+ monolithic architecture -- and not necessarily harder. just less obvious
+ in some cases...
diff --git a/microkernel/eros.mdwn b/microkernel/eros.mdwn
new file mode 100644
index 00000000..be1ca90a
--- /dev/null
+++ b/microkernel/eros.mdwn
@@ -0,0 +1,15 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+<http://www.eros-os.org/>
+
+TODO. <http://www.eros-os.org/essays/reliability/paper.html>
diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn
index d33ef25a..1badf712 100644
--- a/microkernel/mach/gnumach/boot_trace.mdwn
+++ b/microkernel/mach/gnumach/boot_trace.mdwn
@@ -1,12 +1,13 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2011 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]]."]]"""]]
`if NCPUS > 1` stuff is not being considered so far.
@@ -215,6 +216,12 @@ is included in the section entitled
>> kern/bootstrap.c: bootstrap\_create
+>>> The [[grub/multiboot]] modules have been put somewhere into memory by
+>>> [[GRUB]]. The boot scripts are parsed. The modules' ELF image's `PT_LOAD`
+>>> sections are \`\`read'' (that is, `vm_allocate` and `copyout`) and turned
+>>> into real [[task]]s. The multiboot modules' memory regions can be
+>>> deallocated then.
+
>> [...]
>> vm\_pageout
diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn
index 99e566bb..427fb083 100644
--- a/microkernel/mach/gnumach/building.mdwn
+++ b/microkernel/mach/gnumach/building.mdwn
@@ -1,3 +1,14 @@
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2011 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]]."]]"""]]
+
# Building [[GNU_Mach|gnumach]] from Source
If you want to build the [[GNU_Mach|gnumach]] kernel yourself instead of just using a
@@ -8,55 +19,32 @@ enabled) is around 50 MiB.
## Getting the Source Code
-### Developers's RCS
-
-See <http://savannah.gnu.org/cvs/?group=hurd>.
-
- $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach
-
-(Most probably you want to get hold of the *GNU Mach 1 branch* and not the
-trunk, which is also what we've done above.)
-
-You then have to create the automatically generatable files:
-
- $ ( cd gnumach && autoreconf --install )
+You can either use the git repository (see <http://git.savannah.gnu.org/cgit/hurd/>),
-### What Debian is currently using
+ $ git clone http://git.savannah.gnu.org/cgit/hurd/gnumach.git/
-See [here](http://packages.debian.net/source/unstable/gnumach).
+... or get the Debian sources, if you're using Debian. (See
+[here](http://packages.debian.net/source/unstable/gnumach).)
$ apt-get source gnumach
Please see the Debian [[running/debian/FAQ]] before using `apt-get source`.
-## Preparing for the Build
+## On Debian Systems:
-### ... on Debian systems
+### Preparing for the Build
-Building GNU Mach requires the *build-essential* and *fakeroot* packages, their
-dependencies and additional packages that are specified by the source gnumach
-package:
+Building GNU Mach requires the *build-essential* and *fakeroot* packages,
+and some additional dependencies specified by the gnumach source package:
# apt-get install build-essential fakeroot
# apt-get build-dep gnumach
-### ... on non-Debian systems
+### Building and Installing ... Debian `.deb` files
-Apart from the case that you only want to install GNU Mach's header files (see
-below), building GNU Mach requires you to have the Mach Interface Generator
-installed. See [[building_MIG|mig/gnu_mig/building]] about how to do that, then come
-back here.
+Change into the directory with the downloaded / unpacked GNU Mach sources,
-Additionally, building GNU Mach requires a C compiler, a standard C library and
-your favourite flavor of awk (gawk) and GNU make.
-
-## Building and Installing
-
-### ... Debian `.deb` files
-
-Change into the directory with the downloaded / unpacked GNU Mach sources, e.g.
-
- $ cd gnumach-20050801
+ $ cd gnumach-XXXXXXXX
Start the build process with
@@ -64,48 +52,68 @@ Start the build process with
[[GNU_Mach|gnumach]] is now building. To use the new kernel, you must install the
resulting `.deb` package which is located one directory above the build
-directory and has a similar name as the build directory, e.g.
+directory and has a similar name as the build directory:
- # dpkg -i ../gnumach_20050801-4_hurd-i386.deb
+ # dpkg -i ../gnumach_XXXXXXXX-X_hurd-i386.deb
You can now reboot your computer and enjoy the new kernel.
-### [TODO]
+## On non-Debian Systems:
-GNU Mach should be built in a separate directory:
+### Preparing for the Build
- $ mkdir gnumach-build
- $ cd gnumach-build
+Building GNU Mach requires a C compiler, a _static_ 32 bit standard C library,
+your favourite flavor of awk (gawk) and GNU make.
-Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure
-it:
+First, create the configuartion files:
- $ [...]/gnumach-1-branch/configure [TODO]
+ $ cd gnumach
+ $ autoreconf --install
-Build the kernel image:
+GNU Mach (and the associated headers) need be built in a separate build directory:
- $ make gnumach.gz
+ $ mkdir build
+ $ cd build
-Optionally run the (tiny) test suite:
+Run configure:
- $ make check
+ $ ../configure --prefix=
-You can then install and use `gnumach.gz`.
+If building on a 64 bit host system,
+you need a number of additional settings to force a 32 bit build:
-[TODO.]
+ $ CPP='gcc -m32 -E -x c -undef -ansi' CC='gcc -m32' LD='ld -melf_i386' ../configure --prefix= --host=i686-unknown-linux-gnu
-### Installing only the Header Files
+### Installing the Header Files First
-GNU Mach should be built in a separate directory:
+In order to build GNU Mach, you will need a working MIG.
+Building MIG in turn requires the GNU Mach header files to be already present.
+So for bootstrapping MIG, you have to install the Mach headers first,
+for example into `~/gnu/include/`:
- $ mkdir gnumach-build
- $ cd gnumach-build
+ $ make DESTDIR=~/gnu install-data
-Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure
-it:
+Now you can [[build_MIG|mig/gnu_mig/building]].
+Once you are done with that, come back here to finish the Mach build.
- $ [...]/gnumach-1-branch/configure --prefix=
+### Building and Installing
-Install the header files into e.g. `~/gnu/include/`:
+With MIG present, now build the kernel image:
+
+ $ make gnumach.gz
+
+Optionally run the (tiny) test suite:
+
+ $ make check
+
+It's a good idea to make a backup of the previously installed kernel, in case
+you can't boot using the new one. That way, you can restore it after booting
+from a rescue media (or mounting the disk image used by your vm).
+
+ # cp /boot/gnumach.gz /boot/gnumach.gz.bak
+
+GNU Mach can now be moved into place, typically `/boot/gnumach.gz`, so that you
+can boot your system with the new kernel.
+
+ # cp gnumach.gz /boot
- $ make DESTDIR=~/gnu install-data
diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn
index 2f52adf8..f657e7cc 100644
--- a/microkernel/mach/gnumach/debugging.mdwn
+++ b/microkernel/mach/gnumach/debugging.mdwn
@@ -9,15 +9,70 @@ 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]]."]]"""]]
+Here are some hints to debug with GNU Mach.
+
+[[!toc levels=2]]
+
+
+# Kernel Debugger
+
Mach has a built-in kernel debugger.
[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html).
+First, make sure to enable it. Either by using a pre-packaged gnumach-image-something-dbg, or by passing --enable-kdb to the ./configure invocation.
+
+Then, reproduce the issue again. If something like a kernel trap happens, you will end up in the GNU Mach debugger. Otherwise, type control-alt-d to make Mach enter it by hand.
+
+If you are running in kvm or qemu, it is convenient to use the curses frontend to be able to copy/paste.
+
+To get the register values, type
+
+ show registers
+
+To get a backtrace, type trace, which will print both function return addresses and function parameters, such as
+
+ 0x107cf1(8088488,5e,40000008,2aa008,0)
+ 0x1071bc(0,0,0,0,0)
+ 0x106831(24fe00,2000,b,800,0)
+
+Run the addr2line tool on the return addresses:
+
+ $ addr2line -i -f -e /boot/gnumach 0x107cf1 0x1071bc 0x106831
+
+This will print the source code lines of the backtrace.
+
+To examine the backtrace of some given thread, use
+
+ show all thread/u
+
+to get the whole listing of all tasks and threads. You can then use trace/t to trace a specific thread.
+
+Unfortunately, userland and kernelland use the same range of addresses, so one can not get userland traces easily. The Xen port uses different ranges, and in that case one can use trace/u to also get the userland trace.
+
+To examine a variable, use nm /boot/gnumach to get the address of the variable (e.g. 0x123400), and use
+
+ x 0x123400
+
+to read it. One can also write to it by using
+
+ w 0x123400
+
+Another interesting feature is watching a variable, by using
+
+ watch 0x123400
+
+and then type continue, to let Mach continue execution. The debugger will be entered again on any change in that variable. The watch is implemented in hardware, so it does not disturb or slow down execution at all.
+
+
+# GDB in QEMU
When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly
[use GDB on the running
kernel](http://www.nongnu.org/qemu/qemu-doc.html#SEC48).
+# Code Inside the Kernel
+
Alternatively you can use an approach like this one: add the following code
snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top
of the function, and modify the code as needed.
@@ -56,6 +111,8 @@ This is especially useful if you need to manually trigger some stuff inside the
running kernel, as with the *D1* example.
+## Writing to the Screen Buffer
+
If you're doing real low level debugging, you might want to put variations of
the following snipped into the code, this code will write a `#` character at
line `[LINE]`, column `[COLUMN]` on the screen:
@@ -69,6 +126,8 @@ some place when running the kernel inside QEMU, as QEMU somehow decides not to
update its display buffer anymore under certain conditions.
+# Halting the CPU and Examining Registers
+
IRC, freenode, #hurd, 2011-07-14:
<braunr> one ugly trick i use when printf isn't available is to halt the
diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
index 2152c079..874f5f07 100644
--- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
+++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,8 +6,8 @@ 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]]."]]"""]]
# CPU Architecture
@@ -29,7 +29,7 @@ Read about further [[ports]].
# Memory
-GNU Mach will use a maximum of 1 GiB of RAM. If your system has more,
+GNU Mach will use a maximum of 1.7 GiB of RAM. If your system has more,
the surplus will silently be ignored. (In past times, this would hinder GNU
Mach from booting at all, but this has been fixed, so you no longer need to
apply GRUB's `uppermem` directive.)
@@ -68,10 +68,11 @@ All common IDE drives should work. Some drive geometries do not work,
e.g. drives with hundreds of GiB of storage space, see [[!GNU_Savannah_bug
26425]].
-[[!toggle id="SATA" text="SATA drives may work in compatibility mode."]]
-<!-- Sure? --[[tschwinge]] -->
-[[!toggleable id="SATA" text="""
+## SATA
+
+SATA drives may work in compatibility mode.
+
This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach
couldn't connect to the hard disk, e.g., in a SATA system without IDE
compatibility mode:
@@ -81,7 +82,7 @@ compatibility mode:
There *may* be an option in the system's BIOS setup to configure enabling such
a compatibility mode.
-"""]]
+
# Device Drivers
diff --git a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn
index 69ca3190..2b65956a 100644
--- a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn
+++ b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn
@@ -1,4 +1,33 @@
+[[!meta copyright="Copyright © 2007, 2008, 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
Further information may still be found on
<http://www.nongnu.org/thug/gnumach_hardware.html>
and could perhaps be incorporated into that page.
--[[tschwinge]]
+
+
+# SATA
+
+IRC, freenode, +hurd, 2011-07-24
+
+ <braunr> youpi: concerning the ide compatibility problem, it seems some
+ bioses provide several modes
+ <braunr> youpi: "legacy ide" and "native ide"
+ <braunr> i don't know what native ide really means, but when debugging ide
+ probing in gnumach, it just looks like there is nothing to detect
+ <braunr> and even in this mode, linux uses the ahci driver
+ <youpi> apparently native means it still uses the IDE protocol, but
+ possibly with other IRQs
+ <youpi> i.e. you need a PCI driver to handle that
+ <braunr> ok
diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn
index afc91d7a..f114460c 100644
--- a/microkernel/mach/gnumach/ports.mdwn
+++ b/microkernel/mach/gnumach/ports.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,8 +6,8 @@ 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]]."]]"""]]
* x86. This is the main port.
@@ -20,3 +20,5 @@ is included in the section entitled
started, but isn't in a usable state either.
* MIPS. Status completely unknown.
+
+ * [[open_issues/Mach_on_Top_of_POSIX]]. Status unknown.
diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn
index af431c92..5fe73c06 100644
--- a/microkernel/mach/gnumach/ports/xen.mdwn
+++ b/microkernel/mach/gnumach/ports/xen.mdwn
@@ -79,20 +79,40 @@ Then use
The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`.
/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6 or later-based one!
+# `pv-grub`
-# Miscellaneous
+From Xen 4.0 on you can run the GNU Hurd directly using `pv-grub`,
+without the need to [prepare a special bootstrap
+image](http://youpibouh.thefreecat.org/hurd-xen/build_hurd-modules) (like an
+initrd).
-[[Internals]].
+Download http://youpibouh.thefreecat.org/hurd-xen/pv-grub.gz into /boot, and use the following for instance:
-[[!GNU_Savannah_task 5468]], [[!GNU_Savannah_task 6584]].
+ kernel = "/boot/pv-grub.gz"
+ memory = 256
+ disk = ['phy:sda4,hda,w']
+ extra = "(hd0,1)/boot/grub/menu.lst"
+ vif = [ '' ]
+extra is now the path to the grub config file.
-# `pv-grub`
+# Partitions
-From Xen 4.0 on you'll be able to run the GNU Hurd directly using `pv-grub`,
-without the need to [prepare a special bootstrap
-image](http://youpibouh.thefreecat.org/hurd-xen/build_hurd-modules) (like an
-initrd).
+You will need the following notation for the gnumach root= parameter:
+
+root=part:2:device:hd0
+
+to access the second partition of hd0, for instance.
+
+You will also need to use the parted storeio module for the /dev entries, for instance:
+
+settrans -fgap /dev/hd0s1 /hurd/storeio -T typed part:1:device:hd0
+
+# Miscellaneous
+
+[[Internals]].
+
+[[!GNU_Savannah_task 5468]], [[!GNU_Savannah_task 6584]].
# Host-side Writeback Caching
diff --git a/microkernel/mach/memory_object/discussion.mdwn b/microkernel/mach/memory_object/discussion.mdwn
new file mode 100644
index 00000000..a2a1514b
--- /dev/null
+++ b/microkernel/mach/memory_object/discussion.mdwn
@@ -0,0 +1,67 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation open_issue_gnumach]]
+
+IRC, freenode, #hurd, 2011-08-05:
+
+ < neal> braunr: For instance, memory objects are great as they allow you to
+ specify the mapping policy in user space.
+ < neal> braunr: But, the policy for determining the eviction order is
+ realized by Mach
+ < neal> braunr: And user-space has no control
+ < braunr> are you referring to the page cache lru approximation and stuff
+ like resource containers ?
+ < neal> I'm not sure what you mean by page cache lru appoximateion
+ < braunr> the kernel eviction policy :)
+ < neal> that's an implementation detail
+
+IRC, freenode, #hurd, 2011-09-05:
+
+ <braunr> mach isn't a true modern microkernel, it handles a lot of
+ resources, such as high level virtual memory and cpu time
+ <braunr> for example, the page replacement mechanism can't be implemented
+ outside the kernel
+ <braunr> yet, it provides nothing to userspace server to easily allocate
+ resources on behalf of clients
+ <braunr> so, when a thread calls an RPC, the cpu time used to run that RPC
+ is accounted on the server task
+ <braunr> the hurd uses lots of external memory managers
+
+[[external_pager_mechanism]].
+
+ <braunr> but they can't decide how to interact with the page cache
+ <braunr> the kernel handles the page cache, and initiates the requests to
+ the pagers
+ <cjuner> braunr, why can't they decide that?
+ <braunr> because it's implemented in the kernel
+ <braunr> and there is nothing provided by mach to do that some other way
+ <slpz_> braunr: you probably already know this, but the problem with client
+ requests being accounted on behalf the server, is fixed in Mach with
+ Migrating Threads
+
+[[open_issues/mach_migrating_threads]].
+
+ <braunr> slpz_: migrating threads only fix the issue for the resources
+ managed by mach, not the external servers
+ <braunr> slpz_: but it's a (imo necessary) step to completely solve the
+ issue
+ <braunr> in addition to being a great feature for performance (lighter
+ context switchers, less state to track)
+ <braunr> it also helps priority inversion problems
+ <slpz_> braunr: I was referring just to cpu-time, but I agree with you an
+ interface change is needed for external pagers
+ <braunr> slpz_: servers in general, not necessarily pagers
+ <slpz_> as a way to mitigate the effect of Mach paging out to external
+ pagers, the folks at OSF implemented an "advisory pageout", so servers
+ are "warned" that they should start paging out, and can decide which
+ pages are going to be flushed by themselves
+
+[[open_issues/resource_management_problems]].
diff --git a/microkernel/mach/mig/gnu_mig/building.mdwn b/microkernel/mach/mig/gnu_mig/building.mdwn
index f92f7dbe..e7d3c150 100644
--- a/microkernel/mach/mig/gnu_mig/building.mdwn
+++ b/microkernel/mach/mig/gnu_mig/building.mdwn
@@ -1,15 +1,28 @@
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2011 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]]."]]"""]]
+
# <a name="Building_the_Mach_Interface_Gene"> Building the Mach Interface Generator from Source </a>
-If you want to build the Mach Interface Generator yourself instead of just using a pre-built package, follow these instructions.
+If you want to build the Mach Interface Generator yourself instead of just
+using a pre-built package, follow these instructions.
## <a name="Getting_the_Source_Code"> Getting the Source Code </a>
You can chose between getting the [sources from the developers'
-RCS](http://savannah.gnu.org/cvs/?group=hurd):
+RCS](http://git.savannah.gnu.org/cgit/hurd/):
- $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig
+ $ git clone http://git.savannah.gnu.org/cgit/hurd/mig.git/
-... or (if you are working on a Debian system) the ones that are used for the [current Debian mig package](http://packages.debian.net/source/unstable/mig):
+... or (if you are working on a Debian system) get the sources that are used for the
+[current Debian mig package](http://packages.debian.net/source/unstable/mig):
$ apt-get source mig
@@ -17,53 +30,70 @@ Please see the Debian [[hurd/running/debian/FAQ]] before using _apt-get source_.
The unpacked source tree is around 1 MiB, and the build tree also is around 1 MiB.
-## <a name="Preparing_for_the_Build"> Preparing for the Build </a>
+## <a name="_on_Debian_systems"> On Debian Systems: </a>
-### <a name="_on_Debian_systems"> ... on Debian systems </a>
+### <a name="Preparing_for_the_Build"> Preparing for the Build </a>
-Building the Mach Interface Generator requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source mig package:
+Building MIG requires the *build-essential* and *fakeroot* packages,
+and some additional dependencies specified by the mig source package:
# apt-get install build-essential fakeroot
# apt-get build-dep mig
-### <a name="_on_non_Debian_systems"> ... on non-Debian systems </a>
+### <a name="Building_and_Installing"> Building and Installing </a> <a name="_a_deb_file"> ... a _.deb_ file </a>
-Building the Mach Interface Generator requires a C compiler, a standard C library (with corresponding header files) and your favourite flavor of awk (gawk), yacc (bison), lex (flex) and make.
+Change into the directory with the downloaded / unpacked MIG sources:
-Additionally, you need to have GNU Mach's header files installed. See
-[[mach/gnumach/building]] about how to do that, then come back here.
+ $ cd mig-X.X.X.XX
-## <a name="Building_and_Installing"> Building and Installing </a>
+Start the build process:
-### <a name="_a_deb_file"> ... a _.deb_ file </a>
+ $ dpkg-buildpackage -us -uc -b -rfakeroot
-Change into the directory with the downloaded / unpacked MIG sources (_mig-1.3.1.99_):
+This will create a _.deb_ package in the parent directory,
+which you can then install on your system.
- $ cd mig-1.3.1.99
+## <a name="_on_non_Debian_systems"> On non-Debian Systems: </a>
-Start the build process:
+### <a name="Preparing_for_the_Build"> Preparing for the Build </a>
- $ dpkg-buildpackage -us -uc -b -rfakeroot
+Building the Mach Interface Generator requires a C compiler, a standard 32 bit
+C library (with corresponding header files), your favourite flavor of awk
+(gawk), yacc (bison), lex (flex) and make.
-You can then install / distribute the _.deb_ file which will drop out one directory above the current one.
+Additionally, you need to have GNU Mach's header files installed. See
+[[building GNU Mach|mach/gnumach/building]] about how to do that, then come back here.
+
+### <a name="Building_and_Installing"> Building and Installing </a>
+
+First, generate the configuration files:
-### <a name="_TODO_"> [TODO] </a>
+ $ cd mig
+ $ autoreconf --install
-The Mach Interface Generator has to be built in a separate directory:
+The Mach Interface Generator has to be built in a separate build directory:
- $ mkdir mig-build
- $ cd mig-build
+ $ mkdir build
+ $ cd build
+
+Find the base directory where you installed GNU Mach's header files and where
+you now intend to install the Mach Interface Generator (e.g. _~/gnu_), and run
+configure:
+
+ $ GNU=~/gnu
+ $ TARGET_CPPFLAGS=-I"$GNU"/include ../configure --prefix="$GNU"
-Find the root directory where you installed GNU Mach's header files and where you now intend to install the Mach Interface Generator (_~/gnu_) and the path to your Mach Interface Generator sources (\_[...]/mig) and configure it:
+If you are building on a 64 bit machine, you need to add a --host option:
$ GNU=~/gnu
- $ TARGET_CPPFLAGS=-I"$GNU"/include [...]/mig/configure --prefix="$GNU"
+ $ TARGET_CPPFLAGS=-I"$GNU"/include ../configure --prefix="$GNU" --host=i686-unknown-linux-gnu
-Build and install the Mach Interface Generator into _$GNU_, i.e. _~/gnu/_ in our example:
+Build and install the Mach Interface Generator into _$GNU_ (i.e. _~/gnu/_ in our example):
$ make all install
-To make your _mig_ binary easily available, you should append something like the following to e.g. your _~/.bash\_profile_:
+To make your _mig_ binary easily available, you should append something like
+the following to e.g. your _~/.bash\_profile_:
PATH=~/gnu/bin:$PATH
export PATH
diff --git a/microkernel/mach/mig/gnu_mig/building/discussion.mdwn b/microkernel/mach/mig/gnu_mig/building/discussion.mdwn
new file mode 100644
index 00000000..d7636158
--- /dev/null
+++ b/microkernel/mach/mig/gnu_mig/building/discussion.mdwn
@@ -0,0 +1,16 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+# Non-cross-compiling
+
+[[!tag open_issue_mig]]
+
+[[samuelthibault]] mentioned that I should make clear what compiler options, etc. are only needed if compiling on a 64 bit computer. However, I don't know if the --host=i686... option is needed, here and when making gnumach, in case there may be some other default on 32 bit computers? --[[sudoman]]
+
diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn
index ba2e22c2..26b55456 100644
--- a/microkernel/mach/port.mdwn
+++ b/microkernel/mach/port.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2002, 2003, 2007, 2008, 2010 Free Software
+[[!meta copyright="Copyright © 2002, 2003, 2007, 2008, 2010, 2011 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -10,8 +10,8 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[Mach]] *port*s are [[capabilities|capability]], and are also essentially
-similar to [[UNIX]] pipes. They are communication channels, implemented by
-kernel queues.
+similar to [[UNIX]] pipes. They are unforgeable communication channels,
+implemented by kernel queues.
Each port has associated with it one *receive right* and one or more *send
right*s and *send-once right*s. That is, there is one receiver and one or more
@@ -39,7 +39,7 @@ like [[UNIX file descriptors|unix/file_descriptor]]. Only these local names
can be used by [[thread]]s for invoking operations on ports, threads do not
deal with port rights directly.
-For that, each task has associated with it a *port address_space*, or *port
+For that, each task has associated with it a *port address space*, or *port
name space*. All ports are addressed via this table. Each task thus has its
own private [[naming_context]] for port rights.
@@ -49,7 +49,7 @@ send-once right. These messages are (probably) queued and when the server task
tries to receive messages by having a [[thread]] use its port receive right, it
gets the message(s). This is called [[IPC]].
-Port rights themselvse can be [[delegate]]d in a [[message]], too. When the
+Port rights themselves can be [[delegate]]d in a [[message]], too. When the
receiver dequeues the message, the right is made available to it.
The delivery of [[message]]s is reliable and strictly ordered. When a
@@ -58,20 +58,24 @@ The delivery of [[message]]s is reliable and strictly ordered. When a
intermediate messages that are sent by other threads.
Ports are objects that are implemented by the [[kernel]], and they are
-kernel-protected resources. There is no way for a [[task]] to do anything with
-a port unless it have corresponding port right.
+kernel-protected resources: they are unforgeable, and there is no way for a
+[[task]] to do anything with a port unless it have corresponding port right.
Due to this, ports are globally unique. This makes them ideal for constituting
-system-wide *object references*. For example, the [[RPC]] system as used by
-the GNU Hurd works by invoking *methods* on such object references. The
-available methods are defined in [[hurd/interface]] files, and are processes by
-the [[MIG]] tool.
+system-wide *object references*. (Fruther reading:
+{{$capability#wikipedia_object-capability_model}}.) For example, the [[RPC]]
+system as used by the GNU Hurd works by invoking *methods* on such object
+references. The available methods are defined in [[hurd/interface]] files, and
+are processes by the [[MIG]] tool.
Invoking an operation on a port does not transfer the current execution control
to the receiver, but instead is an asynchronous operation. For this, and
especially in a [[RPC]] system, the sender may include a *reply port* using a
send-once right, and synchronize (block) on that one.
+
+# Port Set
+
A [[thread]] can only block receiving on a single port. To work around this,
the concept of a *port set* was introduced. A receive right can be added to
(at most) one port set. These port sets look like port receive rights, but
diff --git a/open_issues/active_vs_passive_symlink_translator.mdwn b/open_issues/active_vs_passive_symlink_translator.mdwn
new file mode 100644
index 00000000..cbd9b077
--- /dev/null
+++ b/open_issues/active_vs_passive_symlink_translator.mdwn
@@ -0,0 +1,44 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation open_issue_hurd]]
+
+IRC, freenode, #hurd, 2011-07-25
+
+Set an *active* (not *passive*) `/hurd/symlink` translator on a node.
+
+ < antrik> that's strange: the file doesn't look like a symlink in ls output
+ -- but it behaves like one...
+ < antrik> using firmlink instead of symlink yields less confusing
+ results...
+ < gg0> how does it behaves like one?
+ < antrik> perhaps the symlink mechanism only fully works for a passive
+ symlink translator, not an active one
+ < antrik> gg0: if you access it, you actually get the linked file contents
+ < antrik> it's only ls that's confused
+ < antrik> it might be because ls -l uses O_NOFOLLOW, which results in
+ O_NOTRANS, so it sees the original file contents
+ < gg0> stat says it's still 12264 bytes
+ < antrik> stat also seems to use NOFOLLOW
+ < antrik> wc will show the "correct" size
+ < gg0> ok
+ < antrik> if you set it as passive translator, it works as expected... but
+ then you better don't forget removing it, as it won't go away after a
+ reboot :-)
+ < antrik> but as I said, you can just ignore the weirdness -- or use
+ firmlink instead
+ < antrik> the thing is, if symlink is set as a passive translator, the
+ filesystem handles it specially, so it really looks like a symlink to
+ programs using NOFOLLOW. that's not the case with an active symlink... so
+ programs using NOFOLLOW simply do not see the active symlink at all
+ < antrik> firmlink OTOH ignores NOFOLLOW, so you always see the linked-to
+ file
+
+ * [[hurd/translator/short-circuiting]]
diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn
index 1c3bc022..63ee780d 100644
--- a/open_issues/binutils.mdwn
+++ b/open_issues/binutils.mdwn
@@ -30,8 +30,8 @@ though, as explained below.
# Configuration
-Last reviewed up to the [[Git mirror's 57a1a9e822a763aeeb3ea66fd493aa58888c76c4
-(2011-07-03) sources|source_repositories/binutils]].
+Last reviewed up to the [[Git mirror's 31fd5921fbb68f2b5ca4ca416cb5f5f7657b3f4d
+(2011-09-04) sources|source_repositories/binutils]].
* Globally
@@ -108,7 +108,7 @@ Last reviewed up to the [[Git mirror's 57a1a9e822a763aeeb3ea66fd493aa58888c76c4
# Build
Here's a log of a binutils build run; this is from our [[Git repository's
-6d4a384ae978b7a423f2cd51b396d366b9000df2 (2011-07-03)
+6f6a8f5b0176a3e5a8fdd80627d2422831738c7e (2011-09-04)
sources|source_repositories/binutils]], run on kepler.SCHWINGE and
coulomb.SCHWINGE.
@@ -121,7 +121,7 @@ coulomb.SCHWINGE.
Different hosts may default to different shells and compiler versions; thus
harmonized.
-This takes up around 100 MiB, and needs roughly 4 min on kepler.SCHWINGE, and
+This takes up around 110 MiB, and needs roughly 4 min on kepler.SCHWINGE and
15 min on coulomb.SCHWINGE.
@@ -141,7 +141,7 @@ formats, and more emulation vectors.
$ make install 2>&1 | tee log_install
[...]
-This takes up around 60 MiB, and needs roughly 1 min on kepler.SCHWINGE, and 5
+This takes up around 70 MiB, and needs roughly 1 min on kepler.SCHWINGE and 5
min on coulomb.SCHWINGE.
@@ -159,94 +159,16 @@ min on coulomb.SCHWINGE.
$ make -k check
[...]
-This needs roughly 5 min on kepler.SCHWINGE, and 15 min on coulomb.SCHWINGE.
+This needs roughly 5 min on kepler.SCHWINGE and 15 min on coulomb.SCHWINGE.
$ ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd/master.build/*/*.sum hurd/master.build/*/*/*.sum | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > open_issues/binutils/sum_linux
$ ssh coulomb.SCHWINGE 'cd tmp/binutils/ && cat hurd/master.build/*/*.sum hurd/master.build/*/*/*.sum | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > open_issues/binutils/sum_hurd
Comparing the results files, [[sum_linux]] to [[sum_hurd]]:
- $ diff -u -F ^Running open_issues/binutils/sum_linux open_issues/binutils/sum_hurd
- --- open_issues/binutils/sum_linux 2011-07-03 23:54:19.000000000 +0200
- +++ open_issues/binutils/sum_hurd 2011-07-03 23:54:25.000000000 +0200
- @@ -1,5 +1,5 @@
- -Test Run By thomas on Sun Jul 3 18:33:54 2011
- -Native configuration is i686-pc-linux-gnu
- +Test Run By thomas on Sun Jul 3 19:11:49 2011
- +Native configuration is i686-unknown-gnu0.3
-
- === binutils tests ===
-
- @@ -119,8 +119,8 @@ Running [...]/hurd/master/binutils/tests
-
- # of expected passes 88
- # of unsupported tests 2
- -Test Run By thomas on Sun Jul 3 18:34:31 2011
- -Native configuration is i686-pc-linux-gnu
- +Test Run By thomas on Sun Jul 3 19:14:02 2011
- +Native configuration is i686-unknown-gnu0.3
-
- === ld tests ===
-
- @@ -324,10 +324,10 @@ Running [...]/hurd/master/ld/testsuite/l
- PASS: PIE init array
- PASS: PIE fini array
- PASS: PIE init array mixed
- -PASS: static preinit array
- -PASS: static init array
- -PASS: static fini array
- -PASS: static init array mixed
- +XFAIL: static preinit array
- +XFAIL: static init array
- +XFAIL: static fini array
- +XFAIL: static init array mixed
- Running [...]/hurd/master/ld/testsuite/ld-elf/exclude.exp ...
- PASS: ld link shared library
- PASS: ld export symbols from archive
- @@ -581,8 +581,8 @@ Running [...]/hurd/master/ld/testsuite/l
- PASS: ELF DSO weak func last DSO
- PASS: ELF weak func first
- PASS: ELF weak func last
- -PASS: ELF weak func first DSO
- -PASS: ELF weak func last DSO
- +XFAIL: ELF weak func first DSO
- +XFAIL: ELF weak func last DSO
- PASS: ELF DSO weak data first
- PASS: ELF DSO weak data last
- PASS: ELF DSO weak data first DSO
- @@ -593,10 +593,10 @@ Running [...]/hurd/master/ld/testsuite/l
- PASS: ELF weak data last
- PASS: ELF weak data first common
- PASS: ELF weak data last common
- -PASS: ELF weak data first DSO
- -PASS: ELF weak data last DSO
- -PASS: ELF weak data first DSO common
- -PASS: ELF weak data last DSO common
- +XFAIL: ELF weak data first DSO
- +XFAIL: ELF weak data last DSO
- +XFAIL: ELF weak data first DSO common
- +XFAIL: ELF weak data last DSO common
- PASS: ELF DSO small bar (size)
- PASS: ELF DSO foo with small bar (size)
- PASS: ELF DSO big bar (size)
- @@ -924,13 +924,13 @@ Running [...]/hurd/master/ld/testsuite/l
-
- === ld Summary ===
-
- -# of expected passes 660
- -# of expected failures 8
- +# of expected passes 650
- +# of expected failures 18
- # of untested testcases 6
- [...]/hurd/master.build/ld/ld-new 2.21.52.20110703
-
- -Test Run By thomas on Sun Jul 3 18:34:03 2011
- -Native configuration is i686-pc-linux-gnu
- +Test Run By thomas on Sun Jul 3 19:12:21 2011
- +Native configuration is i686-unknown-gnu0.3
-
- === gas tests ===
-
+ $ diff -u -F ^Running open_issues/binutils/sum_linux open_issues/binutils/sum_hurd > open_issues/binutils/sum.diff
+
+[[open_issues/binutils/sum.diff]].
## Analysis
diff --git a/open_issues/binutils/log_build.diff b/open_issues/binutils/log_build.diff
index 0350d32a..e270dbc6 100644
--- a/open_issues/binutils/log_build.diff
+++ b/open_issues/binutils/log_build.diff
@@ -1,5 +1,5 @@
---- /dev/fd/63 2011-07-03 19:28:40.826894462 +0200
-+++ /dev/fd/62 2011-07-03 19:28:40.830894333 +0200
+--- /dev/fd/63 2011-09-04 14:41:28.825654597 +0200
++++ /dev/fd/62 2011-09-04 14:41:28.825654597 +0200
@@ -276,12 +276,12 @@
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
@@ -29,10 +29,10 @@
checking for canonicalize_file_name... yes
-checking for dup3... yes
+checking for dup3... no
+ checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
- checking for gettimeofday... (cached) yes
-@@ -372,7 +372,7 @@
+@@ -374,7 +374,7 @@
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
@@ -41,7 +41,7 @@
checking for sysmp... no
checking for table... no
checking for times... yes
-@@ -457,7 +457,7 @@
+@@ -459,7 +459,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -50,7 +50,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -477,7 +477,7 @@
+@@ -479,7 +479,7 @@
checking if gcc-4.6 supports -c -o file.o... yes
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
@@ -59,7 +59,7 @@
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
-@@ -567,26 +567,26 @@
+@@ -569,26 +569,26 @@
checking sys/procfs.h usability... yes
checking sys/procfs.h presence... yes
checking for sys/procfs.h... yes
@@ -95,7 +95,7 @@
checking for win32_pstatus_t in sys/procfs.h... no
checking linker --as-needed support... yes
checking for cos in -lm... yes
-@@ -1219,36 +1219,15 @@
+@@ -1229,36 +1229,15 @@
/bin/dash ./libtool --tag=CC --mode=compile gcc-4.6 -DHAVE_CONFIG_H -I. -I../../master/bfd -I. -I../../master/bfd -I../../master/bfd/../include -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR='"[...]/hurd/master.build.install/bin"' -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT dwarf1.lo -MD -MP -MF .deps/dwarf1.Tpo -c -o dwarf1.lo ../../master/bfd/dwarf1.c
libtool: compile: gcc-4.6 -DHAVE_CONFIG_H -I. -I../../master/bfd -I. -I../../master/bfd -I../../master/bfd/../include -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR=\"[...]/hurd/master.build.install/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT dwarf1.lo -MD -MP -MF .deps/dwarf1.Tpo -c ../../master/bfd/dwarf1.c -o dwarf1.o
mv -f .deps/dwarf1.Tpo .deps/dwarf1.Plo
@@ -133,7 +133,7 @@
case " $f " in \
*" $i "*) ;; \
*) f="$f $i" ;; \
-@@ -1258,7 +1237,7 @@
+@@ -1268,7 +1247,7 @@
/bin/dash ../../master/bfd/../move-if-change tofiles ofiles
touch stamp-ofiles
/bin/dash ./libtool --tag=CC --mode=link gcc-4.6 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -release `cat libtool-soversion` -o libbfd.la -rpath [...]/hurd/master.build.install/lib archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo simple.lo compress.lo verilog.lo `cat ofiles` -lz
@@ -142,7 +142,7 @@
libtool: link: ranlib .libs/libbfd.a
libtool: link: ( cd ".libs" && rm -f "libbfd.la" && ln -s "../libbfd.la" "libbfd.la" )
libtooldir=`/bin/dash ./libtool --config | sed -n -e 's/^objdir=//p'`; \
-@@ -1325,7 +1304,7 @@
+@@ -1335,7 +1314,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -151,7 +151,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -1345,7 +1324,7 @@
+@@ -1355,7 +1334,7 @@
checking if gcc-4.6 supports -c -o file.o... yes
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
@@ -160,7 +160,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -1500,7 +1479,7 @@
+@@ -1510,7 +1489,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -169,7 +169,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -1521,7 +1500,7 @@
+@@ -1531,7 +1510,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -178,7 +178,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -1967,7 +1946,7 @@
+@@ -1977,7 +1956,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -187,7 +187,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -1988,7 +1967,7 @@
+@@ -1998,7 +1977,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -196,7 +196,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -2221,7 +2200,7 @@
+@@ -2231,7 +2210,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -205,7 +205,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -2242,7 +2221,7 @@
+@@ -2252,7 +2231,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -214,7 +214,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -2461,7 +2440,7 @@
+@@ -2471,7 +2450,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -223,7 +223,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -2482,7 +2461,7 @@
+@@ -2492,7 +2471,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -232,7 +232,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -2498,7 +2477,7 @@
+@@ -2508,7 +2487,7 @@
checking if g++-4.6 supports -c -o file.o... yes
checking if g++-4.6 supports -c -o file.o... (cached) yes
checking whether the g++-4.6 linker (ld) supports shared libraries... yes
@@ -241,7 +241,7 @@
checking how to hardcode library paths into programs... immediate
checking whether NLS is requested... yes
checking for catalogs to be installed... bg da es fi fr ga id ja sv tr vi zh_CN zh_TW
-@@ -2578,13 +2557,13 @@
+@@ -2588,13 +2567,13 @@
/bin/dash ../../master/ld/../ylwrap ../../master/ld/ldgram.y y.tab.c ldgram.c y.tab.h ldgram.h y.output ldgram.output -- bison -y -d
updating ldgram.h
(echo "/* This file is automatically generated. DO NOT EDIT! */";\
@@ -257,7 +257,7 @@
| sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
echo " &ld_${f}_emulation, \\"; \
done;\
-@@ -2696,17 +2675,11 @@
+@@ -2708,17 +2687,11 @@
gcc-4.6 -DHAVE_CONFIG_H -I. -I../../master/ld -I. -I../../master/ld -I../bfd -I../../master/ld/../bfd -I../../master/ld/../include -g -O2 -DENABLE_PLUGINS -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT plugin.o -MD -MP -MF .deps/plugin.Tpo -c -o plugin.o ../../master/ld/plugin.c
mv -f .deps/plugin.Tpo .deps/plugin.Po
cp ../../master/ld/emultempl/astring.sed stringify.sed
@@ -277,4 +277,4 @@
+libtool: link: gcc-4.6 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -o ld-new ldgram.o ldlex-wrapper.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o plugin.o eelf_i386.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a -lz -ldl
touch ld.1
perl ../../master/ld/../etc/texi2pod.pl -I ../../master/ld -I ../../master/ld/../bfd/doc -I ../bfd/doc -I ../../master/ld/../libiberty -Dman < ../../master/ld/ld.texinfo > ld.pod
- (pod2man --center="GNU Development Tools" --release="binutils-2.21.52" --section=1 ld.pod | \
+ (pod2man --center="GNU Development Tools" --release="binutils-2.21.53" --section=1 ld.pod | \
diff --git a/open_issues/binutils/log_install.diff b/open_issues/binutils/log_install.diff
index 83e01c55..cbf8b57d 100644
--- a/open_issues/binutils/log_install.diff
+++ b/open_issues/binutils/log_install.diff
@@ -1,5 +1,5 @@
---- /dev/fd/63 2011-07-03 19:28:49.538615011 +0200
-+++ /dev/fd/62 2011-07-03 19:28:49.538615011 +0200
+--- /dev/fd/63 2011-09-04 14:44:45.079020993 +0200
++++ /dev/fd/62 2011-09-04 14:44:45.079020993 +0200
@@ -68,7 +68,6 @@
libtool: install: /usr/bin/install -c .libs/libbfd.a [...]/hurd/master.build.install/lib/libbfd.a
libtool: install: chmod 644 [...]/hurd/master.build.install/lib/libbfd.a
diff --git a/open_issues/binutils/sum.diff b/open_issues/binutils/sum.diff
new file mode 100644
index 00000000..07b7f43e
--- /dev/null
+++ b/open_issues/binutils/sum.diff
@@ -0,0 +1,80 @@
+--- open_issues/binutils/sum_linux 2011-09-04 15:01:50.000000000 +0200
++++ open_issues/binutils/sum_hurd 2011-09-04 15:01:57.000000000 +0200
+@@ -1,5 +1,5 @@
+-Test Run By thomas on Sun Sep 4 14:45:17 2011
+-Native configuration is i686-pc-linux-gnu
++Test Run By thomas on Sun Sep 4 14:47:58 2011
++Native configuration is i686-unknown-gnu0.3
+
+ === binutils tests ===
+
+@@ -120,8 +120,8 @@ Running [...]/hurd/master/binutils/tests
+
+ # of expected passes 88
+ # of unsupported tests 3
+-Test Run By thomas on Sun Sep 4 14:45:54 2011
+-Native configuration is i686-pc-linux-gnu
++Test Run By thomas on Sun Sep 4 14:50:18 2011
++Native configuration is i686-unknown-gnu0.3
+
+ === ld tests ===
+
+@@ -325,10 +325,10 @@ Running [...]/hurd/master/ld/testsuite/l
+ PASS: PIE init array
+ PASS: PIE fini array
+ PASS: PIE init array mixed
+-PASS: static preinit array
+-PASS: static init array
+-PASS: static fini array
+-PASS: static init array mixed
++XFAIL: static preinit array
++XFAIL: static init array
++XFAIL: static fini array
++XFAIL: static init array mixed
+ Running [...]/hurd/master/ld/testsuite/ld-elf/exclude.exp ...
+ PASS: ld link shared library
+ PASS: ld export symbols from archive
+@@ -582,8 +582,8 @@ Running [...]/hurd/master/ld/testsuite/l
+ PASS: ELF DSO weak func last DSO
+ PASS: ELF weak func first
+ PASS: ELF weak func last
+-PASS: ELF weak func first DSO
+-PASS: ELF weak func last DSO
++XFAIL: ELF weak func first DSO
++XFAIL: ELF weak func last DSO
+ PASS: ELF DSO weak data first
+ PASS: ELF DSO weak data last
+ PASS: ELF DSO weak data first DSO
+@@ -594,10 +594,10 @@ Running [...]/hurd/master/ld/testsuite/l
+ PASS: ELF weak data last
+ PASS: ELF weak data first common
+ PASS: ELF weak data last common
+-PASS: ELF weak data first DSO
+-PASS: ELF weak data last DSO
+-PASS: ELF weak data first DSO common
+-PASS: ELF weak data last DSO common
++XFAIL: ELF weak data first DSO
++XFAIL: ELF weak data last DSO
++XFAIL: ELF weak data first DSO common
++XFAIL: ELF weak data last DSO common
+ PASS: ELF DSO small bar (size)
+ PASS: ELF DSO foo with small bar (size)
+ PASS: ELF DSO big bar (size)
+@@ -928,13 +928,13 @@ Running [...]/hurd/master/ld/testsuite/l
+
+ === ld Summary ===
+
+-# of expected passes 662
+-# of expected failures 8
++# of expected passes 652
++# of expected failures 18
+ # of untested testcases 6
+ [...]/hurd/master.build/ld/ld-new 2.21.53.20110904
+
+-Test Run By thomas on Sun Sep 4 14:45:29 2011
+-Native configuration is i686-pc-linux-gnu
++Test Run By thomas on Sun Sep 4 14:48:36 2011
++Native configuration is i686-unknown-gnu0.3
+
+ === gas tests ===
+
diff --git a/open_issues/binutils/sum_hurd b/open_issues/binutils/sum_hurd
index 42f4d331..140b5429 100644
--- a/open_issues/binutils/sum_hurd
+++ b/open_issues/binutils/sum_hurd
@@ -1,4 +1,4 @@
-Test Run By thomas on Sun Jul 3 19:11:49 2011
+Test Run By thomas on Sun Sep 4 14:47:58 2011
Native configuration is i686-unknown-gnu0.3
=== binutils tests ===
@@ -29,6 +29,7 @@ Running [...]/hurd/master/binutils/testsuite/binutils-all/elfedit.exp ...
UNSUPPORTED: Update ELF header 1
PASS: Update ELF header 2
PASS: Update ELF header 3
+UNSUPPORTED: Update ELF header 1
Running [...]/hurd/master/binutils/testsuite/binutils-all/hppa/objdump.exp ...
Running [...]/hurd/master/binutils/testsuite/binutils-all/i386/i386.exp ...
PASS: objcopy on compressed debug sections
@@ -118,8 +119,8 @@ Running [...]/hurd/master/binutils/testsuite/binutils-all/x86-64/x86-64.exp ...
=== binutils Summary ===
# of expected passes 88
-# of unsupported tests 2
-Test Run By thomas on Sun Jul 3 19:14:02 2011
+# of unsupported tests 3
+Test Run By thomas on Sun Sep 4 14:50:18 2011
Native configuration is i686-unknown-gnu0.3
=== ld tests ===
@@ -827,6 +828,9 @@ XFAIL: REGION_ALIAS: region-alias-1.t
XFAIL: REGION_ALIAS: region-alias-2.t
XFAIL: REGION_ALIAS: region-alias-3.t
XFAIL: REGION_ALIAS: region-alias-4.t
+Running [...]/hurd/master/ld/testsuite/ld-scripts/section-flags.exp ...
+PASS: section-flags-1
+PASS: section-flags-2
Running [...]/hurd/master/ld/testsuite/ld-scripts/section-match.exp ...
PASS: ld-scripts/section-match-1
Running [...]/hurd/master/ld/testsuite/ld-scripts/size.exp ...
@@ -924,12 +928,12 @@ Running [...]/hurd/master/ld/testsuite/ld-xtensa/xtensa.exp ...
=== ld Summary ===
-# of expected passes 650
+# of expected passes 652
# of expected failures 18
# of untested testcases 6
-[...]/hurd/master.build/ld/ld-new 2.21.52.20110703
+[...]/hurd/master.build/ld/ld-new 2.21.53.20110904
-Test Run By thomas on Sun Jul 3 19:12:21 2011
+Test Run By thomas on Sun Sep 4 14:48:36 2011
Native configuration is i686-unknown-gnu0.3
=== gas tests ===
@@ -1054,6 +1058,9 @@ PASS: DWARF2 3
PASS: DWARF2 4
PASS: Check bad section flag
PASS: Check bad size directive
+PASS: Check bad group
+PASS: gas/elf/warn-2.s (test for warnings, line )
+PASS: gas/elf/warn-2.s (test for excess errors)
Running [...]/hurd/master/gas/testsuite/gas/fr30/allinsn.exp ...
Running [...]/hurd/master/gas/testsuite/gas/fr30/fr30.exp ...
Running [...]/hurd/master/gas/testsuite/gas/frv/allinsn.exp ...
@@ -1277,6 +1284,7 @@ PASS: i386 ifunc
PASS: i386 ifunc-2
PASS: i386 ifunc 3
PASS: i386 l1om-inval
+PASS: i386 k1om-inval
PASS: i386 local PIC
PASS: DWARF2 debugging information 1
PASS: DWARF2 debugging information 2
@@ -1396,6 +1404,6 @@ Running [...]/hurd/master/gas/testsuite/gas/z8k/z8k.exp ...
=== gas Summary ===
-# of expected passes 342
-../as-new 2.21.52.20110703
+# of expected passes 346
+../as-new 2.21.53.20110904
diff --git a/open_issues/binutils/sum_linux b/open_issues/binutils/sum_linux
index 4e37f06c..4957a1e9 100644
--- a/open_issues/binutils/sum_linux
+++ b/open_issues/binutils/sum_linux
@@ -1,4 +1,4 @@
-Test Run By thomas on Sun Jul 3 18:33:54 2011
+Test Run By thomas on Sun Sep 4 14:45:17 2011
Native configuration is i686-pc-linux-gnu
=== binutils tests ===
@@ -29,6 +29,7 @@ Running [...]/hurd/master/binutils/testsuite/binutils-all/elfedit.exp ...
UNSUPPORTED: Update ELF header 1
PASS: Update ELF header 2
PASS: Update ELF header 3
+UNSUPPORTED: Update ELF header 1
Running [...]/hurd/master/binutils/testsuite/binutils-all/hppa/objdump.exp ...
Running [...]/hurd/master/binutils/testsuite/binutils-all/i386/i386.exp ...
PASS: objcopy on compressed debug sections
@@ -118,8 +119,8 @@ Running [...]/hurd/master/binutils/testsuite/binutils-all/x86-64/x86-64.exp ...
=== binutils Summary ===
# of expected passes 88
-# of unsupported tests 2
-Test Run By thomas on Sun Jul 3 18:34:31 2011
+# of unsupported tests 3
+Test Run By thomas on Sun Sep 4 14:45:54 2011
Native configuration is i686-pc-linux-gnu
=== ld tests ===
@@ -827,6 +828,9 @@ XFAIL: REGION_ALIAS: region-alias-1.t
XFAIL: REGION_ALIAS: region-alias-2.t
XFAIL: REGION_ALIAS: region-alias-3.t
XFAIL: REGION_ALIAS: region-alias-4.t
+Running [...]/hurd/master/ld/testsuite/ld-scripts/section-flags.exp ...
+PASS: section-flags-1
+PASS: section-flags-2
Running [...]/hurd/master/ld/testsuite/ld-scripts/section-match.exp ...
PASS: ld-scripts/section-match-1
Running [...]/hurd/master/ld/testsuite/ld-scripts/size.exp ...
@@ -924,12 +928,12 @@ Running [...]/hurd/master/ld/testsuite/ld-xtensa/xtensa.exp ...
=== ld Summary ===
-# of expected passes 660
+# of expected passes 662
# of expected failures 8
# of untested testcases 6
-[...]/hurd/master.build/ld/ld-new 2.21.52.20110703
+[...]/hurd/master.build/ld/ld-new 2.21.53.20110904
-Test Run By thomas on Sun Jul 3 18:34:03 2011
+Test Run By thomas on Sun Sep 4 14:45:29 2011
Native configuration is i686-pc-linux-gnu
=== gas tests ===
@@ -1054,6 +1058,9 @@ PASS: DWARF2 3
PASS: DWARF2 4
PASS: Check bad section flag
PASS: Check bad size directive
+PASS: Check bad group
+PASS: gas/elf/warn-2.s (test for warnings, line )
+PASS: gas/elf/warn-2.s (test for excess errors)
Running [...]/hurd/master/gas/testsuite/gas/fr30/allinsn.exp ...
Running [...]/hurd/master/gas/testsuite/gas/fr30/fr30.exp ...
Running [...]/hurd/master/gas/testsuite/gas/frv/allinsn.exp ...
@@ -1277,6 +1284,7 @@ PASS: i386 ifunc
PASS: i386 ifunc-2
PASS: i386 ifunc 3
PASS: i386 l1om-inval
+PASS: i386 k1om-inval
PASS: i386 local PIC
PASS: DWARF2 debugging information 1
PASS: DWARF2 debugging information 2
@@ -1396,6 +1404,6 @@ Running [...]/hurd/master/gas/testsuite/gas/z8k/z8k.exp ...
=== gas Summary ===
-# of expected passes 342
-../as-new 2.21.52.20110703
+# of expected passes 346
+../as-new 2.21.53.20110904
diff --git a/open_issues/clock_gettime.mdwn b/open_issues/clock_gettime.mdwn
new file mode 100644
index 00000000..5345ed6b
--- /dev/null
+++ b/open_issues/clock_gettime.mdwn
@@ -0,0 +1,71 @@
+[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="clock_gettime"]]
+
+[[!tag open_issue_glibc open_issue_gnumach]]
+
+Missing `clock_gettime(CLOCK_MONOTONIC)` (e.g. for iceweasel)
+
+It could be a mere matter of extending the mappable clock: add it to
+`mapped_time_value_t` in gnumach, handle it in `gnumach/kern/mach_clock.c`, and
+make `clock_gettime` use it.
+
+BTW, also make `gettimeofday()` use it, since it's way more efficient and some
+applications assume that it is.
+
+What about adding a nanosecond-precision clock, too? --[[tschwinge]]
+
+IRC, freenode, #hurd, 2011-08-26:
+
+ < pinotree> youpi: thing is: apparently i found a simple way to have a
+ monotonic clock as mmap-able device inside gnumach
+ < pinotree> currently, in kern/mach_clock.c there's a variable 'time',
+ which gets increased on clock interrupt, and optionally modified by
+ host_set_time
+ < pinotree> ()
+ < pinotree> if i add a new variable next to it, only increasing it on
+ interrupt but not modifying it at all otherwise, would that give me a
+ monotonic clock?
+ < pinotree> at least on sme basic tests i did, it seems it could work that
+ way
+ < youpi> yes, it should work
+ < braunr> sure
+ < youpi> and that's the way I was considering implementing it
+
+IRC, freenode, #hurd, 2011-09-06:
+
+ <pinotree> yeah, i had a draft of improved idea for also handling
+ nanoseconds
+ <tschwinge> pinotree: Ah, nice, I thought about nanoseconds as well.
+ <tschwinge> pinotree, youpi: This memory page is all-zero by default,
+ right?
+ <tschwinge> Can't we then say that its last int is a version code, and if
+ it is 0 (as it is now), we only have the normal mapped time field, if it
+ is 1, we also have the monotonic cliock and ns precision on address 8 and
+ 16 (or whatever)?
+ <tschwinge> In case that isn't your plan anyway.
+ <youpi> it's all-zero, yes
+ <tschwinge> Or, we say if a field is != 0 it is valid.
+ <youpi> making the last int a version code limits the size to one page
+ <youpi> I was thinking a field != 0 being valid is simpler
+ <youpi> but it's probably a problem too
+ <youpi> in that glibc usually caches whether interfaces are supported
+ <tschwinge> Wrap-around?
+ <youpi> for some clocks, it may be valid that the value is 0
+ <youpi> wrap-around is another issue too
+ <tschwinge> Well, then we can do the version-field thing, but put it right
+ after the current time field (address 8, I think)?
+ <youpi> yes
+ <youpi> it's a bit ugly, but it's hidden behind the structure
+ <tschwinge> It's not too bad, I think.
+ <youpi> yes
+ <tschwinge> And it will forever be a witness of the evolving of this
+ map_time interface. :-)
diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn
index ab90a6b6..6cb304ef 100644
--- a/open_issues/code_analysis.mdwn
+++ b/open_issues/code_analysis.mdwn
@@ -19,7 +19,12 @@ analysis|performance]], [[formal_verification]], as well as general
[[!toc]]
-# Suggestions
+# Bounty
+
+There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks.
+
+
+# Static
* [[GCC]]'s warnings. Yes, really.
@@ -27,6 +32,13 @@ analysis|performance]], [[formal_verification]], as well as general
* [[!wikipedia List_of_tools_for_static_code_analysis]]
+ * [Cppcheck](http://sourceforge.net/apps/mediawiki/cppcheck/)
+
+ For example, [Debian's hurd_20110319-2
+ package](http://qa.debian.org/daca/cppcheck/sid/hurd_20110319-2.html)
+ (Samuel Thibault, 2011-08-05: *I had a look at those, some are spurious;
+ the realloc issues are for real*).
+
* Coccinelle
* <http://lwn.net/Articles/315686/>
@@ -45,8 +57,6 @@ analysis|performance]], [[formal_verification]], as well as general
* <http://blog.llvm.org/2010/04/whats-wrong-with-this-code.html>
- * [[community/gsoc/project_ideas/Valgrind]]
-
* [Smatch](http://smatch.sourceforge.net/)
* [Parfait](http://labs.oracle.com/projects/parfait/)
@@ -59,7 +69,12 @@ analysis|performance]], [[formal_verification]], as well as general
* [sixgill](http://sixgill.org/)
- * [Coverity](http://www.coverity.com/) -- commercial?
+ * [Coverity](http://www.coverity.com/) (nonfree?)
+
+
+# Dynamic
+
+ * [[community/gsoc/project_ideas/Valgrind]]
* <http://en.wikipedia.org/wiki/Electric_Fence>
@@ -69,7 +84,24 @@ analysis|performance]], [[formal_verification]], as well as general
* <https://wiki.ubuntu.com/CompilerFlags>
+ * IRC, freenode, #glibc, 2011-09-28
-# Bounty
+ <vsrinivas> two things you can do -- there is an environment variable
+ (DEBUG_MALLOC_ iirc?) that can be set to 2 to make ptmalloc (glibc's
+ allocator) more forceful and verbose wrt error checking
+ <vsrinivas> another is to grab a copy of Tor's source tree and copy out
+ OpenBSD's allocator (its a clearly-identifyable file in the tree);
+ LD_PRELOAD it or link it into your app, it is even more aggressive
+ about detecting memory misuse.
+ <vsrinivas> third, Red hat has a gdb python plugin that can instrument
+ glibc's heap structure. its kinda handy, might help?
+ <vsrinivas> MALLOC_CHECK_ was the envvar you want, sorry.
-There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks.
+ * Input fuzzying
+
+ Not a new topic; has been used (and a paper published) for early UNIX
+ tools, I[[I|tschwinge]]RC.
+
+ * <http://caca.zoy.org/wiki/zzuf>
+
+ What about some [[RPC]] fuzzying?
diff --git a/open_issues/default_pager.mdwn b/open_issues/default_pager.mdwn
new file mode 100644
index 00000000..18670c75
--- /dev/null
+++ b/open_issues/default_pager.mdwn
@@ -0,0 +1,31 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_gnumach]]
+
+IRC, freenode, #hurd, 2011-08-31:
+
+ <antrik> braunr: do you have any idea what could cause the paging errors
+ long before swap is exhausted?
+ <braunr> antrik: not really, but i know every project based on the mach vm
+ have rewritten their swap pager
+ <antrik> (and also I/O performance steadily dropping before that point is
+ reached?)
+
+[[performance/degradation]] (?).
+
+ <antrik> hm
+ <braunr> there could too many things
+ <antrik> perhaps we could "borrow" from one of them? :-)
+ <braunr> map entry fragmentation for example
+ <braunr> the freebsd one is the only possible candidate
+ <braunr> uvm is too different
+ <braunr> dragonflybsd maybe, but it's very close to freebsd
+ <braunr> i didn't look at darwin/xnu
diff --git a/open_issues/e2fsck_i_file_acl_hi.mdwn b/open_issues/e2fsck_i_file_acl_hi.mdwn
index 6a0632ac..d03b733c 100644
--- a/open_issues/e2fsck_i_file_acl_hi.mdwn
+++ b/open_issues/e2fsck_i_file_acl_hi.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -33,3 +33,6 @@ IRC, unknown channel, unknown date.
<antrik> youpi: I doubt it. I regularily get the same issue with various term nodes; and when the machine crashes rather than rebooting cleanly, many other nodes as well
<youpi> k
<antrik> but it's always passive translator nodes
+
+This is due to an erroneous read/write from e2fsck, see
+<http://sourceforge.net/tracker/?func=detail&aid=3379227&group_id=2406&atid=102406>.
diff --git a/open_issues/fakeroot-tcp_vs_eintr.mdwn b/open_issues/fakeroot-tcp_vs_eintr.mdwn
new file mode 100644
index 00000000..36707cd2
--- /dev/null
+++ b/open_issues/fakeroot-tcp_vs_eintr.mdwn
@@ -0,0 +1,51 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!toc]]
+
+
+# [[!debbug 641200]]
+
+[[!message-id "87litvz9me.fsf@kepler.schwinge.homeip.net"]]
+
+ [...]
+ if test -z "$*"; then
+ FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$LIB" ${SHELL:-/bin/sh}
+ RESULT=$?
+ else
+ FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$LIB" "$@"
+ RESULT=$?
+ fi
+ + test -z './scripts/mkinstalldirs /media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/debian/tmp-libc/usr/include'
+ + FAKEROOTKEY=2040
+ + LD_LIBRARY_PATH=/usr/lib/libfakeroot:/usr/lib64/libfakeroot:/usr/lib32/libfakeroot
+ + LD_PRELOAD=libfakeroot-tcp.so
+ + ./scripts/mkinstalldirs /media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/debian/tmp-libc/usr/include
+ libfakeroot: connect: Interrupted system call
+ + RESULT=0
+
+ exit $RESULT
+ + exit 0
+ kill -s HUP 23612
+ + kill -s HUP 23612
+
+
+## `exit(1)`
+
+`connect() < 0` invokes `fail()` which invokes `exit(1)`. Not yet figured out
+why the process exits 0 dispite that. `LD_PRELOAD` issue? ([[!taglink
+open_issue_glibc]].)
+
+
+# Build
+
+`libacl1-dev` is missing.
+
+ $ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -uc -b -d
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index f0f2af51..a3b3a2d2 100644
--- a/open_issues/gcc.mdwn
+++ b/open_issues/gcc.mdwn
@@ -64,11 +64,15 @@ testsuite.
Looks OK.
+ * fe5ef4a01870545d0344e670cd528ad096ebab1d
+
+ OK.
+
# Configuration
-Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
-(2011-07-18) sources|source_repositories/gcc]].
+Last reviewed up to the [[Git mirror's 3d83581faf4eaf52c1cf52cc0d11cc7dd1264275
+(2011-09-05) sources|source_repositories/gcc]].
<http://gcc.gnu.org/install/configure.html> has documentation for the
`configure` switches.
@@ -95,7 +99,7 @@ Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
* [[`libmudflap`|libmudflap]].
* Might [`-fsplit-stack`](http://nickclifton.livejournal.com/6889.html) be
- worthwhile w.r.t. our multithreaded libraries?
+ worthwhile w.r.t. our [[multithreaded|multithreading]] libraries?
* Also see `libgcc/config/i386/morestack.S`: comments w.r.t
`TARGET_THREAD_SPLIT_STACK_OFFSET`; likely needs porting.
@@ -125,8 +129,6 @@ Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
* `--enable-checking`
- * `--enable-build-with-cxx`
-
* `--enable-linker-build-id`
* `--enable-gnu-unique-object`
@@ -170,32 +172,59 @@ Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
`check_effective_target_pie` should include `*-*-gnu*`, too.
- * [high] 9b0fef97f18ed5c9f2f9a361262fbb450f2b0b53
+ * [low] [[toolchain/cross-gnu]] toolchain bootstrap vs. `fenv.h` in libgcc's
+ libbid:
+
+ [...]/xgcc [...] -DIN_LIBGCC2 -fbuilding-libgcc [...] -Dinhibit_libc [...] -o bid_decimal_globals.o [...] -c [...]/libgcc/config/libbid/bid_decimal_globals.c
+ [...]/libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: fenv.h: No such file or directory
+ compilation terminated.
+ make[1]: *** [bid_decimal_globals.o] Error 1
+ make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/gcc.obj/i686-pc-gnu/libgcc'
+ make: *** [all-target-libgcc] Error 2
+
+ See threads at [[!message-id
+ "AANLkTinY1Cd4_qO_9euYJN8zev4hdr7_ANpjNG+yGRMn@mail.gmail.com"]],
+ [[!message-id "20110328225532.GE5293@synopsys.com"]], [[!message-id
+ "4D52D522.1040804@gmail.com"]]. Can simply configure the first GCC with
+ `--disable-decimal-float`.
- Very likely needed for us, too. Patch on gcc-patches and in
- *config/extra_parts* branch.
+ Alternatively, can we use `#ifndef inhibit_libc` for this (these?) file(s)?
+ See `generic-nonstrack.c`, for example. The latter (and also
+ `generic-morestack-thread.c`) also has a nice explanation of `inhibit_libc`
+ which could be centralized at one place, for example definition of
+ `inhibit_libc`.
+
+ * [low] [[toolchain/cross-gnu]]
+
+ The directory that should contain system headers does not exist:
+ /media/boole-data/thomas/tmp/gnu-0/sys_root/usr/include
+ make[2]: *** [stmp-fixinc] Error 1
+ make[2]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/gcc.obj/gcc'
+ make[1]: *** [all-gcc] Error 2
+ make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/gcc.obj'
+
+ `mkdir` the directory for now, but what is really going on? GCC has *use
+ `/usr/include` patch*, but glibc still installs into `/include/`?
# Build
Here's a log of a GCC build run; this is from our [[Git repository's
-09ba3e78c07654e08c8bef82761dbbb26d3c00c9 (2011-07-18)
+93608b32ee627438dbe8a1844254bf8c305c5dc1 (2011-09-05)
sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
$ (cd ../master/ && contrib/gcc_update --touch)
$ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build
[...]
- $ LIBRARY_PATH=$(echo /usr/lib/i386*-gnu) make 2>&1 | tee log_build_
+ $ make 2>&1 | tee log_build_
[...]
Different hosts may default to different shells and compiler versions; thus
harmonized.
-Setting `LIBRARY_PATH` is needed until [[!debbug 629819]] is resolved.
-
-This takes up around 2.3 GiB, and needs roughly 2.75 h on kepler.SCHWINGE, and
-11 h on coulomb.SCHWINGE.
+This takes up around 2.9 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and
+13.25 h on coulomb.SCHWINGE.
## Analysis
@@ -254,6 +283,9 @@ This takes up around 2.3 GiB, and needs roughly 2.75 h on kepler.SCHWINGE, and
-cat ../../hurd/gcc/config/i386/pmm_malloc.h > mm_malloc.h
+cat ../../hurd/gcc/config/i386/gmm_malloc.h > mm_malloc.h
+ Comes from `gcc/config.gcc`: `i386/t-pmm_malloc` vs. `i386/t-gmm_malloc`
+ for `i[34567]86-*-linux*` vs. `i[34567]86-*-*`.
+
* *libgomp*
* `libgomp/config/linux/`, `libgomp/config/linux/x86`
@@ -348,13 +380,11 @@ This takes up around 2.3 GiB, and needs roughly 2.75 h on kepler.SCHWINGE, and
# Install
- $ LIBRARY_PATH=$(echo /usr/lib/i386*-gnu) make install 2>&1 | tee log_install
+ $ make install 2>&1 | tee log_install
[...]
-Setting `LIBRARY_PATH` is needed until [[!debbug 629819]] is resolved.
-
-This takes up around 0.6 GiB, and needs roughly 4 min on kepler.SCHWINGE, and
-35 min on coulomb.SCHWINGE.
+This takes up around 630 MiB, and needs roughly 4 min on kepler.SCHWINGE and 35
+min on coulomb.SCHWINGE.
## Analysis
@@ -374,17 +404,29 @@ This takes up around 0.6 GiB, and needs roughly 4 min on kepler.SCHWINGE, and
<http://gcc.gnu.org/install/test.html>
- $ LIBRARY_PATH=$(echo /usr/lib/i386*-gnu) make -k check 2>&1 | tee log_check
+Testing on GNU/Hurd is blocked on
+[[fork_mach_port_mod_refs_ekern_urefs_owerflow]].
+
+ $ make -k check 2>&1 | tee log_check
[...]
-Setting `LIBRARY_PATH` is needed until [[!debbug 629819]] is resolved.
+This needs roughly TODO min on kepler.SCHWINGE and TODO min on
+coulomb.SCHWINGE.
-Testing on GNU/Hurd is blocked on
-[[fork_mach_port_mod_refs_ekern_urefs_owerflow]].
+ $ ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && sed < hurd/master.build/gcc/TODO -e "s%\(/media/data\)\?${PWD}%[...]%g"' > open_issues/gcc/sum_linux
+ $ ssh coulomb.SCHWINGE 'cd tmp/gcc/ && sed < hurd/master.build/gcc/TODO -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > open_issues/gcc/sum_hurd
+
+Comparing the results files, [[sum_linux]] to [[sum_hurd]]:
+
+ $ diff -u -F ^Running open_issues/gcc/sum_linux open_issues/gcc/sum_hurd > open_issues/gcc/sum.diff
+
+[[open_issues/gcc/sum.diff]].
## Analysis
+TODO.
+
# Specific Languages
diff --git a/open_issues/gcc/log_build-hurd.sed b/open_issues/gcc/log_build-hurd.sed
index 93388cdf..129b2107 100644
--- a/open_issues/gcc/log_build-hurd.sed
+++ b/open_issues/gcc/log_build-hurd.sed
@@ -6,4 +6,4 @@ s%i686-unknown-gnu0\.3%[ARCH]%g
s%libgomp/config/posix/%libgomp/config/[SYSDEP]/%g
-s%/usr/lib/i386-gnu%[SYSTEM_MULTILIB]%g
+s%/i386-gnu%/[ARCH]%g
diff --git a/open_issues/gcc/log_build-linux.sed b/open_issues/gcc/log_build-linux.sed
index aee07b0e..834913bb 100644
--- a/open_issues/gcc/log_build-linux.sed
+++ b/open_issues/gcc/log_build-linux.sed
@@ -6,4 +6,4 @@ s%-Werror -ftls-model=initial-exec -march=i486 -pthread -mtune=i686%-pthread -We
s%libgomp/config/linux/%libgomp/config/[SYSDEP]/%g
s%libgomp/config/posix/%libgomp/config/[SYSDEP]/%g
-s%/usr/lib/i386-linux-gnu%[SYSTEM_MULTILIB]%g
+s%/i386-linux-gnu%/[ARCH]%g
diff --git a/open_issues/gcc/log_build.diff b/open_issues/gcc/log_build.diff
index 8bf12f45..a2c1bff2 100644
--- a/open_issues/gcc/log_build.diff
+++ b/open_issues/gcc/log_build.diff
@@ -1,6 +1,15 @@
---- /dev/fd/63 2011-07-18 22:46:16.567430251 +0200
-+++ /dev/fd/62 2011-07-18 22:46:16.567430251 +0200
-@@ -146,7 +146,7 @@
+--- /dev/fd/63 2011-09-06 09:02:29.090253783 +0200
++++ /dev/fd/62 2011-09-06 09:02:29.090253783 +0200
+@@ -60,7 +60,7 @@
+ checking for cc... cc
+ checking for c++... c++
+ checking for gcc... gcc
+-checking for gcj... gcj
++checking for gcj... no
+ checking for gfortran... no
+ checking for gccgo... no
+ checking for ar... no
+@@ -147,7 +147,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -9,7 +18,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -178,7 +178,7 @@
+@@ -179,7 +179,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -18,7 +27,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -257,12 +257,12 @@
+@@ -258,12 +258,12 @@
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
checking for sys/table.h... no
@@ -33,7 +42,7 @@
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether errno must be declared... no
-@@ -332,13 +332,13 @@
+@@ -333,13 +333,13 @@
checking for working fork... yes
checking for working vfork... (cached) yes
checking for _doprnt... no
@@ -47,10 +56,10 @@
checking for canonicalize_file_name... yes
-checking for dup3... yes
+checking for dup3... no
+ checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
- checking for gettimeofday... (cached) yes
-@@ -353,7 +353,7 @@
+@@ -356,7 +356,7 @@
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
@@ -59,7 +68,7 @@
checking for sysmp... no
checking for table... no
checking for times... yes
-@@ -1005,17 +1005,16 @@
+@@ -1022,18 +1022,17 @@
Using the following target machine macro files:
../../master/gcc/config/vxworks-dummy.h
../../master/gcc/config/i386/i386.h
@@ -73,14 +82,15 @@
- ../../master/gcc/config/linux.h
../../master/gcc/config/i386/gnu-user.h
- ../../master/gcc/config/i386/linux.h
--Using host-linux.o for host machine hooks.
+ ../../master/gcc/config/gnu.h
+ ../../master/gcc/config/i386/gnu.h
+ ../../master/gcc/config/initfini-array.h
+-Using host-linux.o for host machine hooks.
+Using host-default.o for host machine hooks.
checking for __cxa_atexit... yes
checking whether NLS is requested... yes
checking for catalogs to be installed... be da de el es fi fr id ja nl ru sr sv tr vi zh_CN zh_TW
-@@ -1027,7 +1026,7 @@
+@@ -1045,7 +1044,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -89,7 +99,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -1048,7 +1047,7 @@
+@@ -1066,7 +1065,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -98,7 +108,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -1064,7 +1063,7 @@
+@@ -1082,7 +1081,7 @@
checking if g++-4.6 supports -c -o file.o... yes
checking if g++-4.6 supports -c -o file.o... (cached) yes
checking whether the g++-4.6 linker (ld) supports shared libraries... yes
@@ -107,7 +117,7 @@
checking how to hardcode library paths into programs... immediate
checking for as... /usr/bin/as
checking what assembler to use... /usr/bin/as
-@@ -1077,7 +1076,7 @@
+@@ -1095,7 +1094,7 @@
checking what objdump to use... /usr/bin/objdump
checking for readelf... /usr/bin/readelf
checking what readelf to use... /usr/bin/readelf
@@ -116,16 +126,7 @@
checking assembler for .balign and .p2align... yes
checking assembler for .p2align with maximum skip... yes
checking assembler for .literal16... no
-@@ -1119,7 +1118,7 @@
- checking assembler for --debug-prefix-map option... yes
- checking assembler for .lcomm with alignment... no
- checking assembler for gnu_unique_object... yes
--ldd (Debian EGLIBC 2.13-7) 2.13
-+ldd (Debian EGLIBC 2.13-10) 2.13
- Copyright (C) 2011 Free Software Foundation, Inc.
- This is free software; see the source for copying conditions. There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-@@ -1221,12 +1220,12 @@
+@@ -1240,12 +1239,12 @@
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
checking for sys/table.h... no
@@ -140,7 +141,7 @@
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether errno must be declared... no
-@@ -1296,13 +1295,13 @@
+@@ -1315,13 +1314,13 @@
checking for working fork... yes
checking for working vfork... (cached) yes
checking for _doprnt... no
@@ -154,10 +155,10 @@
checking for canonicalize_file_name... yes
-checking for dup3... yes
+checking for dup3... no
+ checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
- checking for gettimeofday... (cached) yes
-@@ -1317,7 +1316,7 @@
+@@ -1338,7 +1337,7 @@
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
@@ -166,7 +167,7 @@
checking for sysmp... no
checking for table... no
checking for times... yes
-@@ -1737,7 +1736,7 @@
+@@ -1766,7 +1765,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -175,7 +176,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -1769,7 +1768,7 @@
+@@ -1798,7 +1797,7 @@
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -184,19 +185,42 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -2165,9 +2164,9 @@
+@@ -2194,9 +2193,9 @@
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/dash ../../master/gcc/mkconfig.sh config.h
TARGET_CPU_DEFAULT="" \
-- HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/linux-android.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/linux.h config/i386/gnu-user.h config/i386/linux.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
-+ HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/i386/gnu-user.h config/gnu.h config/i386/gnu.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
+- HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/linux-android.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/linux.h config/i386/gnu-user.h config/i386/linux.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
++ HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/i386/gnu-user.h config/gnu.h config/i386/gnu.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
/bin/dash ../../master/gcc/mkconfig.sh tm.h
-gawk -f ../../master/gcc/opt-gather.awk ../../master/gcc/ada/gcc-interface/lang.opt ../../master/gcc/fortran/lang.opt ../../master/gcc/go/lang.opt ../../master/gcc/java/lang.opt ../../master/gcc/lto/lang.opt ../../master/gcc/c-family/c.opt ../../master/gcc/common.opt ../../master/gcc/config/fused-madd.opt ../../master/gcc/config/i386/i386.opt ../../master/gcc/config/gnu-user.opt ../../master/gcc/config/linux.opt ../../master/gcc/config/linux-android.opt > tmp-optionlist
+gawk -f ../../master/gcc/opt-gather.awk ../../master/gcc/ada/gcc-interface/lang.opt ../../master/gcc/fortran/lang.opt ../../master/gcc/go/lang.opt ../../master/gcc/java/lang.opt ../../master/gcc/lto/lang.opt ../../master/gcc/c-family/c.opt ../../master/gcc/common.opt ../../master/gcc/config/fused-madd.opt ../../master/gcc/config/i386/i386.opt ../../master/gcc/config/gnu-user.opt > tmp-optionlist
/bin/dash ../../master/gcc/../move-if-change tmp-optionlist optionlist
echo timestamp > s-options
gawk -f ../../master/gcc/opt-functions.awk -f ../../master/gcc/opt-read.awk \
-@@ -2815,10 +2814,9 @@
+@@ -2227,7 +2226,7 @@
+ /bin/dash ../../master/gcc/../move-if-change tmp-constants.h insn-constants.h
+ echo timestamp > s-constants
+ TARGET_CPU_DEFAULT="" \
+- HEADERS="../libgcc/config/i386/value-unwind.h" DEFINES="" \
++ HEADERS="" DEFINES="" \
+ /bin/dash ../../master/gcc/mkconfig.sh libgcc_tm.h
+ gcc-4.6 -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../master/gcc -I../../master/gcc/build -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+ -o build/genmodes.o ../../master/gcc/genmodes.c
+@@ -2354,11 +2353,11 @@
+ "" \
+ "" \
+ "" \
+- "i386-linux-gnu" \
++ "i386-gnu" \
+ "yes" \
+ > tmp-mlib.h; \
+ else \
+- /bin/dash ../../master/gcc/genmultilib '' '' '' '' '' '' '' "i386-linux-gnu" no \
++ /bin/dash ../../master/gcc/genmultilib '' '' '' '' '' '' '' "i386-gnu" no \
+ > tmp-mlib.h; \
+ fi
+ /bin/dash ../../master/gcc/../move-if-change tmp-mlib.h multilib.h
+@@ -2845,10 +2844,9 @@
echo timestamp > s-i386-bt
gcc-4.6 -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
../../master/gcc/config/i386/i386.c -o i386.o
@@ -204,12 +228,12 @@
- ../../master/gcc/config/host-linux.c
+gcc-4.6 -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber ../../master/gcc/host-default.c -o host-default.o
rm -rf libbackend.a
--ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-linux.o
-+ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o
+-ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-linux.o
++ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o
ranlib libbackend.a
build/genhooks "Common Target Hook" \
> tmp-common-target-hooks-def.h
-@@ -2995,86 +2993,44 @@
+@@ -3055,92 +3053,46 @@
done; \
fi
Fixing headers into [...]/hurd/master.build/gcc/include-fixed for [ARCH] target
@@ -217,9 +241,10 @@
+Forbidden identifiers: MACH i386 unix
Finding directories and links to directories
Searching /usr/include/.
- Searching /usr/include/./libpng
+- Searching /usr/include/./libpng
+ Searching /usr/include/./mach/machine
Searching /usr/include/./c++/4.6.1
++ Searching /usr/include/./libpng
Making symbolic directory links
Fixing directory /usr/include into [...]/hurd/master.build/gcc/include-fixed
-Applying machine_name to openssl/bn.h
@@ -234,10 +259,11 @@
-Applying glibc_stdint to stdint.h
-Applying io_quotes_def to glib-2.0/gio/gdbusmethodinvocation.h
-Applying io_quotes_def to glib-2.0/gio/gdbusconnection.h
- Applying io_quotes_def to glib-2.0/gio/gmountoperation.h
+-Applying io_quotes_def to glib-2.0/gio/gmountoperation.h
-Applying io_quotes_use to linux/i2o-dev.h
-Applying io_quotes_use to linux/raw.h
-Applying io_quotes_use to linux/fs.h
+-Applying io_quotes_use to linux/vhost.h
-Applying io_quotes_use to linux/spi/spidev.h
-Applying io_quotes_use to linux/gigaset_dev.h
-Applying io_quotes_use to linux/aufs_type.h
@@ -246,7 +272,6 @@
-Applying io_quotes_use to linux/phantom.h
-Applying io_quotes_use to linux/ipmi.h
-Applying io_quotes_use to linux/usb/tmc.h
--Applying io_quotes_use to linux/usb/vstusb.h
-Applying io_quotes_use to linux/random.h
-Applying io_quotes_use to linux/if_pppox.h
-Applying io_quotes_use to linux/fd.h
@@ -254,8 +279,11 @@
-Applying io_quotes_use to linux/blkpg.h
-Applying io_quotes_use to linux/ppdev.h
-Applying io_quotes_use to linux/input.h
+-Applying io_quotes_use to linux/media.h
-Applying io_quotes_use to linux/dm-ioctl.h
+-Applying io_quotes_use to linux/ptp_clock.h
-Applying io_quotes_use to linux/cciss_ioctl.h
+-Applying io_quotes_use to linux/mmc/ioctl.h
-Applying io_quotes_use to linux/raid/md_u.h
-Applying io_quotes_use to linux/agpgart.h
-Applying io_quotes_use to linux/dn.h
@@ -265,9 +293,9 @@
-Applying io_quotes_def to linux/version.h
-Applying io_quotes_use to linux/atmbr2684.h
-Applying io_quotes_use to linux/nbd.h
+-Applying io_quotes_use to linux/omapfb.h
-Applying io_quotes_use to linux/uinput.h
-Applying io_quotes_use to linux/reiserfs_fs.h
--Applying io_quotes_use to linux/videotext.h
-Applying io_quotes_use to linux/synclink.h
-Applying io_quotes_use to linux/kvm.h
-Applying machine_name to linux/a.out.h
@@ -277,29 +305,23 @@
-Applying io_quotes_def to linux/ppp-comp.h
-Applying io_quotes_use to linux/pktcdvd.h
-Applying io_quotes_use to linux/suspend_ioctls.h
-+Applying io_quotes_def to glib-2.0/gio/gdbusconnection.h
-+Applying io_quotes_def to glib-2.0/gio/gdbusmethodinvocation.h
-+Applying io_quotes_def to libIDL-2.0/libIDL/IDL.h
-+Applying io_quotes_use to libIDL-2.0/libIDL/IDL.h
-+Applying io_quotes_def to libbonobo-2.0/bonobo/bonobo-application.h
-+Applying io_quotes_def to at-spi-1.0/libspi/application.h
-+Applying io_quotes_def to gtk-2.0/gtk/gtkmountoperation.h
++Applying io_quotes_def to i386-gnu/bits/ioctls.h
++Applying io_quotes_def to sudo_plugin.h
++Applying io_quotes_use to sudo_plugin.h
+Applying hpux8_bogus_inlines to math.h
Applying machine_name to X11/Xw32defs.h
Fixed: X11/Xw32defs.h
+-Applying io_quotes_use to i386-linux-gnu/sys/raw.h
+-Applying io_quotes_use to i386-linux-gnu/sys/mount.h
+-Applying io_quotes_use to i386-linux-gnu/asm/mtrr.h
-Applying io_quotes_use to video/sisfb.h
-Applying ctrl_quotes_def to dialog.h
-Applying io_quotes_use to sys/raw.h
-Applying io_quotes_use to sys/mount.h
-Applying hpux8_bogus_inlines to math.h
--Applying stdio_va_list_clients to krb5.h
--Applying io_quotes_def to gtk-2.0/gtk/gtkmountoperation.h
--Applying io_quotes_use to rdma/ib_user_mad.h
--Applying io_quotes_use to asm/mtrr.h
--Applying io_quotes_use to mtd/ubi-user.h
+Applying io_quotes_def to X11/Xmu/Atoms.h
- Applying ctrl_quotes_def to readline/chardefs.h
-+Applying stdio_va_list_clients to krb5.h
++Applying ctrl_quotes_def to readline/chardefs.h
+ Applying stdio_va_list_clients to krb5.h
+Applying strict_ansi_only to ident.h
+Fixed: ident.h
+Applying machine_name to mysql/my_global.h
@@ -307,9 +329,20 @@
+Fixed: mach/i386/ioccom.h
+Applying machine_name to a.out.h
+Fixed: a.out.h
++Applying io_quotes_def to glib-2.0/gio/gmountoperation.h
++Applying io_quotes_def to glib-2.0/gio/gdbusconnection.h
++Applying io_quotes_def to glib-2.0/gio/gdbusmethodinvocation.h
++Applying io_quotes_def to at-spi-1.0/libspi/application.h
+Applying sun_malloc to malloc.h
+ Applying io_quotes_def to gtk-2.0/gtk/gtkmountoperation.h
+-Applying io_quotes_use to rdma/ib_user_mad.h
+-Applying io_quotes_use to mtd/ubi-user.h
+-Applying io_quotes_def to sudo_plugin.h
+-Applying io_quotes_use to sudo_plugin.h
+Applying glibc_stdint to stdint.h
-+Applying io_quotes_def to bits/ioctls.h
++Applying io_quotes_def to libIDL-2.0/libIDL/IDL.h
++Applying io_quotes_use to libIDL-2.0/libIDL/IDL.h
++Applying io_quotes_def to libbonobo-2.0/bonobo/bonobo-application.h
+Applying sysv68_string to string.h
Cleaning up unneeded directories:
fixincludes is done
@@ -319,26 +352,54 @@
+cat ../../master/gcc/config/i386/gmm_malloc.h > mm_malloc.h
if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi
- for file in .. ../../master/gcc/ginclude/float.h ../../master/gcc/ginclude/iso646.h ../../master/gcc/ginclude/stdarg.h ../../master/gcc/ginclude/stdbool.h ../../master/gcc/ginclude/stddef.h ../../master/gcc/ginclude/varargs.h ../../master/gcc/ginclude/stdfix.h ../../master/gcc/config/i386/cpuid.h ../../master/gcc/config/i386/mmintrin.h ../../master/gcc/config/i386/mm3dnow.h ../../master/gcc/config/i386/xmmintrin.h ../../master/gcc/config/i386/emmintrin.h ../../master/gcc/config/i386/pmmintrin.h ../../master/gcc/config/i386/tmmintrin.h ../../master/gcc/config/i386/ammintrin.h ../../master/gcc/config/i386/smmintrin.h ../../master/gcc/config/i386/nmmintrin.h ../../master/gcc/config/i386/bmmintrin.h ../../master/gcc/config/i386/fma4intrin.h ../../master/gcc/config/i386/wmmintrin.h ../../master/gcc/config/i386/immintrin.h ../../master/gcc/config/i386/x86intrin.h ../../master/gcc/config/i386/avxintrin.h ../../master/gcc/config/i386/xopintrin.h ../../master/gcc/config/i386/ia32intrin.h ../../master/gcc/config/i386/cross-stdarg.h ../../master/gcc/config/i386/lwpintrin.h ../../master/gcc/config/i386/popcntintrin.h ../../master/gcc/config/i386/abmintrin.h ../../master/gcc/config/i386/bmiintrin.h ../../master/gcc/config/i386/tbmintrin.h mm_malloc.h; do \
-@@ -3218,7 +3174,7 @@
- (pod2man --center="GNU" --release="gcc-4.7.0" --date=2011-07-18 --section=7 fsf-funding.pod > doc/fsf-funding.7.T$$ && \
+ for file in .. ../../master/gcc/ginclude/float.h ../../master/gcc/ginclude/iso646.h ../../master/gcc/ginclude/stdarg.h ../../master/gcc/ginclude/stdbool.h ../../master/gcc/ginclude/stddef.h ../../master/gcc/ginclude/varargs.h ../../master/gcc/ginclude/stdfix.h ../../master/gcc/ginclude/stdnoreturn.h ../../master/gcc/config/i386/cpuid.h ../../master/gcc/config/i386/mmintrin.h ../../master/gcc/config/i386/mm3dnow.h ../../master/gcc/config/i386/xmmintrin.h ../../master/gcc/config/i386/emmintrin.h ../../master/gcc/config/i386/pmmintrin.h ../../master/gcc/config/i386/tmmintrin.h ../../master/gcc/config/i386/ammintrin.h ../../master/gcc/config/i386/smmintrin.h ../../master/gcc/config/i386/nmmintrin.h ../../master/gcc/config/i386/bmmintrin.h ../../master/gcc/config/i386/fma4intrin.h ../../master/gcc/config/i386/wmmintrin.h ../../master/gcc/config/i386/immintrin.h ../../master/gcc/config/i386/x86intrin.h ../../master/gcc/config/i386/avxintrin.h ../../master/gcc/config/i386/xopintrin.h ../../master/gcc/config/i386/ia32intrin.h ../../master/gcc/config/i386/cross-stdarg.h ../../master/gcc/config/i386/lwpintrin.h ../../master/gcc/config/i386/popcntintrin.h ../../master/gcc/config/i386/lzcntintrin.h ../../master/gcc/config/i386/bmiintrin.h ../../master/gcc/config/i386/bmi2intrin.h ../../master/gcc/config/i386/tbmintrin.h ../../master/gcc/config/i386/avx2intrin.h ../../master/gcc/config/i386/fmaintrin.h mm_malloc.h; do \
+@@ -3287,7 +3239,7 @@
mv -f doc/fsf-funding.7.T$$ doc/fsf-funding.7) || \
(rm -f doc/fsf-funding.7.T$$ && exit 1)
+ cp doc/gcc.1 doc/g++.1
-rm gfdl.pod cpp.pod gcov.pod fsf-funding.pod gcc.pod
+rm gcov.pod cpp.pod gfdl.pod fsf-funding.pod gcc.pod
make[3]: Leaving directory `[...]/hurd/master.build/gcc'
mkdir -p -- [ARCH]/libgcc
Checking multilib configuration for libgcc...
-@@ -3253,7 +3209,7 @@
- configure: creating ./config.status
+@@ -3337,7 +3289,7 @@
config.status: creating Makefile
config.status: linking ../../../master/libgcc/enable-execute-stack-empty.c to enable-execute-stack.c
+ config.status: linking ../../../master/libgcc/unwind-generic.h to unwind.h
-config.status: linking ../../../master/libgcc/config/i386/linux-unwind.h to md-unwind-support.h
+config.status: linking ../../../master/libgcc/config/no-unwind.h to md-unwind-support.h
+ config.status: linking ../../../master/libgcc/config/i386/sfp-machine.h to sfp-machine.h
config.status: executing default commands
Adding multilib support to Makefile in ../../../master/libgcc
- multidirs=
-@@ -3939,7 +3895,7 @@
+@@ -3677,10 +3629,13 @@
+ ../../../master/libgcc/soft-fp/divtf3.c:45:3: warning: 'R_e' may be used uninitialized in this function [-Wmaybe-uninitialized]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o eqtf2.o -MT eqtf2.o -MD -MP -MF eqtf2.dep -c ../../../master/libgcc/soft-fp/eqtf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o getf2.o -MT getf2.o -MD -MP -MF getf2.dep -c ../../../master/libgcc/soft-fp/getf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o letf2.o -MT letf2.o -MD -MP -MF letf2.dep -c ../../../master/libgcc/soft-fp/letf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o multf3.o -MT multf3.o -MD -MP -MF multf3.dep -c ../../../master/libgcc/soft-fp/multf3.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' [-Wmissing-prototypes]
+ ../../../master/libgcc/soft-fp/multf3.c: In function '__multf3':
+@@ -3889,10 +3844,13 @@
+ ../../../master/libgcc/soft-fp/divtf3.c:45:3: warning: 'R_e' may be used uninitialized in this function [-Wmaybe-uninitialized]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o eqtf2_s.o -MT eqtf2_s.o -MD -MP -MF eqtf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/eqtf2.c
+ ../../../master/libgcc/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o getf2_s.o -MT getf2_s.o -MD -MP -MF getf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/getf2.c
+ ../../../master/libgcc/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o letf2_s.o -MT letf2_s.o -MD -MP -MF letf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/letf2.c
+ ../../../master/libgcc/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o multf3_s.o -MT multf3_s.o -MD -MP -MF multf3_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/multf3.c
+ ../../../master/libgcc/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' [-Wmissing-prototypes]
+ ../../../master/libgcc/soft-fp/multf3.c: In function '__multf3':
+@@ -4085,7 +4043,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -347,7 +408,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -3970,7 +3926,7 @@
+@@ -4116,7 +4074,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -356,16 +417,81 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -4141,7 +4097,7 @@
+@@ -4217,7 +4175,7 @@
+ checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... yes
+ checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
+ checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
+-checking the maximum length of command line arguments... 805306365
++checking the maximum length of command line arguments... -1
+ checking whether the shell understands some XSI constructs... yes
+ checking whether the shell understands "+="... no
+ checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
+@@ -4247,7 +4205,7 @@
+ checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
+ checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
+ checking whether -lc should be explicitly linked in... no
+-checking dynamic linker characteristics... GNU/Linux ld.so
++checking dynamic linker characteristics... gnu0.3 ld.so
+ checking how to hardcode library paths into programs... immediate
+ checking for shl_load... no
+ checking for shl_load in -ldld... no
+@@ -4269,7 +4227,7 @@
+ checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
+ checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
+ checking whether the [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
+-checking dynamic linker characteristics... (cached) GNU/Linux ld.so
++checking dynamic linker characteristics... gnu0.3 ld.so
+ checking how to hardcode library paths into programs... immediate
+ checking for exception model to use... call frame
+ checking for compiler with PCH support... yes
+@@ -4317,8 +4275,8 @@
+ checking for parallel mode support... yes
+ checking for extra compiler flags for building...
+ checking for extern template support... yes
+-checking for EOWNERDEAD... yes
+-checking for ENOTRECOVERABLE... yes
++checking for EOWNERDEAD... no
++checking for ENOTRECOVERABLE... no
+ checking for ENOLINK... yes
+ checking for EPROTO... yes
+ checking for ENODATA... yes
+@@ -4581,7 +4539,7 @@
+ checking for sys/resource.h... (cached) yes
+ checking for RLIMIT_DATA... yes
+ checking for RLIMIT_RSS... yes
+-checking for RLIMIT_VMEM... no
++checking for RLIMIT_VMEM... yes
+ checking for RLIMIT_AS... yes
+ checking for RLIMIT_FSIZE... yes
+ checking for testsuite resource limits support... yes
+@@ -4987,6 +4945,8 @@
+ ln -s [...]/hurd/master/libstdc++-v3/config/io/basic_file_stdio.cc ./basic_file.cc || true
+ /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c -o basic_file.lo basic_file.cc
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c basic_file.cc -fPIC -DPIC -o .libs/basic_file.o
++basic_file.cc: In member function 'std::streamsize std::__basic_file<char>::showmanyc()':
++basic_file.cc:347:33: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c basic_file.cc -o basic_file.o >/dev/null 2>&1
+ ln -s [...]/hurd/master/libstdc++-v3/config/locale/gnu/c_locale.cc ./c++locale.cc || true
+ /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=c++locale.lo -g -O2 -D_GNU_SOURCE -c -o c++locale.lo c++locale.cc
+@@ -5064,7 +5024,7 @@
+ libtool: link: (cd ".libs" && rm -f "libstdc++.so.6" && ln -s "libstdc++.so.6.0.17" "libstdc++.so.6")
+ libtool: link: (cd ".libs" && rm -f "libstdc++.so" && ln -s "libstdc++.so.6.0.17" "libstdc++.so")
+ libtool: link: (cd .libs/libstdc++.lax/libsupc++convenience.a && ar x "[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a")
+-libtool: link: ar rc .libs/libstdc++.a atomic.o bitmap_allocator.o pool_allocator.o mt_allocator.o codecvt.o compatibility.o compatibility-c++0x.o compatibility-debug_list.o compatibility-debug_list-2.o compatibility-list.o compatibility-list-2.o complex_io.o ctype.o debug.o functexcept.o functional.o globals_io.o hash_c++0x.o hash_tr1.o hashtable_c++0x.o hashtable_tr1.o ios.o ios_failure.o ios_init.o ios_locale.o limits.o list.o locale.o locale_init.o locale_facets.o localename.o math_stubs_float.o math_stubs_long_double.o stdexcept.o strstream.o system_error.o tree.o istream.o placeholders.o regex.o shared_ptr.o streambuf.o mutex.o condition_variable.o chrono.o thread.o future.o valarray.o atomicity.o codecvt_members.o collate_members.o ctype_configure_char.o ctype_members.o messages_members.o monetary_members.o numeric_members.o time_members.o basic_file.o c++locale.o allocator-inst.o concept-inst.o ext-inst.o fstream-inst.o ios-inst.o iostream-inst.o istream-inst.o locale-inst.o misc-inst.o ostream-inst.o sstream-inst.o streambuf-inst.o string-inst.o wlocale-inst.o wstring-inst.o parallel_settings.o compatibility-parallel_list.o compatibility-parallel_list-2.o .libs/libstdc++.lax/libsupc++convenience.a/new_opv.o .libs/libstdc++.lax/libsupc++convenience.a/si_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/del_op.o .libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o .libs/libstdc++.lax/libsupc++convenience.a/enum_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/bad_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_call.o .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o .libs/libstdc++.lax/libsupc++convenience.a/function_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/cp-demangle.o .libs/libstdc++.lax/libsupc++convenience.a/guard_error.o .libs/libstdc++.lax/libsupc++convenience.a/atexit_arm.o .libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o .libs/libstdc++.lax/libsupc++convenience.a/eh_terminate.o .libs/libstdc++.lax/libsupc++convenience.a/guard.o .libs/libstdc++.lax/libsupc++convenience.a/eh_catch.o .libs/libstdc++.lax/libsupc++convenience.a/fundamental_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/hash_bytes.o .libs/libstdc++.lax/libsupc++convenience.a/nested_exception.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo.o .libs/libstdc++.lax/libsupc++convenience.a/new_handler.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o .libs/libstdc++.lax/libsupc++convenience.a/pointer_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_ptr.o .libs/libstdc++.lax/libsupc++convenience.a/pmem_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/vec.o .libs/libstdc++.lax/libsupc++convenience.a/eh_arm.o .libs/libstdc++.lax/libsupc++convenience.a/class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_type.o .libs/libstdc++.lax/libsupc++convenience.a/eh_unex_handler.o .libs/libstdc++.lax/libsupc++convenience.a/del_opv.o .libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o .libs/libstdc++.lax/libsupc++convenience.a/pbase_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o .libs/libstdc++.lax/libsupc++convenience.a/eh_term_handler.o .libs/libstdc++.lax/libsupc++convenience.a/array_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/vmi_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/new_op.o .libs/libstdc++.lax/libsupc++convenience.a/bad_cast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o .libs/libstdc++.lax/libsupc++convenience.a/bad_typeid.o .libs/libstdc++.lax/libsupc++convenience.a/dyncast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/pure.o
++libtool: link: ar rc .libs/libstdc++.a atomic.o bitmap_allocator.o pool_allocator.o mt_allocator.o codecvt.o compatibility.o compatibility-c++0x.o compatibility-debug_list.o compatibility-debug_list-2.o compatibility-list.o compatibility-list-2.o complex_io.o ctype.o debug.o functexcept.o functional.o globals_io.o hash_c++0x.o hash_tr1.o hashtable_c++0x.o hashtable_tr1.o ios.o ios_failure.o ios_init.o ios_locale.o limits.o list.o locale.o locale_init.o locale_facets.o localename.o math_stubs_float.o math_stubs_long_double.o stdexcept.o strstream.o system_error.o tree.o istream.o placeholders.o regex.o shared_ptr.o streambuf.o mutex.o condition_variable.o chrono.o thread.o future.o valarray.o atomicity.o codecvt_members.o collate_members.o ctype_configure_char.o ctype_members.o messages_members.o monetary_members.o numeric_members.o time_members.o basic_file.o c++locale.o allocator-inst.o concept-inst.o ext-inst.o fstream-inst.o ios-inst.o iostream-inst.o istream-inst.o locale-inst.o misc-inst.o ostream-inst.o sstream-inst.o streambuf-inst.o string-inst.o wlocale-inst.o wstring-inst.o parallel_settings.o compatibility-parallel_list.o compatibility-parallel_list-2.o .libs/libstdc++.lax/libsupc++convenience.a/array_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/atexit_arm.o .libs/libstdc++.lax/libsupc++convenience.a/bad_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/bad_cast.o .libs/libstdc++.lax/libsupc++convenience.a/bad_typeid.o .libs/libstdc++.lax/libsupc++convenience.a/class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/del_op.o .libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/del_opv.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/dyncast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_arm.o .libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o .libs/libstdc++.lax/libsupc++convenience.a/eh_call.o .libs/libstdc++.lax/libsupc++convenience.a/eh_catch.o .libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o .libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o .libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o .libs/libstdc++.lax/libsupc++convenience.a/eh_ptr.o .libs/libstdc++.lax/libsupc++convenience.a/eh_term_handler.o .libs/libstdc++.lax/libsupc++convenience.a/eh_terminate.o .libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o .libs/libstdc++.lax/libsupc++convenience.a/eh_type.o .libs/libstdc++.lax/libsupc++convenience.a/eh_unex_handler.o .libs/libstdc++.lax/libsupc++convenience.a/enum_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/function_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/fundamental_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/guard.o .libs/libstdc++.lax/libsupc++convenience.a/guard_error.o .libs/libstdc++.lax/libsupc++convenience.a/hash_bytes.o .libs/libstdc++.lax/libsupc++convenience.a/nested_exception.o .libs/libstdc++.lax/libsupc++convenience.a/new_handler.o .libs/libstdc++.lax/libsupc++convenience.a/new_op.o .libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/new_opv.o .libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/pbase_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/pmem_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/pointer_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/pure.o .libs/libstdc++.lax/libsupc++convenience.a/si_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o .libs/libstdc++.lax/libsupc++convenience.a/vec.o .libs/libstdc++.lax/libsupc++convenience.a/vmi_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o .libs/libstdc++.lax/libsupc++convenience.a/cp-demangle.o
+ libtool: link: ranlib .libs/libstdc++.a
+ libtool: link: rm -fr .libs/libstdc++.lax
+ libtool: link: ( cd ".libs" && rm -f "libstdc++.la" && ln -s "../libstdc++.la" "libstdc++.la" )
+@@ -5244,7 +5204,7 @@
libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libgomp -I../../../master/libgomp/config/posix -I../../../master/libgomp -Wall -pthread -Werror -g -O2 -MT affinity.lo -MD -MP -MF .deps/affinity.Tpo -c ../../../master/libgomp/config/[SYSDEP]/affinity.c -o affinity.o >/dev/null 2>&1
mv -f .deps/affinity.Tpo .deps/affinity.Plo
- /bin/dash ./libtool --tag CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -Wall -Werror -Wc,-pthread -g -O2 -Wl,-O1 -o libgomp.la -version-info 1:0:0 -Wl,--version-script,../../../master/libgomp/libgomp.map -rpath [...]/hurd/master.build.install/lib alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lrt
+ /bin/dash ./libtool --tag CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -Wall -Werror -Wc,-pthread -g -O2 -Wl,-O1 -o libgomp.la -version-info 1:0:0 -Wl,--version-script,../../../master/libgomp/libgomp.map -rpath [...]/hurd/master.build.install/lib/ alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lrt
-libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -march=i486 -mtune=i686 -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
+libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
libtool: link: (cd ".libs" && rm -f "libgomp.so.1" && ln -s "libgomp.so.1.0.0" "libgomp.so.1")
libtool: link: (cd ".libs" && rm -f "libgomp.so" && ln -s "libgomp.so.1.0.0" "libgomp.so")
libtool: link: ar rc .libs/libgomp.a alloc.o barrier.o critical.o env.o error.o iter.o iter_ull.o loop.o loop_ull.o ordered.o parallel.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o sem.o bar.o ptrlock.o time.o fortran.o affinity.o
-@@ -4238,7 +4194,7 @@
+@@ -5342,7 +5302,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -374,7 +500,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -4270,7 +4226,7 @@
+@@ -5374,7 +5334,7 @@
checking if [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -383,7 +509,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -4349,12 +4305,12 @@
+@@ -5453,12 +5413,12 @@
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
checking for sys/table.h... no
@@ -398,7 +524,7 @@
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether errno must be declared... no
-@@ -4424,13 +4380,13 @@
+@@ -5528,13 +5488,13 @@
checking for working fork... yes
checking for working vfork... (cached) yes
checking for _doprnt... no
@@ -412,10 +538,10 @@
checking for canonicalize_file_name... yes
-checking for dup3... yes
+checking for dup3... no
+ checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
- checking for gettimeofday... (cached) yes
-@@ -4445,7 +4401,7 @@
+@@ -5551,7 +5511,7 @@
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
@@ -424,7 +550,7 @@
checking for sysmp... no
checking for table... no
checking for times... yes
-@@ -5103,17 +5059,16 @@
+@@ -6223,18 +6183,17 @@
Using the following target machine macro files:
../../master/gcc/config/vxworks-dummy.h
../../master/gcc/config/i386/i386.h
@@ -438,14 +564,15 @@
- ../../master/gcc/config/linux.h
../../master/gcc/config/i386/gnu-user.h
- ../../master/gcc/config/i386/linux.h
--Using host-linux.o for host machine hooks.
+ ../../master/gcc/config/gnu.h
+ ../../master/gcc/config/i386/gnu.h
+ ../../master/gcc/config/initfini-array.h
+-Using host-linux.o for host machine hooks.
+Using host-default.o for host machine hooks.
checking for __cxa_atexit... yes
checking whether NLS is requested... yes
checking for catalogs to be installed... be da de el es fi fr id ja nl ru sr sv tr vi zh_CN zh_TW
-@@ -5125,7 +5080,7 @@
+@@ -6246,7 +6205,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -454,7 +581,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -5146,7 +5101,7 @@
+@@ -6267,7 +6226,7 @@
checking if [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -463,16 +590,16 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -5162,7 +5117,7 @@
- checking if g++-4.6 supports -c -o file.o... yes
- checking if g++-4.6 supports -c -o file.o... (cached) yes
- checking whether the g++-4.6 linker (ld) supports shared libraries... yes
+@@ -6283,7 +6242,7 @@
+ checking if [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs supports -c -o file.o... yes
+ checking if [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs supports -c -o file.o... (cached) yes
+ checking whether the [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs linker (ld) supports shared libraries... yes
-checking dynamic linker characteristics... (cached) GNU/Linux ld.so
+checking dynamic linker characteristics... gnu0.3 ld.so
checking how to hardcode library paths into programs... immediate
checking for as... /usr/bin/as
checking what assembler to use... /usr/bin/as
-@@ -5175,7 +5130,7 @@
+@@ -6296,7 +6255,7 @@
checking what objdump to use... /usr/bin/objdump
checking for readelf... /usr/bin/readelf
checking what readelf to use... /usr/bin/readelf
@@ -481,16 +608,7 @@
checking assembler for .balign and .p2align... yes
checking assembler for .p2align with maximum skip... yes
checking assembler for .literal16... no
-@@ -5217,7 +5172,7 @@
- checking assembler for --debug-prefix-map option... yes
- checking assembler for .lcomm with alignment... no
- checking assembler for gnu_unique_object... yes
--ldd (Debian EGLIBC 2.13-7) 2.13
-+ldd (Debian EGLIBC 2.13-10) 2.13
- Copyright (C) 2011 Free Software Foundation, Inc.
- This is free software; see the source for copying conditions. There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-@@ -5294,7 +5249,7 @@
+@@ -6416,7 +6375,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -499,7 +617,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -5326,7 +5281,7 @@
+@@ -6448,7 +6407,7 @@
checking if [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -508,32 +626,55 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -5722,9 +5677,9 @@
+@@ -6844,9 +6803,9 @@
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/dash ../../master/gcc/mkconfig.sh config.h
TARGET_CPU_DEFAULT="" \
-- HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/linux-android.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/linux.h config/i386/gnu-user.h config/i386/linux.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
-+ HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/i386/gnu-user.h config/gnu.h config/i386/gnu.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
+- HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/linux-android.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/linux.h config/i386/gnu-user.h config/i386/linux.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
++ HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/i386/gnu-user.h config/gnu.h config/i386/gnu.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
/bin/dash ../../master/gcc/mkconfig.sh tm.h
-gawk -f ../../master/gcc/opt-gather.awk ../../master/gcc/ada/gcc-interface/lang.opt ../../master/gcc/fortran/lang.opt ../../master/gcc/go/lang.opt ../../master/gcc/java/lang.opt ../../master/gcc/lto/lang.opt ../../master/gcc/c-family/c.opt ../../master/gcc/common.opt ../../master/gcc/config/fused-madd.opt ../../master/gcc/config/i386/i386.opt ../../master/gcc/config/gnu-user.opt ../../master/gcc/config/linux.opt ../../master/gcc/config/linux-android.opt > tmp-optionlist
+gawk -f ../../master/gcc/opt-gather.awk ../../master/gcc/ada/gcc-interface/lang.opt ../../master/gcc/fortran/lang.opt ../../master/gcc/go/lang.opt ../../master/gcc/java/lang.opt ../../master/gcc/lto/lang.opt ../../master/gcc/c-family/c.opt ../../master/gcc/common.opt ../../master/gcc/config/fused-madd.opt ../../master/gcc/config/i386/i386.opt ../../master/gcc/config/gnu-user.opt > tmp-optionlist
/bin/dash ../../master/gcc/../move-if-change tmp-optionlist optionlist
echo timestamp > s-options
gawk -f ../../master/gcc/opt-functions.awk -f ../../master/gcc/opt-read.awk \
-@@ -6386,10 +6341,9 @@
+@@ -6877,7 +6836,7 @@
+ /bin/dash ../../master/gcc/../move-if-change tmp-constants.h insn-constants.h
+ echo timestamp > s-constants
+ TARGET_CPU_DEFAULT="" \
+- HEADERS="../libgcc/config/i386/value-unwind.h" DEFINES="" \
++ HEADERS="" DEFINES="" \
+ /bin/dash ../../master/gcc/mkconfig.sh libgcc_tm.h
+ [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../master/gcc -I../../master/gcc/build -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+ -o build/genmodes.o ../../master/gcc/genmodes.c
+@@ -7004,11 +6963,11 @@
+ "" \
+ "" \
+ "" \
+- "i386-linux-gnu" \
++ "i386-gnu" \
+ "yes" \
+ > tmp-mlib.h; \
+ else \
+- /bin/dash ../../master/gcc/genmultilib '' '' '' '' '' '' '' "i386-linux-gnu" no \
++ /bin/dash ../../master/gcc/genmultilib '' '' '' '' '' '' '' "i386-gnu" no \
+ > tmp-mlib.h; \
+ fi
+ /bin/dash ../../master/gcc/../move-if-change tmp-mlib.h multilib.h
+@@ -7495,10 +7454,9 @@
echo timestamp > s-i386-bt
- [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+ [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
../../master/gcc/config/i386/i386.c -o i386.o
--[...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+-[...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
- ../../master/gcc/config/host-linux.c
-+[...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber ../../master/gcc/host-default.c -o host-default.o
++[...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber ../../master/gcc/host-default.c -o host-default.o
rm -rf libbackend.a
--ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-linux.o
-+ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o
+-ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-linux.o
++ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o
ranlib libbackend.a
build/genhooks "Common Target Hook" \
> tmp-common-target-hooks-def.h
-@@ -6710,7 +6664,7 @@
+@@ -7800,7 +7758,7 @@
make[4]: Leaving directory `[...]/hurd/master.build/prev-gcc'
echo timestamp > stmp-fixinc
rm -f mm_malloc.h
@@ -541,9 +682,9 @@
+cat ../../master/gcc/config/i386/gmm_malloc.h > mm_malloc.h
if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi
- for file in .. ../../master/gcc/ginclude/float.h ../../master/gcc/ginclude/iso646.h ../../master/gcc/ginclude/stdarg.h ../../master/gcc/ginclude/stdbool.h ../../master/gcc/ginclude/stddef.h ../../master/gcc/ginclude/varargs.h ../../master/gcc/ginclude/stdfix.h ../../master/gcc/config/i386/cpuid.h ../../master/gcc/config/i386/mmintrin.h ../../master/gcc/config/i386/mm3dnow.h ../../master/gcc/config/i386/xmmintrin.h ../../master/gcc/config/i386/emmintrin.h ../../master/gcc/config/i386/pmmintrin.h ../../master/gcc/config/i386/tmmintrin.h ../../master/gcc/config/i386/ammintrin.h ../../master/gcc/config/i386/smmintrin.h ../../master/gcc/config/i386/nmmintrin.h ../../master/gcc/config/i386/bmmintrin.h ../../master/gcc/config/i386/fma4intrin.h ../../master/gcc/config/i386/wmmintrin.h ../../master/gcc/config/i386/immintrin.h ../../master/gcc/config/i386/x86intrin.h ../../master/gcc/config/i386/avxintrin.h ../../master/gcc/config/i386/xopintrin.h ../../master/gcc/config/i386/ia32intrin.h ../../master/gcc/config/i386/cross-stdarg.h ../../master/gcc/config/i386/lwpintrin.h ../../master/gcc/config/i386/popcntintrin.h ../../master/gcc/config/i386/abmintrin.h ../../master/gcc/config/i386/bmiintrin.h ../../master/gcc/config/i386/tbmintrin.h mm_malloc.h; do \
-@@ -6931,7 +6885,7 @@
- (pod2man --center="GNU" --release="gcc-4.7.0" --date=2011-07-18 --section=1 rebuild-gcj-db.pod > doc/rebuild-gcj-db.1.T$$ && \
+ for file in .. ../../master/gcc/ginclude/float.h ../../master/gcc/ginclude/iso646.h ../../master/gcc/ginclude/stdarg.h ../../master/gcc/ginclude/stdbool.h ../../master/gcc/ginclude/stddef.h ../../master/gcc/ginclude/varargs.h ../../master/gcc/ginclude/stdfix.h ../../master/gcc/ginclude/stdnoreturn.h ../../master/gcc/config/i386/cpuid.h ../../master/gcc/config/i386/mmintrin.h ../../master/gcc/config/i386/mm3dnow.h ../../master/gcc/config/i386/xmmintrin.h ../../master/gcc/config/i386/emmintrin.h ../../master/gcc/config/i386/pmmintrin.h ../../master/gcc/config/i386/tmmintrin.h ../../master/gcc/config/i386/ammintrin.h ../../master/gcc/config/i386/smmintrin.h ../../master/gcc/config/i386/nmmintrin.h ../../master/gcc/config/i386/bmmintrin.h ../../master/gcc/config/i386/fma4intrin.h ../../master/gcc/config/i386/wmmintrin.h ../../master/gcc/config/i386/immintrin.h ../../master/gcc/config/i386/x86intrin.h ../../master/gcc/config/i386/avxintrin.h ../../master/gcc/config/i386/xopintrin.h ../../master/gcc/config/i386/ia32intrin.h ../../master/gcc/config/i386/cross-stdarg.h ../../master/gcc/config/i386/lwpintrin.h ../../master/gcc/config/i386/popcntintrin.h ../../master/gcc/config/i386/lzcntintrin.h ../../master/gcc/config/i386/bmiintrin.h ../../master/gcc/config/i386/bmi2intrin.h ../../master/gcc/config/i386/tbmintrin.h ../../master/gcc/config/i386/avx2intrin.h ../../master/gcc/config/i386/fmaintrin.h mm_malloc.h; do \
+@@ -8019,7 +7977,7 @@
+ (pod2man --center="GNU" --release="gcc-4.7.0" --date=2011-09-05 --section=1 rebuild-gcj-db.pod > doc/rebuild-gcj-db.1.T$$ && \
mv -f doc/rebuild-gcj-db.1.T$$ doc/rebuild-gcj-db.1) || \
(rm -f doc/rebuild-gcj-db.1.T$$ && exit 1)
-rm gcj-dbtool.pod jcf-dump.pod jv-convert.pod grmic.pod gcj.pod gc-analyze.pod gfdl.pod cpp.pod gij.pod gcov.pod gfortran.pod fsf-funding.pod gcc.pod
@@ -551,16 +692,44 @@
make[3]: Leaving directory `[...]/hurd/master.build/gcc'
mkdir -p -- [ARCH]/libgcc
Checking multilib configuration for libgcc...
-@@ -6966,7 +6920,7 @@
- configure: creating ./config.status
+@@ -8069,7 +8027,7 @@
config.status: creating Makefile
config.status: linking ../../../master/libgcc/enable-execute-stack-empty.c to enable-execute-stack.c
+ config.status: linking ../../../master/libgcc/unwind-generic.h to unwind.h
-config.status: linking ../../../master/libgcc/config/i386/linux-unwind.h to md-unwind-support.h
+config.status: linking ../../../master/libgcc/config/no-unwind.h to md-unwind-support.h
+ config.status: linking ../../../master/libgcc/config/i386/sfp-machine.h to sfp-machine.h
config.status: executing default commands
Adding multilib support to Makefile in ../../../master/libgcc
- multidirs=
-@@ -7652,7 +7606,7 @@
+@@ -8409,10 +8367,13 @@
+ ../../../master/libgcc/soft-fp/divtf3.c:45:3: warning: 'R_e' may be used uninitialized in this function [-Wmaybe-uninitialized]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o eqtf2.o -MT eqtf2.o -MD -MP -MF eqtf2.dep -c ../../../master/libgcc/soft-fp/eqtf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o getf2.o -MT getf2.o -MD -MP -MF getf2.dep -c ../../../master/libgcc/soft-fp/getf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o letf2.o -MT letf2.o -MD -MP -MF letf2.dep -c ../../../master/libgcc/soft-fp/letf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o multf3.o -MT multf3.o -MD -MP -MF multf3.dep -c ../../../master/libgcc/soft-fp/multf3.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' [-Wmissing-prototypes]
+ ../../../master/libgcc/soft-fp/multf3.c: In function '__multf3':
+@@ -8621,10 +8582,13 @@
+ ../../../master/libgcc/soft-fp/divtf3.c:45:3: warning: 'R_e' may be used uninitialized in this function [-Wmaybe-uninitialized]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o eqtf2_s.o -MT eqtf2_s.o -MD -MP -MF eqtf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/eqtf2.c
+ ../../../master/libgcc/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o getf2_s.o -MT getf2_s.o -MD -MP -MF getf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/getf2.c
+ ../../../master/libgcc/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o letf2_s.o -MT letf2_s.o -MD -MP -MF letf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/letf2.c
+ ../../../master/libgcc/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o multf3_s.o -MT multf3_s.o -MD -MP -MF multf3_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/multf3.c
+ ../../../master/libgcc/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' [-Wmissing-prototypes]
+ ../../../master/libgcc/soft-fp/multf3.c: In function '__multf3':
+@@ -8817,7 +8781,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -569,7 +738,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -7683,7 +7637,7 @@
+@@ -8848,7 +8812,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -578,7 +747,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -7702,7 +7656,7 @@
+@@ -8867,7 +8831,7 @@
checking if [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
checking if [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -587,16 +756,81 @@
checking how to hardcode library paths into programs... immediate
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
-@@ -7865,7 +7819,7 @@
+@@ -8960,7 +8924,7 @@
+ checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... yes
+ checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
+ checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
+-checking the maximum length of command line arguments... 805306365
++checking the maximum length of command line arguments... -1
+ checking whether the shell understands some XSI constructs... yes
+ checking whether the shell understands "+="... no
+ checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
+@@ -8990,7 +8954,7 @@
+ checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
+ checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
+ checking whether -lc should be explicitly linked in... no
+-checking dynamic linker characteristics... GNU/Linux ld.so
++checking dynamic linker characteristics... gnu0.3 ld.so
+ checking how to hardcode library paths into programs... immediate
+ checking for shl_load... no
+ checking for shl_load in -ldld... no
+@@ -9012,7 +8976,7 @@
+ checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
+ checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
+ checking whether the [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
+-checking dynamic linker characteristics... (cached) GNU/Linux ld.so
++checking dynamic linker characteristics... gnu0.3 ld.so
+ checking how to hardcode library paths into programs... immediate
+ checking for exception model to use... call frame
+ checking for compiler with PCH support... yes
+@@ -9060,8 +9024,8 @@
+ checking for parallel mode support... yes
+ checking for extra compiler flags for building...
+ checking for extern template support... yes
+-checking for EOWNERDEAD... yes
+-checking for ENOTRECOVERABLE... yes
++checking for EOWNERDEAD... no
++checking for ENOTRECOVERABLE... no
+ checking for ENOLINK... yes
+ checking for EPROTO... yes
+ checking for ENODATA... yes
+@@ -9324,7 +9288,7 @@
+ checking for sys/resource.h... (cached) yes
+ checking for RLIMIT_DATA... yes
+ checking for RLIMIT_RSS... yes
+-checking for RLIMIT_VMEM... no
++checking for RLIMIT_VMEM... yes
+ checking for RLIMIT_AS... yes
+ checking for RLIMIT_FSIZE... yes
+ checking for testsuite resource limits support... yes
+@@ -9730,6 +9694,8 @@
+ ln -s [...]/hurd/master/libstdc++-v3/config/io/basic_file_stdio.cc ./basic_file.cc || true
+ /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c -o basic_file.lo basic_file.cc
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c basic_file.cc -fPIC -DPIC -o .libs/basic_file.o
++basic_file.cc: In member function 'std::streamsize std::__basic_file<char>::showmanyc()':
++basic_file.cc:347:33: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c basic_file.cc -o basic_file.o >/dev/null 2>&1
+ ln -s [...]/hurd/master/libstdc++-v3/config/locale/gnu/c_locale.cc ./c++locale.cc || true
+ /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=c++locale.lo -g -O2 -D_GNU_SOURCE -c -o c++locale.lo c++locale.cc
+@@ -9807,7 +9773,7 @@
+ libtool: link: (cd ".libs" && rm -f "libstdc++.so.6" && ln -s "libstdc++.so.6.0.17" "libstdc++.so.6")
+ libtool: link: (cd ".libs" && rm -f "libstdc++.so" && ln -s "libstdc++.so.6.0.17" "libstdc++.so")
+ libtool: link: (cd .libs/libstdc++.lax/libsupc++convenience.a && ar x "[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a")
+-libtool: link: ar rc .libs/libstdc++.a atomic.o bitmap_allocator.o pool_allocator.o mt_allocator.o codecvt.o compatibility.o compatibility-c++0x.o compatibility-debug_list.o compatibility-debug_list-2.o compatibility-list.o compatibility-list-2.o complex_io.o ctype.o debug.o functexcept.o functional.o globals_io.o hash_c++0x.o hash_tr1.o hashtable_c++0x.o hashtable_tr1.o ios.o ios_failure.o ios_init.o ios_locale.o limits.o list.o locale.o locale_init.o locale_facets.o localename.o math_stubs_float.o math_stubs_long_double.o stdexcept.o strstream.o system_error.o tree.o istream.o placeholders.o regex.o shared_ptr.o streambuf.o mutex.o condition_variable.o chrono.o thread.o future.o valarray.o atomicity.o codecvt_members.o collate_members.o ctype_configure_char.o ctype_members.o messages_members.o monetary_members.o numeric_members.o time_members.o basic_file.o c++locale.o allocator-inst.o concept-inst.o ext-inst.o fstream-inst.o ios-inst.o iostream-inst.o istream-inst.o locale-inst.o misc-inst.o ostream-inst.o sstream-inst.o streambuf-inst.o string-inst.o wlocale-inst.o wstring-inst.o parallel_settings.o compatibility-parallel_list.o compatibility-parallel_list-2.o .libs/libstdc++.lax/libsupc++convenience.a/new_opv.o .libs/libstdc++.lax/libsupc++convenience.a/si_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/del_op.o .libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o .libs/libstdc++.lax/libsupc++convenience.a/enum_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/bad_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_call.o .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o .libs/libstdc++.lax/libsupc++convenience.a/function_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/cp-demangle.o .libs/libstdc++.lax/libsupc++convenience.a/guard_error.o .libs/libstdc++.lax/libsupc++convenience.a/atexit_arm.o .libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o .libs/libstdc++.lax/libsupc++convenience.a/eh_terminate.o .libs/libstdc++.lax/libsupc++convenience.a/guard.o .libs/libstdc++.lax/libsupc++convenience.a/eh_catch.o .libs/libstdc++.lax/libsupc++convenience.a/fundamental_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/hash_bytes.o .libs/libstdc++.lax/libsupc++convenience.a/nested_exception.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo.o .libs/libstdc++.lax/libsupc++convenience.a/new_handler.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o .libs/libstdc++.lax/libsupc++convenience.a/pointer_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_ptr.o .libs/libstdc++.lax/libsupc++convenience.a/pmem_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/vec.o .libs/libstdc++.lax/libsupc++convenience.a/eh_arm.o .libs/libstdc++.lax/libsupc++convenience.a/class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_type.o .libs/libstdc++.lax/libsupc++convenience.a/eh_unex_handler.o .libs/libstdc++.lax/libsupc++convenience.a/del_opv.o .libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o .libs/libstdc++.lax/libsupc++convenience.a/pbase_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o .libs/libstdc++.lax/libsupc++convenience.a/eh_term_handler.o .libs/libstdc++.lax/libsupc++convenience.a/array_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/vmi_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/new_op.o .libs/libstdc++.lax/libsupc++convenience.a/bad_cast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o .libs/libstdc++.lax/libsupc++convenience.a/bad_typeid.o .libs/libstdc++.lax/libsupc++convenience.a/dyncast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/pure.o
++libtool: link: ar rc .libs/libstdc++.a atomic.o bitmap_allocator.o pool_allocator.o mt_allocator.o codecvt.o compatibility.o compatibility-c++0x.o compatibility-debug_list.o compatibility-debug_list-2.o compatibility-list.o compatibility-list-2.o complex_io.o ctype.o debug.o functexcept.o functional.o globals_io.o hash_c++0x.o hash_tr1.o hashtable_c++0x.o hashtable_tr1.o ios.o ios_failure.o ios_init.o ios_locale.o limits.o list.o locale.o locale_init.o locale_facets.o localename.o math_stubs_float.o math_stubs_long_double.o stdexcept.o strstream.o system_error.o tree.o istream.o placeholders.o regex.o shared_ptr.o streambuf.o mutex.o condition_variable.o chrono.o thread.o future.o valarray.o atomicity.o codecvt_members.o collate_members.o ctype_configure_char.o ctype_members.o messages_members.o monetary_members.o numeric_members.o time_members.o basic_file.o c++locale.o allocator-inst.o concept-inst.o ext-inst.o fstream-inst.o ios-inst.o iostream-inst.o istream-inst.o locale-inst.o misc-inst.o ostream-inst.o sstream-inst.o streambuf-inst.o string-inst.o wlocale-inst.o wstring-inst.o parallel_settings.o compatibility-parallel_list.o compatibility-parallel_list-2.o .libs/libstdc++.lax/libsupc++convenience.a/array_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/atexit_arm.o .libs/libstdc++.lax/libsupc++convenience.a/bad_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/bad_cast.o .libs/libstdc++.lax/libsupc++convenience.a/bad_typeid.o .libs/libstdc++.lax/libsupc++convenience.a/class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/del_op.o .libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/del_opv.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/dyncast.o .libs/libstdc++.lax/libsupc++convenience.a/eh_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_arm.o .libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o .libs/libstdc++.lax/libsupc++convenience.a/eh_call.o .libs/libstdc++.lax/libsupc++convenience.a/eh_catch.o .libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o .libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o .libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o .libs/libstdc++.lax/libsupc++convenience.a/eh_ptr.o .libs/libstdc++.lax/libsupc++convenience.a/eh_term_handler.o .libs/libstdc++.lax/libsupc++convenience.a/eh_terminate.o .libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o .libs/libstdc++.lax/libsupc++convenience.a/eh_type.o .libs/libstdc++.lax/libsupc++convenience.a/eh_unex_handler.o .libs/libstdc++.lax/libsupc++convenience.a/enum_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/function_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/fundamental_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/guard.o .libs/libstdc++.lax/libsupc++convenience.a/guard_error.o .libs/libstdc++.lax/libsupc++convenience.a/hash_bytes.o .libs/libstdc++.lax/libsupc++convenience.a/nested_exception.o .libs/libstdc++.lax/libsupc++convenience.a/new_handler.o .libs/libstdc++.lax/libsupc++convenience.a/new_op.o .libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/new_opv.o .libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/pbase_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/pmem_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/pointer_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/pure.o .libs/libstdc++.lax/libsupc++convenience.a/si_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o .libs/libstdc++.lax/libsupc++convenience.a/vec.o .libs/libstdc++.lax/libsupc++convenience.a/vmi_class_type_info.o .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o .libs/libstdc++.lax/libsupc++convenience.a/cp-demangle.o
+ libtool: link: ranlib .libs/libstdc++.a
+ libtool: link: rm -fr .libs/libstdc++.lax
+ libtool: link: ( cd ".libs" && rm -f "libstdc++.la" && ln -s "../libstdc++.la" "libstdc++.la" )
+@@ -9987,7 +9953,7 @@
libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libgomp -I../../../master/libgomp/config/posix -I../../../master/libgomp -Wall -pthread -Werror -g -O2 -MT affinity.lo -MD -MP -MF .deps/affinity.Tpo -c ../../../master/libgomp/config/[SYSDEP]/affinity.c -o affinity.o >/dev/null 2>&1
mv -f .deps/affinity.Tpo .deps/affinity.Plo
- /bin/dash ./libtool --tag CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -Wall -Werror -Wc,-pthread -g -O2 -Wl,-O1 -o libgomp.la -version-info 1:0:0 -Wl,--version-script,../../../master/libgomp/libgomp.map -rpath [...]/hurd/master.build.install/lib alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lrt
+ /bin/dash ./libtool --tag CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -Wall -Werror -Wc,-pthread -g -O2 -Wl,-O1 -o libgomp.la -version-info 1:0:0 -Wl,--version-script,../../../master/libgomp/libgomp.map -rpath [...]/hurd/master.build.install/lib/ alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lrt
-libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -march=i486 -mtune=i686 -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
+libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
libtool: link: (cd ".libs" && rm -f "libgomp.so.1" && ln -s "libgomp.so.1.0.0" "libgomp.so.1")
libtool: link: (cd ".libs" && rm -f "libgomp.so" && ln -s "libgomp.so.1.0.0" "libgomp.so")
libtool: link: ar rc .libs/libgomp.a alloc.o barrier.o critical.o env.o error.o iter.o iter_ull.o loop.o loop_ull.o ordered.o parallel.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o sem.o bar.o ptrlock.o time.o fortran.o affinity.o
-@@ -7963,7 +7917,7 @@
+@@ -10086,7 +10052,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -605,7 +839,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -7995,7 +7949,7 @@
+@@ -10118,7 +10084,7 @@
checking if [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -614,7 +848,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -8074,12 +8028,12 @@
+@@ -10197,12 +10163,12 @@
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
checking for sys/table.h... no
@@ -629,7 +863,7 @@
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether errno must be declared... no
-@@ -8149,13 +8103,13 @@
+@@ -10272,13 +10238,13 @@
checking for working fork... yes
checking for working vfork... (cached) yes
checking for _doprnt... no
@@ -643,10 +877,10 @@
checking for canonicalize_file_name... yes
-checking for dup3... yes
+checking for dup3... no
+ checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
- checking for gettimeofday... (cached) yes
-@@ -8170,7 +8124,7 @@
+@@ -10295,7 +10261,7 @@
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
@@ -655,7 +889,7 @@
checking for sysmp... no
checking for table... no
checking for times... yes
-@@ -8828,17 +8782,16 @@
+@@ -10967,18 +10933,17 @@
Using the following target machine macro files:
../../master/gcc/config/vxworks-dummy.h
../../master/gcc/config/i386/i386.h
@@ -669,14 +903,15 @@
- ../../master/gcc/config/linux.h
../../master/gcc/config/i386/gnu-user.h
- ../../master/gcc/config/i386/linux.h
--Using host-linux.o for host machine hooks.
+ ../../master/gcc/config/gnu.h
+ ../../master/gcc/config/i386/gnu.h
+ ../../master/gcc/config/initfini-array.h
+-Using host-linux.o for host machine hooks.
+Using host-default.o for host machine hooks.
checking for __cxa_atexit... yes
checking whether NLS is requested... yes
checking for catalogs to be installed... be da de el es fi fr id ja nl ru sr sv tr vi zh_CN zh_TW
-@@ -8850,7 +8803,7 @@
+@@ -10990,7 +10955,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -685,7 +920,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -8871,7 +8824,7 @@
+@@ -11011,7 +10976,7 @@
checking if [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -694,16 +929,16 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -8887,7 +8840,7 @@
- checking if g++-4.6 supports -c -o file.o... yes
- checking if g++-4.6 supports -c -o file.o... (cached) yes
- checking whether the g++-4.6 linker (ld) supports shared libraries... yes
+@@ -11027,7 +10992,7 @@
+ checking if [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs supports -c -o file.o... yes
+ checking if [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs supports -c -o file.o... (cached) yes
+ checking whether the [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs linker (ld) supports shared libraries... yes
-checking dynamic linker characteristics... (cached) GNU/Linux ld.so
+checking dynamic linker characteristics... gnu0.3 ld.so
checking how to hardcode library paths into programs... immediate
checking for as... /usr/bin/as
checking what assembler to use... /usr/bin/as
-@@ -8900,7 +8853,7 @@
+@@ -11040,7 +11005,7 @@
checking what objdump to use... /usr/bin/objdump
checking for readelf... /usr/bin/readelf
checking what readelf to use... /usr/bin/readelf
@@ -712,16 +947,7 @@
checking assembler for .balign and .p2align... yes
checking assembler for .p2align with maximum skip... yes
checking assembler for .literal16... no
-@@ -8942,7 +8895,7 @@
- checking assembler for --debug-prefix-map option... yes
- checking assembler for .lcomm with alignment... no
- checking assembler for gnu_unique_object... yes
--ldd (Debian EGLIBC 2.13-7) 2.13
-+ldd (Debian EGLIBC 2.13-10) 2.13
- Copyright (C) 2011 Free Software Foundation, Inc.
- This is free software; see the source for copying conditions. There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-@@ -9019,7 +8972,7 @@
+@@ -11160,7 +11125,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -730,7 +956,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -9051,7 +9004,7 @@
+@@ -11192,7 +11157,7 @@
checking if [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -739,32 +965,55 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -9447,9 +9400,9 @@
+@@ -11588,9 +11553,9 @@
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/dash ../../master/gcc/mkconfig.sh config.h
TARGET_CPU_DEFAULT="" \
-- HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/linux-android.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/linux.h config/i386/gnu-user.h config/i386/linux.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
-+ HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/i386/gnu-user.h config/gnu.h config/i386/gnu.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
+- HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/linux-android.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/linux.h config/i386/gnu-user.h config/i386/linux.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
++ HEADERS="options.h insn-constants.h config/vxworks-dummy.h config/i386/i386.h config/i386/unix.h config/i386/att.h config/dbxelf.h config/elfos.h config/gnu-user.h config/glibc-stdint.h config/i386/gnu-user.h config/gnu.h config/i386/gnu.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 DEFAULT_LIBC=LIBC_GLIBC ANDROID_DEFAULT=0" \
/bin/dash ../../master/gcc/mkconfig.sh tm.h
-gawk -f ../../master/gcc/opt-gather.awk ../../master/gcc/ada/gcc-interface/lang.opt ../../master/gcc/fortran/lang.opt ../../master/gcc/go/lang.opt ../../master/gcc/java/lang.opt ../../master/gcc/lto/lang.opt ../../master/gcc/c-family/c.opt ../../master/gcc/common.opt ../../master/gcc/config/fused-madd.opt ../../master/gcc/config/i386/i386.opt ../../master/gcc/config/gnu-user.opt ../../master/gcc/config/linux.opt ../../master/gcc/config/linux-android.opt > tmp-optionlist
+gawk -f ../../master/gcc/opt-gather.awk ../../master/gcc/ada/gcc-interface/lang.opt ../../master/gcc/fortran/lang.opt ../../master/gcc/go/lang.opt ../../master/gcc/java/lang.opt ../../master/gcc/lto/lang.opt ../../master/gcc/c-family/c.opt ../../master/gcc/common.opt ../../master/gcc/config/fused-madd.opt ../../master/gcc/config/i386/i386.opt ../../master/gcc/config/gnu-user.opt > tmp-optionlist
/bin/dash ../../master/gcc/../move-if-change tmp-optionlist optionlist
echo timestamp > s-options
gawk -f ../../master/gcc/opt-functions.awk -f ../../master/gcc/opt-read.awk \
-@@ -10111,10 +10064,9 @@
+@@ -11621,7 +11586,7 @@
+ /bin/dash ../../master/gcc/../move-if-change tmp-constants.h insn-constants.h
+ echo timestamp > s-constants
+ TARGET_CPU_DEFAULT="" \
+- HEADERS="../libgcc/config/i386/value-unwind.h" DEFINES="" \
++ HEADERS="" DEFINES="" \
+ /bin/dash ../../master/gcc/mkconfig.sh libgcc_tm.h
+ [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../master/gcc -I../../master/gcc/build -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+ -o build/genmodes.o ../../master/gcc/genmodes.c
+@@ -11748,11 +11713,11 @@
+ "" \
+ "" \
+ "" \
+- "i386-linux-gnu" \
++ "i386-gnu" \
+ "yes" \
+ > tmp-mlib.h; \
+ else \
+- /bin/dash ../../master/gcc/genmultilib '' '' '' '' '' '' '' "i386-linux-gnu" no \
++ /bin/dash ../../master/gcc/genmultilib '' '' '' '' '' '' '' "i386-gnu" no \
+ > tmp-mlib.h; \
+ fi
+ /bin/dash ../../master/gcc/../move-if-change tmp-mlib.h multilib.h
+@@ -12239,10 +12204,9 @@
echo timestamp > s-i386-bt
- [...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+ [...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
../../master/gcc/config/i386/i386.c -o i386.o
--[...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
+-[...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber \
- ../../master/gcc/config/host-linux.c
-+[...]/hurd/master.build/./prev-gcc/xgcc -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber ../../master/gcc/host-default.c -o host-default.o
++[...]/hurd/master.build/./prev-gcc/g++ -B[...]/hurd/master.build/./prev-gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -nostdinc++ -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/src/.libs -L[...]/hurd/master.build/prev-[ARCH]/libstdc++-v3/libsupc++/.libs -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libcpp/include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber ../../master/gcc/host-default.c -o host-default.o
rm -rf libbackend.a
--ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-linux.o
-+ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o
+-ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-linux.o
++ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o cgraph.o cgraphbuild.o cgraphunit.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2cfi.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-cloog-util.o graphite-dependences.o graphite-flattening.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o implicit-zee.o incpath.o init-regs.o integrate.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o matrix-reorg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o
ranlib libbackend.a
build/genhooks "Common Target Hook" \
> tmp-common-target-hooks-def.h
-@@ -10435,7 +10387,7 @@
+@@ -12544,7 +12508,7 @@
make[4]: Leaving directory `[...]/hurd/master.build/prev-gcc'
echo timestamp > stmp-fixinc
rm -f mm_malloc.h
@@ -772,9 +1021,9 @@
+cat ../../master/gcc/config/i386/gmm_malloc.h > mm_malloc.h
if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi
- for file in .. ../../master/gcc/ginclude/float.h ../../master/gcc/ginclude/iso646.h ../../master/gcc/ginclude/stdarg.h ../../master/gcc/ginclude/stdbool.h ../../master/gcc/ginclude/stddef.h ../../master/gcc/ginclude/varargs.h ../../master/gcc/ginclude/stdfix.h ../../master/gcc/config/i386/cpuid.h ../../master/gcc/config/i386/mmintrin.h ../../master/gcc/config/i386/mm3dnow.h ../../master/gcc/config/i386/xmmintrin.h ../../master/gcc/config/i386/emmintrin.h ../../master/gcc/config/i386/pmmintrin.h ../../master/gcc/config/i386/tmmintrin.h ../../master/gcc/config/i386/ammintrin.h ../../master/gcc/config/i386/smmintrin.h ../../master/gcc/config/i386/nmmintrin.h ../../master/gcc/config/i386/bmmintrin.h ../../master/gcc/config/i386/fma4intrin.h ../../master/gcc/config/i386/wmmintrin.h ../../master/gcc/config/i386/immintrin.h ../../master/gcc/config/i386/x86intrin.h ../../master/gcc/config/i386/avxintrin.h ../../master/gcc/config/i386/xopintrin.h ../../master/gcc/config/i386/ia32intrin.h ../../master/gcc/config/i386/cross-stdarg.h ../../master/gcc/config/i386/lwpintrin.h ../../master/gcc/config/i386/popcntintrin.h ../../master/gcc/config/i386/abmintrin.h ../../master/gcc/config/i386/bmiintrin.h ../../master/gcc/config/i386/tbmintrin.h mm_malloc.h; do \
-@@ -10656,7 +10608,7 @@
- (pod2man --center="GNU" --release="gcc-4.7.0" --date=2011-07-18 --section=1 rebuild-gcj-db.pod > doc/rebuild-gcj-db.1.T$$ && \
+ for file in .. ../../master/gcc/ginclude/float.h ../../master/gcc/ginclude/iso646.h ../../master/gcc/ginclude/stdarg.h ../../master/gcc/ginclude/stdbool.h ../../master/gcc/ginclude/stddef.h ../../master/gcc/ginclude/varargs.h ../../master/gcc/ginclude/stdfix.h ../../master/gcc/ginclude/stdnoreturn.h ../../master/gcc/config/i386/cpuid.h ../../master/gcc/config/i386/mmintrin.h ../../master/gcc/config/i386/mm3dnow.h ../../master/gcc/config/i386/xmmintrin.h ../../master/gcc/config/i386/emmintrin.h ../../master/gcc/config/i386/pmmintrin.h ../../master/gcc/config/i386/tmmintrin.h ../../master/gcc/config/i386/ammintrin.h ../../master/gcc/config/i386/smmintrin.h ../../master/gcc/config/i386/nmmintrin.h ../../master/gcc/config/i386/bmmintrin.h ../../master/gcc/config/i386/fma4intrin.h ../../master/gcc/config/i386/wmmintrin.h ../../master/gcc/config/i386/immintrin.h ../../master/gcc/config/i386/x86intrin.h ../../master/gcc/config/i386/avxintrin.h ../../master/gcc/config/i386/xopintrin.h ../../master/gcc/config/i386/ia32intrin.h ../../master/gcc/config/i386/cross-stdarg.h ../../master/gcc/config/i386/lwpintrin.h ../../master/gcc/config/i386/popcntintrin.h ../../master/gcc/config/i386/lzcntintrin.h ../../master/gcc/config/i386/bmiintrin.h ../../master/gcc/config/i386/bmi2intrin.h ../../master/gcc/config/i386/tbmintrin.h ../../master/gcc/config/i386/avx2intrin.h ../../master/gcc/config/i386/fmaintrin.h mm_malloc.h; do \
+@@ -12763,7 +12727,7 @@
+ (pod2man --center="GNU" --release="gcc-4.7.0" --date=2011-09-05 --section=1 rebuild-gcj-db.pod > doc/rebuild-gcj-db.1.T$$ && \
mv -f doc/rebuild-gcj-db.1.T$$ doc/rebuild-gcj-db.1) || \
(rm -f doc/rebuild-gcj-db.1.T$$ && exit 1)
-rm gcj-dbtool.pod jcf-dump.pod jv-convert.pod grmic.pod gcj.pod gc-analyze.pod gfdl.pod cpp.pod gij.pod gcov.pod gfortran.pod fsf-funding.pod gcc.pod
@@ -782,16 +1031,44 @@
make[3]: Leaving directory `[...]/hurd/master.build/gcc'
mkdir -p -- [ARCH]/libgcc
Checking multilib configuration for libgcc...
-@@ -10691,7 +10643,7 @@
- configure: creating ./config.status
+@@ -12813,7 +12777,7 @@
config.status: creating Makefile
config.status: linking ../../../master/libgcc/enable-execute-stack-empty.c to enable-execute-stack.c
+ config.status: linking ../../../master/libgcc/unwind-generic.h to unwind.h
-config.status: linking ../../../master/libgcc/config/i386/linux-unwind.h to md-unwind-support.h
+config.status: linking ../../../master/libgcc/config/no-unwind.h to md-unwind-support.h
+ config.status: linking ../../../master/libgcc/config/i386/sfp-machine.h to sfp-machine.h
config.status: executing default commands
Adding multilib support to Makefile in ../../../master/libgcc
- multidirs=
-@@ -11377,7 +11329,7 @@
+@@ -13153,10 +13117,13 @@
+ ../../../master/libgcc/soft-fp/divtf3.c:45:3: warning: 'R_e' may be used uninitialized in this function [-Wmaybe-uninitialized]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o eqtf2.o -MT eqtf2.o -MD -MP -MF eqtf2.dep -c ../../../master/libgcc/soft-fp/eqtf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o getf2.o -MT getf2.o -MD -MP -MF getf2.dep -c ../../../master/libgcc/soft-fp/getf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o letf2.o -MT letf2.o -MD -MP -MF letf2.dep -c ../../../master/libgcc/soft-fp/letf2.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o multf3.o -MT multf3.o -MD -MP -MF multf3.dep -c ../../../master/libgcc/soft-fp/multf3.c -fvisibility=hidden -DHIDE_EXPORTS
+ ../../../master/libgcc/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' [-Wmissing-prototypes]
+ ../../../master/libgcc/soft-fp/multf3.c: In function '__multf3':
+@@ -13365,10 +13332,13 @@
+ ../../../master/libgcc/soft-fp/divtf3.c:45:3: warning: 'R_e' may be used uninitialized in this function [-Wmaybe-uninitialized]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o eqtf2_s.o -MT eqtf2_s.o -MD -MP -MF eqtf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/eqtf2.c
+ ../../../master/libgcc/soft-fp/eqtf2.c:35:9: warning: no previous prototype for '__eqtf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/eqtf2.c:51:1: warning: no previous prototype for '__netf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o getf2_s.o -MT getf2_s.o -MD -MP -MF getf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/getf2.c
+ ../../../master/libgcc/soft-fp/getf2.c:35:9: warning: no previous prototype for '__getf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/getf2.c:51:1: warning: no previous prototype for '__gttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o letf2_s.o -MT letf2_s.o -MD -MP -MF letf2_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/letf2.c
+ ../../../master/libgcc/soft-fp/letf2.c:35:9: warning: no previous prototype for '__letf2' [-Wmissing-prototypes]
++../../../master/libgcc/soft-fp/letf2.c:51:1: warning: no previous prototype for '__lttf2' [-Wmissing-prototypes]
+ [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -g -O2 -O2 -I. -I. -I../../master/gcc -I../../master/gcc/. -I../../master/gcc/../include -I../../master/gcc/../libdecnumber -I../../master/gcc/../libdecnumber/bid -I../libdecnumber -I../../master/gcc/../libgcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -I. -I. -I../.././gcc -I../../../master/libgcc -I../../../master/libgcc/. -I../../../master/libgcc/../gcc -I../../../master/libgcc/../include -I../../../master/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o multf3_s.o -MT multf3_s.o -MD -MP -MF multf3_s.dep -DSHARED -c ../../../master/libgcc/soft-fp/multf3.c
+ ../../../master/libgcc/soft-fp/multf3.c:35:8: warning: no previous prototype for '__multf3' [-Wmissing-prototypes]
+ ../../../master/libgcc/soft-fp/multf3.c: In function '__multf3':
+@@ -13561,7 +13531,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -800,7 +1077,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -11408,7 +11360,7 @@
+@@ -13592,7 +13562,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -809,7 +1086,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -11427,7 +11379,7 @@
+@@ -13611,7 +13581,7 @@
checking if [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
checking if [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -818,34 +1095,7 @@
checking how to hardcode library paths into programs... immediate
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
-@@ -11590,7 +11542,7 @@
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libgomp -I../../../master/libgomp/config/posix -I../../../master/libgomp -Wall -pthread -Werror -g -O2 -MT affinity.lo -MD -MP -MF .deps/affinity.Tpo -c ../../../master/libgomp/config/[SYSDEP]/affinity.c -o affinity.o >/dev/null 2>&1
- mv -f .deps/affinity.Tpo .deps/affinity.Plo
- /bin/dash ./libtool --tag CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -Wall -Werror -Wc,-pthread -g -O2 -Wl,-O1 -o libgomp.la -version-info 1:0:0 -Wl,--version-script,../../../master/libgomp/libgomp.map -rpath [...]/hurd/master.build.install/lib alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lrt
--libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -march=i486 -mtune=i686 -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
-+libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
- libtool: link: (cd ".libs" && rm -f "libgomp.so.1" && ln -s "libgomp.so.1.0.0" "libgomp.so.1")
- libtool: link: (cd ".libs" && rm -f "libgomp.so" && ln -s "libgomp.so.1.0.0" "libgomp.so")
- libtool: link: ar rc .libs/libgomp.a alloc.o barrier.o critical.o env.o error.o iter.o iter_ull.o loop.o loop_ull.o ordered.o parallel.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o sem.o bar.o ptrlock.o time.o fortran.o affinity.o
-@@ -11644,6 +11596,7 @@
- fi
- make[6]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
- [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -L. -Wall -L../libgfortran -fsyntax-only omp_lib.f90
-+:
- make[5]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
- make[4]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
- make[3]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
-@@ -11655,8 +11608,8 @@
- make[3]: Leaving directory `[...]/hurd/master.build'
- Comparing stages 2 and 3
- warning: gcc/cc1-checksum.o differs
--warning: gcc/cc1obj-checksum.o differs
- warning: gcc/cc1plus-checksum.o differs
-+warning: gcc/cc1obj-checksum.o differs
- Comparison successful.
- if false; then \
- rm -rf stage2-*; \
-@@ -11835,7 +11788,7 @@
+@@ -13704,7 +13674,7 @@
checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
@@ -854,7 +1104,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -11865,7 +11818,7 @@
+@@ -13734,7 +13704,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -863,7 +1113,7 @@
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
-@@ -11887,7 +11840,7 @@
+@@ -13756,7 +13726,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -872,7 +1122,7 @@
checking how to hardcode library paths into programs... immediate
checking for exception model to use... call frame
checking for compiler with PCH support... yes
-@@ -11935,8 +11888,8 @@
+@@ -13804,8 +13774,8 @@
checking for parallel mode support... yes
checking for extra compiler flags for building...
checking for extern template support... yes
@@ -883,7 +1133,7 @@
checking for ENOLINK... yes
checking for EPROTO... yes
checking for ENODATA... yes
-@@ -12194,7 +12147,7 @@
+@@ -14068,7 +14038,7 @@
checking for sys/resource.h... (cached) yes
checking for RLIMIT_DATA... yes
checking for RLIMIT_RSS... yes
@@ -892,16 +1142,16 @@
checking for RLIMIT_AS... yes
checking for RLIMIT_FSIZE... yes
checking for testsuite resource limits support... yes
-@@ -12600,6 +12553,8 @@
+@@ -14474,6 +14444,8 @@
ln -s [...]/hurd/master/libstdc++-v3/config/io/basic_file_stdio.cc ./basic_file.cc || true
- /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c -o basic_file.lo basic_file.cc
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c basic_file.cc -fPIC -DPIC -o .libs/basic_file.o
+ /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c -o basic_file.lo basic_file.cc
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c basic_file.cc -fPIC -DPIC -o .libs/basic_file.o
+basic_file.cc: In member function 'std::streamsize std::__basic_file<char>::showmanyc()':
+basic_file.cc:347:33: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c basic_file.cc -o basic_file.o >/dev/null 2>&1
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=basic_file.lo -g -O2 -D_GNU_SOURCE -c basic_file.cc -o basic_file.o >/dev/null 2>&1
ln -s [...]/hurd/master/libstdc++-v3/config/locale/gnu/c_locale.cc ./c++locale.cc || true
- /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c -o c++locale.lo c++locale.cc
-@@ -12677,7 +12632,7 @@
+ /bin/dash ../libtool --tag CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=c++locale.lo -g -O2 -D_GNU_SOURCE -c -o c++locale.lo c++locale.cc
+@@ -14551,7 +14523,7 @@
libtool: link: (cd ".libs" && rm -f "libstdc++.so.6" && ln -s "libstdc++.so.6.0.17" "libstdc++.so.6")
libtool: link: (cd ".libs" && rm -f "libstdc++.so" && ln -s "libstdc++.so.6.0.17" "libstdc++.so")
libtool: link: (cd .libs/libstdc++.lax/libsupc++convenience.a && ar x "[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a")
@@ -910,7 +1160,34 @@
libtool: link: ranlib .libs/libstdc++.a
libtool: link: rm -fr .libs/libstdc++.lax
libtool: link: ( cd ".libs" && rm -f "libstdc++.la" && ln -s "../libstdc++.la" "libstdc++.la" )
-@@ -12904,7 +12859,7 @@
+@@ -14731,7 +14703,7 @@
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libgomp -I../../../master/libgomp/config/posix -I../../../master/libgomp -Wall -pthread -Werror -g -O2 -MT affinity.lo -MD -MP -MF .deps/affinity.Tpo -c ../../../master/libgomp/config/[SYSDEP]/affinity.c -o affinity.o >/dev/null 2>&1
+ mv -f .deps/affinity.Tpo .deps/affinity.Plo
+ /bin/dash ./libtool --tag CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -Wall -Werror -Wc,-pthread -g -O2 -Wl,-O1 -o libgomp.la -version-info 1:0:0 -Wl,--version-script,../../../master/libgomp/libgomp.map -rpath [...]/hurd/master.build.install/lib/ alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo -lrt
+-libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -march=i486 -mtune=i686 -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
++libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o -lrt -pthread -Wl,-O1 -Wl,--version-script -Wl,../../../master/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
+ libtool: link: (cd ".libs" && rm -f "libgomp.so.1" && ln -s "libgomp.so.1.0.0" "libgomp.so.1")
+ libtool: link: (cd ".libs" && rm -f "libgomp.so" && ln -s "libgomp.so.1.0.0" "libgomp.so")
+ libtool: link: ar rc .libs/libgomp.a alloc.o barrier.o critical.o env.o error.o iter.o iter_ull.o loop.o loop_ull.o ordered.o parallel.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o sem.o bar.o ptrlock.o time.o fortran.o affinity.o
+@@ -14785,6 +14757,7 @@
+ fi
+ make[6]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
+ [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -L. -Wall -L../libgfortran -fsyntax-only omp_lib.f90
++:
+ make[5]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
+ make[4]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
+ make[3]: Leaving directory `[...]/hurd/master.build/[ARCH]/libgomp'
+@@ -14796,8 +14769,8 @@
+ make[3]: Leaving directory `[...]/hurd/master.build'
+ Comparing stages 2 and 3
+ warning: gcc/cc1-checksum.o differs
+-warning: gcc/cc1obj-checksum.o differs
+ warning: gcc/cc1plus-checksum.o differs
++warning: gcc/cc1obj-checksum.o differs
+ Comparison successful.
+ if false; then \
+ rm -rf stage2-*; \
+@@ -15092,7 +15065,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -919,7 +1196,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -12924,7 +12879,7 @@
+@@ -15112,7 +15085,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -928,7 +1205,7 @@
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
-@@ -13147,7 +13102,7 @@
+@@ -15335,7 +15308,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -937,7 +1214,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -13167,7 +13122,7 @@
+@@ -15355,7 +15328,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -946,7 +1223,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -13362,7 +13317,7 @@
+@@ -15550,7 +15523,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -955,7 +1232,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -13382,7 +13337,7 @@
+@@ -15570,7 +15543,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -964,7 +1241,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -14053,7 +14008,7 @@
+@@ -16241,7 +16214,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -973,7 +1250,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -14073,7 +14028,7 @@
+@@ -16261,7 +16234,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -982,7 +1259,7 @@
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
-@@ -14097,7 +14052,7 @@
+@@ -16285,7 +16258,7 @@
checking if [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
checking if [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/gfortran -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -991,7 +1268,7 @@
checking how to hardcode library paths into programs... immediate
checking whether the GNU Fortran compiler is working... yes
checking for special C compiler options needed for large files... no
-@@ -16859,7 +16814,7 @@
+@@ -19131,7 +19104,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -1000,7 +1277,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -16890,7 +16845,7 @@
+@@ -19162,7 +19135,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -1009,7 +1286,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -16906,7 +16861,7 @@
+@@ -19178,7 +19151,7 @@
checking if [...]/hurd/master.build/./gcc/g++ -B[...]/hurd/master.build/./gcc/ -nostdinc++ -nostdinc++ -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -I[...]/hurd/master/libstdc++-v3/include/backward -I[...]/hurd/master/libstdc++-v3/testsuite/util -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
checking if [...]/hurd/master.build/./gcc/g++ -B[...]/hurd/master.build/./gcc/ -nostdinc++ -nostdinc++ -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -I[...]/hurd/master/libstdc++-v3/include/backward -I[...]/hurd/master/libstdc++-v3/testsuite/util -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/g++ -B[...]/hurd/master.build/./gcc/ -nostdinc++ -nostdinc++ -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include/[ARCH] -I[...]/hurd/master.build/[ARCH]/libstdc++-v3/include -I[...]/hurd/master/libstdc++-v3/libsupc++ -I[...]/hurd/master/libstdc++-v3/include/backward -I[...]/hurd/master/libstdc++-v3/testsuite/util -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -1018,7 +1295,7 @@
checking how to hardcode library paths into programs... immediate
checking for thread model used by GCC... posix
checking for dlopen in -ldl... yes
-@@ -16960,7 +16915,7 @@
+@@ -19232,7 +19205,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -1027,7 +1304,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -16992,7 +16947,7 @@
+@@ -19264,7 +19237,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -1036,27 +1313,27 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -17282,6 +17237,7 @@
- -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include \
+@@ -19554,6 +19527,7 @@
+ -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include \
-o encoding.lo
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/encoding.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include -fPIC -DPIC -o .libs/encoding.o
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/encoding.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include -fPIC -DPIC -o .libs/encoding.o
+[...]/hurd/master/libobjc/encoding.c:128:1: warning: '_darwin_rs6000_special_round_type_align' defined but not used [-Wunused-function]
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/encoding.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include -o encoding.o >/dev/null 2>&1
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/encoding.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include -o encoding.o >/dev/null 2>&1
/bin/dash ./libtool --mode=compile [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/error.c -c \
- -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include \
-@@ -17366,6 +17322,11 @@
- -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include \
+ -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include \
+@@ -19638,6 +19612,11 @@
+ -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include \
-o thr.lo
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/thr.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include -fPIC -DPIC -o .libs/thr.o
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/thr.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include -fPIC -DPIC -o .libs/thr.o
+In file included from ../.././gcc/gthr-default.h:1:0,
-+ from [...]/hurd/master/libobjc/../gcc/gthr.h:160,
++ from [...]/hurd/master/libobjc/../gcc/gthr.h:157,
+ from [...]/hurd/master/libobjc/thr.c:45:
+[...]/hurd/master/libobjc/../gcc/gthr-posix.h: In function '__gthread_objc_thread_set_priority':
-+[...]/hurd/master/libobjc/../gcc/gthr-posix.h:389:41: warning: unused parameter 'priority' [-Wunused-parameter]
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/thr.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include -o thr.o >/dev/null 2>&1
++[...]/hurd/master/libobjc/../gcc/gthr-posix.h:388:41: warning: unused parameter 'priority' [-Wunused-parameter]
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/thr.c -c -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include -o thr.o >/dev/null 2>&1
/bin/dash ./libtool --mode=compile [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include [...]/hurd/master/libobjc/exception.c -c \
- -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../include -fexceptions \
-@@ -17465,7 +17426,7 @@
+ -I. -I[...]/hurd/master/libobjc -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I[...]/hurd/master/libobjc/../gcc -I[...]/hurd/master/libobjc/../gcc/config -I../.././gcc -I[...]/hurd/master/libobjc/../libgcc -I[...]/hurd/master/libobjc/../include -fexceptions \
+@@ -19737,7 +19716,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -1065,7 +1342,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -17496,7 +17457,7 @@
+@@ -19768,7 +19747,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -1074,7 +1351,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -17741,7 +17702,7 @@
+@@ -20013,7 +19992,7 @@
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
checking whether ln -s works... yes
@@ -1083,7 +1360,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -17772,7 +17733,7 @@
+@@ -20044,7 +20023,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -1092,7 +1369,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -17837,7 +17798,7 @@
+@@ -20109,7 +20088,7 @@
[ARCH]
checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... yes
checking if the GNU linker ([...]/hurd/master.build/./gcc/collect-ld) supports -Bsymbolic-functions... yes
@@ -1101,7 +1378,7 @@
checking which variable specifies run-time library path... LD_LIBRARY_PATH
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
-@@ -17848,7 +17809,7 @@
+@@ -20120,7 +20099,7 @@
checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... BSD nm
@@ -1110,7 +1387,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... -r
-@@ -17879,7 +17840,7 @@
+@@ -20151,7 +20130,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -1119,7 +1396,7 @@
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
-@@ -17901,7 +17862,7 @@
+@@ -20173,7 +20152,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... yes
checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -1128,7 +1405,7 @@
checking how to hardcode library paths into programs... immediate
checking for [ARCH]-gcj... [...]/hurd/master.build/./gcc/gcj -B[...]/hurd/master.build/[ARCH]/libjava/ -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include
checking dependency style of [...]/hurd/master.build/./gcc/gcj -B[...]/hurd/master.build/[ARCH]/libjava/ -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include ... gcc3
-@@ -17963,8 +17924,8 @@
+@@ -20235,8 +20214,8 @@
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking for dladdr in -ldl... yes
@@ -1139,7 +1416,7 @@
checking for ld used by GCC... [...]/hurd/master.build/./gcc/collect-ld
checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... (cached) yes
checking for shared library run path origin... done
-@@ -18100,8 +18061,8 @@
+@@ -20372,8 +20351,8 @@
config.status: linking ../../../master/libjava/sysdep/i386/locks.h to sysdep/locks.h
config.status: linking ../../../master/libjava/sysdep/generic/backtrace.h to sysdep/backtrace.h
config.status: linking ../../../master/libjava/sysdep/descriptor-n.h to sysdep/descriptor.h
@@ -1150,7 +1427,7 @@
config.status: executing default-1 commands
Adding multilib support to Makefile in ../../../master/libjava
multidirs=
-@@ -18161,7 +18122,7 @@
+@@ -20433,7 +20412,7 @@
checking if the linker ([...]/hurd/master.build/./gcc/collect-ld) is GNU ld... (cached) yes
checking for BSD- or MS-compatible name lister (nm)... (cached) [...]/hurd/master.build/./gcc/nm
checking the name lister ([...]/hurd/master.build/./gcc/nm) interface... (cached) BSD nm
@@ -1159,7 +1436,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for [...]/hurd/master.build/./gcc/collect-ld option to reload object files... (cached) -r
-@@ -18181,7 +18142,7 @@
+@@ -20453,7 +20432,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... (cached) no
@@ -1168,7 +1445,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -18208,7 +18169,7 @@
+@@ -20480,7 +20459,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking if [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
@@ -1177,7 +1454,7 @@
checking how to hardcode library paths into programs... immediate
checking __attribute__((,,))... yes
checking __attribute__((unused))... yes
-@@ -18219,9 +18180,9 @@
+@@ -20491,9 +20470,9 @@
checking for sys/types.h... (cached) yes
checking for sys/config.h... (cached) no
checking for sys/ioctl.h... (cached) yes
@@ -1190,7 +1467,7 @@
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking utime.h usability... yes
-@@ -18244,9 +18205,9 @@
+@@ -20516,9 +20495,9 @@
checking sys/event.h usability... no
checking sys/event.h presence... no
checking for sys/event.h... no
@@ -1203,7 +1480,7 @@
checking for ifaddrs.h... (cached) yes
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
-@@ -18303,8 +18264,8 @@
+@@ -20575,8 +20554,8 @@
checking for statvfs... yes
checking for mmap... (cached) yes
checking for munmap... yes
@@ -1214,7 +1491,7 @@
checking for madvise... yes
checking for getpagesize... yes
checking for sysconf... yes
-@@ -18316,7 +18277,7 @@
+@@ -20588,7 +20567,7 @@
checking for getifaddrs... (cached) yes
checking for kqueue... no
checking for kevent... no
@@ -1223,7 +1500,7 @@
checking for getloadavg... yes
checking for magic_open in -lmagic... no
checking whether struct sockaddr_in6 is in netinet/in.h... yes
-@@ -18341,7 +18302,7 @@
+@@ -20613,7 +20592,7 @@
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
@@ -1232,7 +1509,7 @@
checking whether to enable maintainer-specific portions of Makefiles... no
checking for mkdir... /bin/mkdir
checking for cp... /bin/cp
-@@ -18483,7 +18444,7 @@
+@@ -20755,7 +20734,7 @@
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
@@ -1241,7 +1518,7 @@
checking command to parse [...]/hurd/master.build/./gcc/nm output from [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include object... (cached) ok
checking for objdir... (cached) .libs
checking for [ARCH]-ar... (cached) ar
-@@ -18496,7 +18457,7 @@
+@@ -20768,7 +20747,7 @@
checking if [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include supports -c -o file.o... (cached) yes
checking whether the [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include linker ([...]/hurd/master.build/./gcc/collect-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
@@ -1250,16 +1527,16 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -18507,7 +18468,7 @@
+@@ -20779,7 +20758,7 @@
checking for library containing opendir... none required
checking which extension is used for loadable modules... .so
checking which variable specifies run-time library path... (cached) LD_LIBRARY_PATH
--checking for the default library search path... /lib /usr/lib /lib/i386-linux-gnu [SYSTEM_MULTILIB] /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib /lib64 /usr/lib64
+-checking for the default library search path... /lib /usr/lib /lib/[ARCH] /usr/lib/[ARCH] /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib /lib64 /usr/lib64
+checking for the default library search path... /lib /usr/lib
checking for objdir... .libs
checking whether libtool supports -dlopen/-dlpreopen... yes
checking for shl_load... (cached) no
-@@ -18751,705 +18712,705 @@
+@@ -21022,705 +21001,705 @@
Adding java source files from VM directory [...]/hurd/master.build/[ARCH]/libjava
Adding generated files in builddir '..'.
touch compile-classes
@@ -1499,17 +1776,7 @@
+./classpath/resource/gnu/java/locale/LocaleInformation_ar_LB.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ar_LB.properties
+./classpath/resource/gnu/java/locale/LocaleInformation_en_Dsrt.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_en_Dsrt.properties
./classpath/resource/gnu/java/locale/LocaleInformation_uz_AF_Arab.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_uz_AF_Arab.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_ga_IE.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ga_IE.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_trv.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_trv.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_sv.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sv.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_es_UY.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_es_UY.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_de_LI.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_de_LI.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_ve.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ve.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_el.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_el.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_sl.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sl.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_ha_Arab.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ha_Arab.properties
-+./classpath/resource/gnu/java/locale/LocaleInformation_af_NA.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_af_NA.properties
- ./classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties
+-./classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties
-./classpath/resource/gnu/java/locale/LocaleInformation_ta.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ta.properties
-./classpath/resource/gnu/java/locale/LocaleInformation_cy_GB.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_cy_GB.properties
-./classpath/resource/gnu/java/locale/LocaleInformation_syr.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_syr.properties
@@ -1523,6 +1790,17 @@
-./classpath/resource/gnu/java/locale/LocaleInformation_kl_GL.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_kl_GL.properties
-./classpath/resource/gnu/java/locale/LocaleInformation_da.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_da.properties
-./classpath/resource/gnu/java/locale/LocaleInformation_se.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_se.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_ga_IE.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ga_IE.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_trv.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_trv.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_sv.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sv.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_es_UY.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_es_UY.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_de_LI.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_de_LI.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_ve.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ve.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_el.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_el.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_sl.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sl.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_ha_Arab.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_ha_Arab.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_af_NA.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_af_NA.properties
++./classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties
+./classpath/resource/gnu/java/locale/LocaleInformation_te.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_te.properties
+./classpath/resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties
+./classpath/resource/gnu/java/locale/LocaleInformation_hu.properties [...]/hurd/master.build/[ARCH]/libjava/classpath/lib/./classpath/resource/gnu/java/locale/LocaleInformation_hu.properties
@@ -2588,7 +2866,24 @@
touch resources
make[4]: Leaving directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/lib'
Making all in doc
-@@ -19801,30 +19762,30 @@
+@@ -21843,7 +21822,6 @@
+ make[4]: Entering directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/include'
+ make all-am
+ make[5]: Entering directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/include'
+-make[5]: Nothing to be done for `all-am'.
+ make[5]: Leaving directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/include'
+ make[4]: Leaving directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/include'
+ Making all in native
+@@ -22032,7 +22010,7 @@
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../../../../../master/libjava/classpath/native/jni/java-math -I../../../include -I../../../../../../../master/libjava/classpath/include -I../../../../../../../master/libjava/classpath/native/jni/classpath -I../../../../../../../master/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -I/usr/include -g -O2 -MT gnu_java_math_GMP.lo -MD -MP -MF .deps/gnu_java_math_GMP.Tpo -c ../../../../../../../master/libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c -fPIC -DPIC -o .libs/gnu_java_math_GMP.o
+ mv -f .deps/gnu_java_math_GMP.Tpo .deps/gnu_java_math_GMP.Plo
+ /bin/dash ../../../libtool --tag=CC --mode=link [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -I/usr/include -g -O2 -module -version-info 0:0:0 -no-undefined -lgmp -avoid-version -o libjavamath.la -rpath [...]/hurd/master.build.install/lib//gcj-4.7.0-13 gnu_java_math_GMP.lo ../../../native/jni/classpath/jcl.lo
+-libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/gnu_java_math_GMP.o ../../../native/jni/classpath/.libs/jcl.o /usr/lib/libgmp.so -Wl,-soname -Wl,libjavamath.so -o .libs/libjavamath.so
++libtool: link: [...]/hurd/master.build/./gcc/xgcc -B[...]/hurd/master.build/./gcc/ -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared .libs/gnu_java_math_GMP.o ../../../native/jni/classpath/.libs/jcl.o -Wl,-rpath -Wl,/usr/lib/[ARCH] -Wl,-rpath -Wl,/usr/lib/[ARCH] /usr/lib/[ARCH]/libgmp.so -Wl,-soname -Wl,libjavamath.so -o .libs/libjavamath.so
+ libtool: link: ( cd ".libs" && rm -f "libjavamath.la" && ln -s "../libjavamath.la" "libjavamath.la" )
+ make[6]: Leaving directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/native/jni/java-math'
+ make[6]: Entering directory `[...]/hurd/master.build/[ARCH]/libjava/classpath/native/jni'
+@@ -22072,30 +22050,30 @@
echo -n > vm-tools.lst; \
fi
cat classes.lst asm.lst vm-tools.lst > all-classes.lst
@@ -2635,51 +2930,51 @@
cp ../../../../../master/libjava/classpath/tools/resource/com/sun/tools/javac/messages.properties classes/com/sun/tools/javac/messages.properties
cp ../../../../../master/libjava/classpath/tools/resource/sun/rmi/rmic/messages.properties classes/sun/rmi/rmic/messages.properties
cp -pR ../../../../../master/libjava/classpath/tools/asm .
-@@ -20066,6 +20027,9 @@
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/gcj/util/natGCInfo.lo -MD -MP -MF $depbase.Tpo -c -o gnu/gcj/util/natGCInfo.lo ../../../master/libjava/gnu/gcj/util/natGCInfo.cc &&\
+@@ -22337,6 +22315,9 @@
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/gcj/util/natGCInfo.lo -MD -MP -MF $depbase.Tpo -c -o gnu/gcj/util/natGCInfo.lo ../../../master/libjava/gnu/gcj/util/natGCInfo.cc &&\
mv -f $depbase.Tpo $depbase.Plo
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gnu/gcj/util/natGCInfo.lo -MD -MP -MF gnu/gcj/util/.deps/natGCInfo.Tpo -c ../../../master/libjava/gnu/gcj/util/natGCInfo.cc -fPIC -DPIC -o gnu/gcj/util/.libs/natGCInfo.o
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib/\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gnu/gcj/util/natGCInfo.lo -MD -MP -MF gnu/gcj/util/.deps/natGCInfo.Tpo -c ../../../master/libjava/gnu/gcj/util/natGCInfo.cc -fPIC -DPIC -o gnu/gcj/util/.libs/natGCInfo.o
+../../../master/libjava/gnu/gcj/util/natGCInfo.cc:440:1: warning: unused parameter 'name' [-Wunused-parameter]
+../../../master/libjava/gnu/gcj/util/natGCInfo.cc:446:1: warning: unused parameter 'name' [-Wunused-parameter]
+../../../master/libjava/gnu/gcj/util/natGCInfo.cc:452:1: warning: unused parameter 'name' [-Wunused-parameter]
depbase=`echo gnu/java/lang/natMainThread.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/lang/natMainThread.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/lang/natMainThread.lo ../../../master/libjava/gnu/java/lang/natMainThread.cc &&\
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/lang/natMainThread.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/lang/natMainThread.lo ../../../master/libjava/gnu/java/lang/natMainThread.cc &&\
mv -f $depbase.Tpo $depbase.Plo
-@@ -20114,6 +20078,8 @@
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/net/natPlainSocketImpl.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/net/natPlainSocketImpl.lo gnu/java/net/natPlainSocketImpl.cc &&\
+@@ -22385,6 +22366,8 @@
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/net/natPlainSocketImpl.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/net/natPlainSocketImpl.lo gnu/java/net/natPlainSocketImpl.cc &&\
mv -f $depbase.Tpo $depbase.Plo
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gnu/java/net/natPlainSocketImpl.lo -MD -MP -MF gnu/java/net/.deps/natPlainSocketImpl.Tpo -c gnu/java/net/natPlainSocketImpl.cc -fPIC -DPIC -o gnu/java/net/.libs/natPlainSocketImpl.o
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib/\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gnu/java/net/natPlainSocketImpl.lo -MD -MP -MF gnu/java/net/.deps/natPlainSocketImpl.Tpo -c gnu/java/net/natPlainSocketImpl.cc -fPIC -DPIC -o gnu/java/net/.libs/natPlainSocketImpl.o
+gnu/java/net/natPlainSocketImpl.cc: In member function 'virtual jint gnu::java::net::PlainSocketImpl::available()':
+gnu/java/net/natPlainSocketImpl.cc:515:27: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
depbase=`echo gnu/java/net/protocol/core/natCoreInputStream.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/net/protocol/core/natCoreInputStream.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/net/protocol/core/natCoreInputStream.lo ../../../master/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc &&\
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/net/protocol/core/natCoreInputStream.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/net/protocol/core/natCoreInputStream.lo ../../../master/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc &&\
mv -f $depbase.Tpo $depbase.Plo
-@@ -20138,6 +20104,8 @@
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/nio/channels/natFileChannelImpl.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/nio/channels/natFileChannelImpl.lo gnu/java/nio/channels/natFileChannelImpl.cc &&\
+@@ -22409,6 +22392,8 @@
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/nio/channels/natFileChannelImpl.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/nio/channels/natFileChannelImpl.lo gnu/java/nio/channels/natFileChannelImpl.cc &&\
mv -f $depbase.Tpo $depbase.Plo
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gnu/java/nio/channels/natFileChannelImpl.lo -MD -MP -MF gnu/java/nio/channels/.deps/natFileChannelImpl.Tpo -c gnu/java/nio/channels/natFileChannelImpl.cc -fPIC -DPIC -o gnu/java/nio/channels/.libs/natFileChannelImpl.o
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib/\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gnu/java/nio/channels/natFileChannelImpl.lo -MD -MP -MF gnu/java/nio/channels/.deps/natFileChannelImpl.Tpo -c gnu/java/nio/channels/natFileChannelImpl.cc -fPIC -DPIC -o gnu/java/nio/channels/.libs/natFileChannelImpl.o
+gnu/java/nio/channels/natFileChannelImpl.cc: In member function 'jint gnu::java::nio::channels::FileChannelImpl::available()':
+gnu/java/nio/channels/natFileChannelImpl.cc:388:20: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
depbase=`echo gnu/java/security/jce/prng/natVMSecureRandom.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/security/jce/prng/natVMSecureRandom.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/security/jce/prng/natVMSecureRandom.lo gnu/java/security/jce/prng/natVMSecureRandom.cc &&\
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gnu/java/security/jce/prng/natVMSecureRandom.lo -MD -MP -MF $depbase.Tpo -c -o gnu/java/security/jce/prng/natVMSecureRandom.lo gnu/java/security/jce/prng/natVMSecureRandom.cc &&\
mv -f $depbase.Tpo $depbase.Plo
-@@ -22427,15 +22395,15 @@
+@@ -24698,15 +24683,15 @@
libtool: link: (cd ".libs" && rm -f "libgcj.so.13" && ln -s "libgcj.so.13.0.0" "libgcj.so.13")
libtool: link: (cd ".libs" && rm -f "libgcj.so" && ln -s "libgcj.so.13.0.0" "libgcj.so")
libtool: link: ( cd ".libs" && rm -f "libgcj.la" && ln -s "../libgcj.la" "libgcj.la" )
--/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libjvm.la -avoid-version -Wl,-Bsymbolic -rpath [...]/hurd/master.build.install/lib/gcj-4.7.0-13 jni-libjvm.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
--libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib [SYSTEM_MULTILIB]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/jni-libjvm.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L[SYSTEM_MULTILIB] -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o [SYSTEM_MULTILIB]/crtn.o -Wl,-Bsymbolic -Wl,-soname -Wl,libjvm.so -o .libs/libjvm.so
-+/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libjvm.la -avoid-version -Wl,-Bsymbolic-functions -rpath [...]/hurd/master.build.install/lib/gcj-4.7.0-13 jni-libjvm.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
-+libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib [SYSTEM_MULTILIB]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/jni-libjvm.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L[SYSTEM_MULTILIB] -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o [SYSTEM_MULTILIB]/crtn.o -Wl,-Bsymbolic-functions -Wl,-soname -Wl,libjvm.so -o .libs/libjvm.so
+-/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libjvm.la -avoid-version -Wl,-Bsymbolic -rpath [...]/hurd/master.build.install/lib//gcj-4.7.0-13 jni-libjvm.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
+-libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib /usr/lib/[ARCH]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/jni-libjvm.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib/ -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L/lib/[ARCH] -L/lib/ -L/usr/lib/[ARCH] -L/usr/lib/ -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o /usr/lib/[ARCH]/crtn.o -Wl,-Bsymbolic -Wl,-soname -Wl,libjvm.so -o .libs/libjvm.so
++/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libjvm.la -avoid-version -Wl,-Bsymbolic-functions -rpath [...]/hurd/master.build.install/lib//gcj-4.7.0-13 jni-libjvm.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
++libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib /usr/lib/[ARCH]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/jni-libjvm.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib/ -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L/lib/[ARCH] -L/lib/ -L/usr/lib/[ARCH] -L/usr/lib/ -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o /usr/lib/[ARCH]/crtn.o -Wl,-Bsymbolic-functions -Wl,-soname -Wl,libjvm.so -o .libs/libjvm.so
libtool: link: ( cd ".libs" && rm -f "libjvm.la" && ln -s "../libjvm.la" "libjvm.la" )
depbase=`echo gij.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
- /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gij.lo -MD -MP -MF $depbase.Tpo -c -o gij.lo ../../../master/libjava/gij.cc &&\
+ /bin/dash ./libtool --tag=CXX --mode=compile [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -MT gij.lo -MD -MP -MF $depbase.Tpo -c -o gij.lo ../../../master/libjava/gij.cc &&\
mv -f $depbase.Tpo $depbase.Plo
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../gcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gij.lo -MD -MP -MF .deps/gij.Tpo -c ../../../master/libjava/gij.cc -fPIC -DPIC -o .libs/gij.o
--/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libgij.la -rpath [...]/hurd/master.build.install/lib -version-info `grep -v '^#' ../../../master/libjava/libtool-version` -Wl,-Bsymbolic -rpath [...]/hurd/master.build.install/lib gij.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
--libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib [SYSTEM_MULTILIB]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/gij.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L[SYSTEM_MULTILIB] -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o [SYSTEM_MULTILIB]/crtn.o -Wl,-Bsymbolic -Wl,-soname -Wl,libgij.so.13 -o .libs/libgij.so.13.0.0
-+/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib/gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libgij.la -rpath [...]/hurd/master.build.install/lib -version-info `grep -v '^#' ../../../master/libjava/libtool-version` -Wl,-Bsymbolic-functions -rpath [...]/hurd/master.build.install/lib gij.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
-+libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib [SYSTEM_MULTILIB]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/gij.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L[SYSTEM_MULTILIB] -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o [SYSTEM_MULTILIB]/crtn.o -Wl,-Bsymbolic-functions -Wl,-soname -Wl,libgij.so.13 -o .libs/libgij.so.13.0.0
+ libtool: compile: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -DHAVE_CONFIG_H -I. -I../../../master/libjava -I./include -I./gcj -I../../../master/libjava -Iinclude -I../../../master/libjava/include -I../../../master/libjava/classpath/include -Iclasspath/include -I../../../master/libjava/classpath/native/fdlibm -I../../../master/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../master/libjava/libltdl -I../../../master/libjava/libltdl -I../../../master/libjava/.././libjava/../libgcc -I../../../master/libjava/../zlib -I../../../master/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"[...]/hurd/master.build.install\" -DTOOLEXECLIBDIR=\"[...]/hurd/master.build.install/lib/\" -DJAVA_HOME=\"[...]/hurd/master.build.install\" -DBOOT_CLASS_PATH=\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\" -DJAVA_EXT_DIRS=\"[...]/hurd/master.build.install/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"[...]/hurd/master.build.install/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.7.0-13/classmap.db\" -g -O2 -D_GNU_SOURCE -MT gij.lo -MD -MP -MF .deps/gij.Tpo -c ../../../master/libjava/gij.cc -fPIC -DPIC -o .libs/gij.o
+-/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libgij.la -rpath [...]/hurd/master.build.install/lib/ -version-info `grep -v '^#' ../../../master/libjava/libtool-version` -Wl,-Bsymbolic -rpath [...]/hurd/master.build.install/lib/ gij.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
+-libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib /usr/lib/[ARCH]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/gij.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib/ -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L/lib/[ARCH] -L/lib/ -L/usr/lib/[ARCH] -L/usr/lib/ -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o /usr/lib/[ARCH]/crtn.o -Wl,-Bsymbolic -Wl,-soname -Wl,libgij.so.13 -o .libs/libgij.so.13.0.0
++/bin/dash ./libtool --tag=CXX --mode=link [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"[...]/hurd/master.build.install\"" -DTOOLEXECLIBDIR="\"[...]/hurd/master.build.install/lib/\"" -DJAVA_HOME="\"[...]/hurd/master.build.install\"" -DBOOT_CLASS_PATH="\"[...]/hurd/master.build.install/share/java/libgcj-4.7.0.jar\"" -DJAVA_EXT_DIRS="\"[...]/hurd/master.build.install/share/java/ext\"" -DGCJ_ENDORSED_DIRS="\"[...]/hurd/master.build.install/share/java/gcj-endorsed\"" -DGCJ_VERSIONED_LIBDIR="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13\"" -DPATH_SEPARATOR="\":\"" -DECJ_JAR_FILE="\"\"" -DLIBGCJ_DEFAULT_DATABASE="\"[...]/hurd/master.build.install/lib//gcj-4.7.0-13/classmap.db\"" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"gcj-4.7.0-13/classmap.db\"" -g -O2 -D_GNU_SOURCE -o libgij.la -rpath [...]/hurd/master.build.install/lib/ -version-info `grep -v '^#' ../../../master/libjava/libtool-version` -Wl,-Bsymbolic-functions -rpath [...]/hurd/master.build.install/lib/ gij.lo -L[...]/hurd/master.build/[ARCH]/libjava/.libs libgcj.la
++libtool: link: [...]/hurd/master.build/./gcc/xgcc -shared-libgcc -B[...]/hurd/master.build/./gcc -nostdinc++ -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs -B[...]/hurd/master.build.install/[ARCH]/bin/ -B[...]/hurd/master.build.install/[ARCH]/lib/ -isystem [...]/hurd/master.build.install/[ARCH]/include -isystem [...]/hurd/master.build.install/[ARCH]/sys-include -shared -nostdlib /usr/lib/[ARCH]/crti.o [...]/hurd/master.build/./gcc/crtbeginS.o .libs/gij.o -Wl,-rpath -Wl,[...]/hurd/master.build/[ARCH]/libjava/.libs -Wl,-rpath -Wl,[...]/hurd/master.build.install/lib/ -L[...]/hurd/master.build/[ARCH]/libjava/.libs -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src -L[...]/hurd/master.build/[ARCH]/libstdc++-v3/src/.libs ./.libs/libgcj.so -L[...]/hurd/master.build/[ARCH]/libjava -lpthread -lrt -ldl -L[...]/hurd/master.build/./gcc -L/lib/[ARCH] -L/lib/ -L/usr/lib/[ARCH] -L/usr/lib/ -lc -lgcc_s [...]/hurd/master.build/./gcc/crtendS.o /usr/lib/[ARCH]/crtn.o -Wl,-Bsymbolic-functions -Wl,-soname -Wl,libgij.so.13 -o .libs/libgij.so.13.0.0
libtool: link: (cd ".libs" && rm -f "libgij.so.13" && ln -s "libgij.so.13.0.0" "libgij.so.13")
libtool: link: (cd ".libs" && rm -f "libgij.so" && ln -s "libgij.so.13.0.0" "libgij.so")
libtool: link: ( cd ".libs" && rm -f "libgij.la" && ln -s "../libgij.la" "libgij.la" )
diff --git a/open_issues/gdb.mdwn b/open_issues/gdb.mdwn
index e2d2fe56..8821762e 100644
--- a/open_issues/gdb.mdwn
+++ b/open_issues/gdb.mdwn
@@ -24,8 +24,8 @@ Here's what's to be done for maintaining GNU GDB.
# Configuration
-Last reviewed up to the [[Git mirror's a6276821b897bb7b1140e156c189badedd6adddc
-(2011-07-04) sources|source_repositories/gdb]].
+Last reviewed up to the [[Git mirror's 09ddc54333cdbc2f695fd83cbf091a7d5a1c3604
+(2011-09-06) sources|source_repositories/gdb]].
* Globally
@@ -53,7 +53,7 @@ Last reviewed up to the [[Git mirror's a6276821b897bb7b1140e156c189badedd6adddc
# Build
Here's a log of a GDB build run; this is from our [[Git repository's
-d53cbf2a89a11bb98304490663a75229116d3e5a (2011-07-04)
+695f61ff0f378e1680964128585044799de27015 (2011-09-06)
sources|source_repositories/gdb]], run on kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
@@ -69,15 +69,15 @@ 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.
-This takes up around 200 MiB, and needs roughly TODO min on kepler.SCHWINGE,
-and takes up areound 130 MiB, and needs roughly TODO min on coulomb.SCHWINGE.
+This takes up around 140 MiB and needs roughly 6 min on kepler.SCHWINGE and 30
+min on coulomb.SCHWINGE.
## Analysis
x86 GNU/Linux' and GNU/Hurd's configurations are slightly different, thus mask
out most of the differences that are due to GNU/Linux supporting more core file
-formats, and more emulation vectors.
+formats and more emulation vectors.
$ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gdb/ && cat hurd/master.build/log_build* | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' | sed -f open_issues/gdb/log_build-linux.sed) <(ssh coulomb.SCHWINGE 'cd tmp/gdb/ && cat hurd/master.build/log_build* | sed "s%\(/media/erich\)\?${PWD}%[...]%g"' | sed -f open_issues/gdb/log_build-hurd.sed) > open_issues/gdb/log_build.diff
@@ -93,8 +93,8 @@ formats, and more emulation vectors.
$ make install 2>&1 | tee log_install
[...]
-This takes up around 50 MiB, and needs roughly TODO min on kepler.SCHWINGE, and
-takes up areound 45 MiB, and needs roughly TODO min on coulomb.SCHWINGE.
+This takes up around 50 MiB, and needs roughly 1 min on kepler.SCHWINGE and 3
+min on coulomb.SCHWINGE.
## Analysis
@@ -121,8 +121,9 @@ coulomb.SCHWINGE.
Comparing the results files, [[sum_linux]] to [[sum_hurd]]:
- $ diff -u -F ^Running open_issues/gdb/sum_linux open_issues/gdb/sum_hurd
- TODO
+ $ 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
diff --git a/open_issues/gdb/log_build.diff b/open_issues/gdb/log_build.diff
index 1f379f67..53dd6042 100644
--- a/open_issues/gdb/log_build.diff
+++ b/open_issues/gdb/log_build.diff
@@ -1,5 +1,5 @@
---- /dev/fd/63 2011-07-04 19:02:43.871279739 +0200
-+++ /dev/fd/62 2011-07-04 19:02:43.871279739 +0200
+--- /dev/fd/63 2011-09-06 18:14:58.241111160 +0200
++++ /dev/fd/62 2011-09-06 18:14:58.241111160 +0200
@@ -276,12 +276,12 @@
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
@@ -29,10 +29,10 @@
checking for canonicalize_file_name... yes
-checking for dup3... yes
+checking for dup3... no
+ checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
- checking for gettimeofday... (cached) yes
-@@ -372,7 +372,7 @@
+@@ -374,7 +374,7 @@
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
@@ -41,7 +41,7 @@
checking for sysmp... no
checking for table... no
checking for times... yes
-@@ -457,7 +457,7 @@
+@@ -459,7 +459,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -50,7 +50,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -477,7 +477,7 @@
+@@ -479,7 +479,7 @@
checking if gcc-4.6 supports -c -o file.o... yes
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
@@ -59,7 +59,7 @@
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
-@@ -567,26 +567,26 @@
+@@ -569,26 +569,26 @@
checking sys/procfs.h usability... yes
checking sys/procfs.h presence... yes
checking for sys/procfs.h... yes
@@ -95,7 +95,7 @@
checking for win32_pstatus_t in sys/procfs.h... no
checking linker --as-needed support... yes
checking for cos in -lm... yes
-@@ -1219,36 +1219,15 @@
+@@ -1229,36 +1229,15 @@
/bin/dash ./libtool --tag=CC --mode=compile gcc-4.6 -DHAVE_CONFIG_H -I. -I../../master/bfd -I. -I../../master/bfd -I../../master/bfd/../include -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR='"[...]/hurd/master.build.install/bin"' -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2 -MT dwarf1.lo -MD -MP -MF .deps/dwarf1.Tpo -c -o dwarf1.lo ../../master/bfd/dwarf1.c
libtool: compile: gcc-4.6 -DHAVE_CONFIG_H -I. -I../../master/bfd -I. -I../../master/bfd -I../../master/bfd/../include -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR=\"[...]/hurd/master.build.install/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2 -MT dwarf1.lo -MD -MP -MF .deps/dwarf1.Tpo -c ../../master/bfd/dwarf1.c -o dwarf1.o
mv -f .deps/dwarf1.Tpo .deps/dwarf1.Plo
@@ -133,7 +133,7 @@
case " $f " in \
*" $i "*) ;; \
*) f="$f $i" ;; \
-@@ -1258,7 +1237,7 @@
+@@ -1268,7 +1247,7 @@
/bin/dash ../../master/bfd/../move-if-change tofiles ofiles
touch stamp-ofiles
/bin/dash ./libtool --tag=CC --mode=link gcc-4.6 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2 -release `cat libtool-soversion` -o libbfd.la -rpath [...]/hurd/master.build.install/lib archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo simple.lo compress.lo verilog.lo `cat ofiles` -lz
@@ -142,7 +142,7 @@
libtool: link: ranlib .libs/libbfd.a
libtool: link: ( cd ".libs" && rm -f "libbfd.la" && ln -s "../libbfd.la" "libbfd.la" )
libtooldir=`/bin/dash ./libtool --config | sed -n -e 's/^objdir=//p'`; \
-@@ -1325,7 +1304,7 @@
+@@ -1335,7 +1314,7 @@
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
@@ -151,7 +151,7 @@
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for ld option to reload object files... -r
-@@ -1345,7 +1324,7 @@
+@@ -1355,7 +1334,7 @@
checking if gcc-4.6 supports -c -o file.o... yes
checking if gcc-4.6 supports -c -o file.o... (cached) yes
checking whether the gcc-4.6 linker (ld) supports shared libraries... yes
@@ -160,7 +160,7 @@
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
-@@ -1537,7 +1516,8 @@
+@@ -1547,7 +1526,8 @@
checking build system type... [ARCH]
checking host system type... [ARCH]
checking target system type... [ARCH]
@@ -170,7 +170,7 @@
checking whether byte ordering is bigendian... no
configure: updating cache ./config.cache
configure: creating ./config.status
-@@ -1547,15 +1527,11 @@
+@@ -1557,15 +1537,11 @@
make[2]: Entering directory `[...]/hurd/master.build/libdecnumber'
source='../../master/libdecnumber/decNumber.c' object='decNumber.o' libtool=no gcc-4.6 -I../../master/libdecnumber -I. -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I../../master/libdecnumber -I. -c ../../master/libdecnumber/decNumber.c
source='../../master/libdecnumber/decContext.c' object='decContext.o' libtool=no gcc-4.6 -I../../master/libdecnumber -I. -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I../../master/libdecnumber -I. -c ../../master/libdecnumber/decContext.c
@@ -190,7 +190,7 @@
ranlib libdecnumber.a
make[2]: Leaving directory `[...]/hurd/master.build/libdecnumber'
mkdir -p -- ./readline
-@@ -1655,9 +1631,9 @@
+@@ -1665,9 +1641,9 @@
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
@@ -203,20 +203,7 @@
checking sys/pte.h usability... no
checking sys/pte.h presence... no
checking for sys/pte.h... no
-@@ -1983,9 +1959,9 @@
- checking for library containing opendir... none required
- checking whether stat file-mode macros are broken... no
- checking for ANSI C header files... (cached) yes
--checking nlist.h usability... no
--checking nlist.h presence... no
--checking for nlist.h... no
-+checking nlist.h usability... yes
-+checking nlist.h presence... yes
-+checking for nlist.h... yes
- checking machine/reg.h usability... no
- checking machine/reg.h presence... no
- checking for machine/reg.h... no
-@@ -1998,9 +1974,9 @@
+@@ -2008,9 +1984,9 @@
checking proc_service.h usability... no
checking proc_service.h presence... no
checking for proc_service.h... no
@@ -229,7 +216,7 @@
checking gnu/libc-version.h usability... yes
checking gnu/libc-version.h presence... yes
checking for gnu/libc-version.h... yes
-@@ -2039,12 +2015,12 @@
+@@ -2049,12 +2025,12 @@
checking ptrace.h usability... no
checking ptrace.h presence... no
checking for ptrace.h... no
@@ -248,7 +235,7 @@
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
-@@ -2061,9 +2037,9 @@
+@@ -2071,9 +2047,9 @@
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
@@ -261,7 +248,7 @@
checking sgtty.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
-@@ -2082,7 +2058,7 @@
+@@ -2092,7 +2068,7 @@
checking for locale.h... yes
checking for link.h... yes
checking for sys/proc.h... no
@@ -270,7 +257,7 @@
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
-@@ -2171,19 +2147,19 @@
+@@ -2181,19 +2157,19 @@
checking for struct reg.r_fs... no
checking for struct reg.r_gs... no
checking for PTRACE_GETREGS... yes
@@ -296,7 +283,7 @@
checking for prsysent_t in sys/procfs.h... no
checking for pr_sigset_t in sys/procfs.h... no
checking for pr_sigaction64_t in sys/procfs.h... no
-@@ -2201,16 +2177,13 @@
+@@ -2211,16 +2187,13 @@
checking for long double support in printf... yes
checking for long double support in scanf... yes
checking for the dynamic export flag... -rdynamic
@@ -316,7 +303,7 @@
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
-@@ -2219,7 +2192,7 @@
+@@ -2229,7 +2202,7 @@
config.status: creating gnulib/Makefile
config.status: creating data-directory/Makefile
config.status: creating config.h
@@ -325,7 +312,7 @@
config.status: executing depdir commands
mkdir -p -- .deps
config.status: executing depfiles commands
-@@ -2290,113 +2263,6 @@
+@@ -2300,115 +2273,6 @@
config.status: creating gdb.threads/Makefile
config.status: creating gdb.trace/Makefile
config.status: creating gdb.xml/Makefile
@@ -361,6 +348,8 @@
-checking target system type... (cached) [ARCH]
-checking for a BSD-compatible install... /usr/bin/install -c
-checking for ANSI C header files... (cached) yes
+-checking for dirent.h that defines DIR... (cached) yes
+-checking for library containing opendir... (cached) none required
-checking for working alloca.h... (cached) yes
-checking for alloca... (cached) yes
-checking for sgtty.h... (cached) yes
@@ -439,7 +428,7 @@
make[2]: Entering directory `[...]/hurd/master.build/sim'
make[2]: Leaving directory `[...]/hurd/master.build/sim'
make[2]: Entering directory `[...]/hurd/master.build/gdb'
-@@ -2589,29 +2455,65 @@
+@@ -2601,31 +2465,65 @@
make[5]: Leaving directory `[...]/hurd/master.build/gdb/gnulib'
make[4]: Leaving directory `[...]/hurd/master.build/gdb/gnulib'
make[3]: Leaving directory `[...]/hurd/master.build/gdb'
@@ -484,7 +473,9 @@
-gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o proc-service.o -MT proc-service.o -MMD -MP -MF .deps/proc-service.Tpo ../../master/gdb/proc-service.c
-gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o linux-thread-db.o -MT linux-thread-db.o -MMD -MP -MF .deps/linux-thread-db.Tpo ../../master/gdb/linux-thread-db.c
-gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o linux-nat.o -MT linux-nat.o -MMD -MP -MF .deps/linux-nat.Tpo ../../master/gdb/linux-nat.c
+-gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o linux-osdata.o -MT linux-osdata.o -MMD -MP -MF .deps/linux-osdata.Tpo ../../master/gdb/common/linux-osdata.c
-gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o linux-fork.o -MT linux-fork.o -MMD -MP -MF .deps/linux-fork.Tpo ../../master/gdb/linux-fork.c
+-gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o linux-procfs.o -MT linux-procfs.o -MMD -MP -MF .deps/linux-procfs.Tpo ../../master/gdb/common/linux-procfs.c
+gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o notify_S.o -MT notify_S.o -MMD -MP -MF .deps/notify_S.Tpo notify_S.c
+gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o process_reply_S.o -MT process_reply_S.o -MMD -MP -MF .deps/process_reply_S.Tpo process_reply_S.c
+gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o msg_reply_S.o -MT msg_reply_S.o -MMD -MP -MF .deps/msg_reply_S.Tpo msg_reply_S.c
@@ -518,24 +509,24 @@
gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o remote.o -MT remote.o -MMD -MP -MF .deps/remote.Tpo ../../master/gdb/remote.c
gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o dcache.o -MT dcache.o -MMD -MP -MF .deps/dcache.Tpo ../../master/gdb/dcache.c
gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o tracepoint.o -MT tracepoint.o -MMD -MP -MF .deps/tracepoint.Tpo ../../master/gdb/tracepoint.c
-@@ -2988,81 +2890,21 @@
+@@ -3006,88 +2904,21 @@
Making init.c
gcc-4.6 -g -O2 -I. -I../../master/gdb -I../../master/gdb/common -I../../master/gdb/config -DLOCALEDIR="\"[...]/hurd/master.build.install/share/locale\"" -DHAVE_CONFIG_H -I../../master/gdb/../include/opcode -I../../master/gdb/../opcodes/.. -I../../master/gdb/../readline/.. -I../bfd -I../../master/gdb/../bfd -I../../master/gdb/../include -I../libdecnumber -I../../master/gdb/../libdecnumber -I../../master/gdb/gnulib -Ignulib -DTUI=1 -I/usr/include/python2.6 -I/usr/include/python2.6 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -c -o init.o -MT init.o -MMD -MP -MF .deps/init.Tpo init.c
rm -f libgdb.a
--ar q libgdb.a i386-tdep.o i386-linux-tdep.o glibc-tdep.o i387-tdep.o solib.o solib-svr4.o symfile-mem.o corelow.o linux-tdep.o linux-record.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o inf-ptrace.o fork-child.o i386-nat.o i386-linux-nat.o proc-service.o linux-thread-db.o linux-nat.o linux-fork.o remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o tui-command.o tui-data.o tui-disasm.o tui-file.o tui.o tui-hooks.o tui-interp.o tui-io.o tui-layout.o tui-out.o tui-main.o tui-regs.o tui-source.o tui-stack.o tui-win.o tui-windata.o tui-wingeneral.o tui-winsource.o tui.o python.o py-auto-load.o py-block.o py-bpevent.o py-breakpoint.o py-cmd.o py-continueevent.o py-event.o py-evtregistry.o py-evts.o py-exitedevent.o py-frame.o py-function.o py-inferior.o py-infthread.o py-lazy-string.o py-objfile.o py-param.o py-prettyprint.o py-progspace.o py-signalevent.o py-stopevent.o py-symbol.o py-symtab.o py-threadevent.o py-type.o py-utils.o py-value.o elfread.o posix-hdep.o c-exp.o cp-name-parser.o objc-exp.o ada-exp.o jv-exp.o f-exp.o m2-exp.o p-exp.o version.o annotate.o addrmap.o auxv.o bfd-target.o blockframe.o breakpoint.o findvar.o regcache.o charset.o continuations.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symmisc.o linespec.o dictionary.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o thread.o exceptions.o filesystem.o inf-child.o interps.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o memattr.o mem-break.o target.o parse.o language.o buildsym.o findcmd.o std-regs.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ui-out.o cli-out.o varobj.o vec.o wrapper.o jv-lang.o jv-valprint.o jv-typeprint.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o reggroups.o regset.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o gcore.o jit.o progspace.o inflow.o init.o
-+ar q libgdb.a i386-tdep.o i387-tdep.o i386gnu-tdep.o solib.o solib-svr4.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o i386gnu-nat.o gnu-nat.o corelow.o core-regset.o fork-child.o notify_S.o process_reply_S.o msg_reply_S.o msg_U.o exc_request_U.o exc_request_S.o remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o tui-command.o tui-data.o tui-disasm.o tui-file.o tui.o tui-hooks.o tui-interp.o tui-io.o tui-layout.o tui-out.o tui-main.o tui-regs.o tui-source.o tui-stack.o tui-win.o tui-windata.o tui-wingeneral.o tui-winsource.o tui.o python.o py-auto-load.o py-block.o py-bpevent.o py-breakpoint.o py-cmd.o py-continueevent.o py-event.o py-evtregistry.o py-evts.o py-exitedevent.o py-frame.o py-function.o py-inferior.o py-infthread.o py-lazy-string.o py-objfile.o py-param.o py-prettyprint.o py-progspace.o py-signalevent.o py-stopevent.o py-symbol.o py-symtab.o py-threadevent.o py-type.o py-utils.o py-value.o elfread.o posix-hdep.o c-exp.o cp-name-parser.o objc-exp.o ada-exp.o jv-exp.o f-exp.o m2-exp.o p-exp.o version.o annotate.o addrmap.o auxv.o bfd-target.o blockframe.o breakpoint.o findvar.o regcache.o charset.o continuations.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symmisc.o linespec.o dictionary.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o thread.o exceptions.o filesystem.o inf-child.o interps.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o memattr.o mem-break.o target.o parse.o language.o buildsym.o findcmd.o std-regs.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ui-out.o cli-out.o varobj.o vec.o wrapper.o jv-lang.o jv-valprint.o jv-typeprint.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o reggroups.o regset.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o gcore.o jit.o progspace.o inflow.o init.o
+-ar q libgdb.a i386-tdep.o i386-linux-tdep.o glibc-tdep.o i387-tdep.o solib.o solib-svr4.o symfile-mem.o corelow.o linux-tdep.o linux-record.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o inf-ptrace.o fork-child.o i386-nat.o i386-linux-nat.o proc-service.o linux-thread-db.o linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o tui-command.o tui-data.o tui-disasm.o tui-file.o tui.o tui-hooks.o tui-interp.o tui-io.o tui-layout.o tui-out.o tui-main.o tui-regs.o tui-source.o tui-stack.o tui-win.o tui-windata.o tui-wingeneral.o tui-winsource.o tui.o python.o py-auto-load.o py-block.o py-bpevent.o py-breakpoint.o py-cmd.o py-continueevent.o py-event.o py-evtregistry.o py-evts.o py-exitedevent.o py-frame.o py-function.o py-inferior.o py-infthread.o py-lazy-string.o py-objfile.o py-param.o py-prettyprint.o py-progspace.o py-signalevent.o py-stopevent.o py-symbol.o py-symtab.o py-threadevent.o py-type.o py-utils.o py-value.o elfread.o posix-hdep.o c-exp.o cp-name-parser.o objc-exp.o ada-exp.o jv-exp.o f-exp.o m2-exp.o p-exp.o version.o annotate.o addrmap.o auxv.o bfd-target.o blockframe.o breakpoint.o findvar.o regcache.o charset.o continuations.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symmisc.o linespec.o dictionary.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o thread.o exceptions.o filesystem.o inf-child.o interps.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o memattr.o mem-break.o target.o parse.o language.o buildsym.o findcmd.o std-regs.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ui-out.o cli-out.o varobj.o vec.o wrapper.o jv-lang.o jv-valprint.o jv-typeprint.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o reggroups.o regset.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o xml-utils.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o gcore.o jit.o progspace.o common-utils.o buffer.o ptid.o inflow.o init.o
++ar q libgdb.a i386-tdep.o i387-tdep.o i386gnu-tdep.o solib.o solib-svr4.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o i386gnu-nat.o gnu-nat.o corelow.o core-regset.o fork-child.o notify_S.o process_reply_S.o msg_reply_S.o msg_U.o exc_request_U.o exc_request_S.o remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o tui-command.o tui-data.o tui-disasm.o tui-file.o tui.o tui-hooks.o tui-interp.o tui-io.o tui-layout.o tui-out.o tui-main.o tui-regs.o tui-source.o tui-stack.o tui-win.o tui-windata.o tui-wingeneral.o tui-winsource.o tui.o python.o py-auto-load.o py-block.o py-bpevent.o py-breakpoint.o py-cmd.o py-continueevent.o py-event.o py-evtregistry.o py-evts.o py-exitedevent.o py-frame.o py-function.o py-inferior.o py-infthread.o py-lazy-string.o py-objfile.o py-param.o py-prettyprint.o py-progspace.o py-signalevent.o py-stopevent.o py-symbol.o py-symtab.o py-threadevent.o py-type.o py-utils.o py-value.o elfread.o posix-hdep.o c-exp.o cp-name-parser.o objc-exp.o ada-exp.o jv-exp.o f-exp.o m2-exp.o p-exp.o version.o annotate.o addrmap.o auxv.o bfd-target.o blockframe.o breakpoint.o findvar.o regcache.o charset.o continuations.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symmisc.o linespec.o dictionary.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o thread.o exceptions.o filesystem.o inf-child.o interps.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o memattr.o mem-break.o target.o parse.o language.o buildsym.o findcmd.o std-regs.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ui-out.o cli-out.o varobj.o vec.o wrapper.o jv-lang.o jv-valprint.o jv-typeprint.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o reggroups.o regset.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o xml-utils.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o gcore.o jit.o progspace.o common-utils.o buffer.o ptid.o inflow.o init.o
ar: creating libgdb.a
ranlib libgdb.a
rm -f gdb
gcc-4.6 -g -O2 \
-o gdb gdb.o libgdb.a \
- ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lncurses -lz -lm -L/usr/lib/python2.6/config -lpthread -ldl -lutil -lm -lpython2.6 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lexpat ../libiberty/libiberty.a gnulib/libgnu.a -ldl -rdynamic
-+ ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lshouldbeinlibc -lncurses -lz -lm -L/usr/lib/python2.6/config -lpthread -ldl -lutil -lm -lpython2.6 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lexpat ../libiberty/libiberty.a gnulib/libgnu.a
++ ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lncurses -lz -lm -L/usr/lib/python2.6/config -lpthread -ldl -lutil -lm -lpython2.6 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lexpat ../libiberty/libiberty.a gnulib/libgnu.a
rm -f gdbtui
gcc-4.6 -g -O2 \
-o gdbtui tui-main.o libgdb.a \
- ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lncurses -lz -lm -L/usr/lib/python2.6/config -lpthread -ldl -lutil -lm -lpython2.6 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lexpat ../libiberty/libiberty.a gnulib/libgnu.a -ldl -rdynamic
-+ ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lshouldbeinlibc -lncurses -lz -lm -L/usr/lib/python2.6/config -lpthread -ldl -lutil -lm -lpython2.6 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lexpat ../libiberty/libiberty.a gnulib/libgnu.a
++ ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lncurses -lz -lm -L/usr/lib/python2.6/config -lpthread -ldl -lutil -lm -lpython2.6 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lexpat ../libiberty/libiberty.a gnulib/libgnu.a
make[3]: Entering directory `[...]/hurd/master.build/gdb'
make[4]: Entering directory `[...]/hurd/master.build/gdb/doc'
make[4]: Nothing to be done for `all'.
@@ -562,6 +553,10 @@
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/hostio.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/event-loop.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/tracepoint.c
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/../common/xml-utils.c -DGDBSERVER
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/../common/common-utils.c -DGDBSERVER
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/../common/ptid.c -DGDBSERVER
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/../common/buffer.c -DGDBSERVER
-rm -f xml-builtin.tmp
-/bin/sh ../../../master/gdb/gdbserver/../features/feature_to_c.sh xml-builtin.tmp ../../../master/gdb/gdbserver/../features/i386/i386-linux.xml ../../../master/gdb/gdbserver/../features/i386/i386-avx-linux.xml ../../../master/gdb/gdbserver/../features/i386/i386-mmx-linux.xml ../../../master/gdb/gdbserver/../features/i386/32bit-linux.xml ../../../master/gdb/gdbserver/../features/i386/32bit-core.xml ../../../master/gdb/gdbserver/../features/i386/32bit-sse.xml ../../../master/gdb/gdbserver/../features/i386/32bit-avx.xml
-/bin/sh ../../../master/gdb/gdbserver/../../move-if-change xml-builtin.tmp xml-builtin.c
@@ -577,14 +572,16 @@
-i386-mmx-linux.c updated.
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts i386-mmx-linux.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/linux-low.c -DUSE_THREAD_DB
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/../common/linux-osdata.c -DGDBSERVER
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/linux-x86-low.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/i386-low.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/i387-fp.c
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/../common/linux-procfs.c -DGDBSERVER
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/hostio-errno.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/thread-db.c
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/proc-service.c
-rm -f gdbserver
--gcc-4.6 -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -Wl,--dynamic-list=../../../master/gdb/gdbserver/proc-service.list -o gdbserver inferiors.o regcache.o remote-utils.o server.o signals.o target.o utils.o version.o mem-break.o hostio.o event-loop.o tracepoint.o xml-builtin.o i386-linux.o i386-avx-linux.o i386-mmx-linux.o linux-low.o linux-x86-low.o i386-low.o i387-fp.o hostio-errno.o thread-db.o proc-service.o \
+-gcc-4.6 -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -Wl,--dynamic-list=../../../master/gdb/gdbserver/proc-service.list -o gdbserver inferiors.o regcache.o remote-utils.o server.o signals.o target.o utils.o version.o mem-break.o hostio.o event-loop.o tracepoint.o xml-utils.o common-utils.o ptid.o buffer.o xml-builtin.o i386-linux.o i386-avx-linux.o i386-mmx-linux.o linux-low.o linux-osdata.o linux-x86-low.o i386-low.o i387-fp.o linux-procfs.o hostio-errno.o thread-db.o proc-service.o \
- -ldl
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts ../../../master/gdb/gdbserver/gdbreplay.c
-rm -f gdbreplay
@@ -594,11 +591,12 @@
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -DCONFIG_UST_GDB_INTEGRATION -fPIC -DGDBSERVER -DIN_PROCESS_AGENT -fvisibility=hidden ../../../master/gdb/gdbserver/utils.c -o utils-ipa.o
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -DCONFIG_UST_GDB_INTEGRATION -fPIC -DGDBSERVER -DIN_PROCESS_AGENT -fvisibility=hidden ../../../master/gdb/gdbserver/regcache.c -o regcache-ipa.o
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -DCONFIG_UST_GDB_INTEGRATION -fPIC -DGDBSERVER -DIN_PROCESS_AGENT -fvisibility=hidden ../../../master/gdb/gdbserver/remote-utils.c -o remote-utils-ipa.o
+-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -DCONFIG_UST_GDB_INTEGRATION -fPIC -DGDBSERVER -DIN_PROCESS_AGENT -fvisibility=hidden ../../../master/gdb/gdbserver/../common/common-utils.c -o common-utils-ipa.o
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -DCONFIG_UST_GDB_INTEGRATION -fPIC -DGDBSERVER -DIN_PROCESS_AGENT -fvisibility=hidden i386-linux.c -o i386-linux-ipa.o
-gcc-4.6 -c -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -DCONFIG_UST_GDB_INTEGRATION -fPIC -DGDBSERVER -DIN_PROCESS_AGENT -fvisibility=hidden ../../../master/gdb/gdbserver/linux-i386-ipa.c -o linux-i386-ipa.o
-rm -f libinproctrace.so
-gcc-4.6 -shared -fPIC -Wl,--no-undefined -g -O2 -I. -I../../../master/gdb/gdbserver -I../../../master/gdb/gdbserver/../common -I../../../master/gdb/gdbserver/../regformats -I../../../master/gdb/gdbserver/../../include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts \
-- -Wl,--dynamic-list=../../../master/gdb/gdbserver/proc-service.list -o libinproctrace.so tracepoint-ipa.o utils-ipa.o regcache-ipa.o remote-utils-ipa.o i386-linux-ipa.o linux-i386-ipa.o -ldl -pthread
+- -Wl,--dynamic-list=../../../master/gdb/gdbserver/proc-service.list -o libinproctrace.so tracepoint-ipa.o utils-ipa.o regcache-ipa.o remote-utils-ipa.o common-utils-ipa.o i386-linux-ipa.o linux-i386-ipa.o -ldl -pthread
-make[4]: Leaving directory `[...]/hurd/master.build/gdb/gdbserver'
make[4]: Entering directory `[...]/hurd/master.build/gdb/data-directory'
rm -rf ./syscalls
diff --git a/open_issues/gdb/log_install.diff b/open_issues/gdb/log_install.diff
index bbaa9144..a2593305 100644
--- a/open_issues/gdb/log_install.diff
+++ b/open_issues/gdb/log_install.diff
@@ -1,5 +1,5 @@
---- /dev/fd/63 2011-07-04 19:06:16.040788916 +0200
-+++ /dev/fd/62 2011-07-04 19:06:16.040788916 +0200
+--- /dev/fd/63 2011-09-06 18:18:41.081646850 +0200
++++ /dev/fd/62 2011-09-06 18:18:41.081646850 +0200
@@ -68,7 +68,6 @@
libtool: install: /usr/bin/install -c .libs/libbfd.a [...]/hurd/master.build.install/lib/libbfd.a
libtool: install: chmod 644 [...]/hurd/master.build.install/lib/libbfd.a
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
new file mode 100644
index 00000000..45ce3b1d
--- /dev/null
+++ b/open_issues/glibc.mdwn
@@ -0,0 +1,568 @@
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 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]]."]]"""]]
+
+[[!tag open_issue_glibc]]
+
+Here's what's to be done for maintaining glibc.
+
+[[!toc levels=2]]
+
+
+# [[General information|/glibc]]
+
+
+# [[Sources|source_repositories/glibc]]
+
+
+# [[Debian]] Cheat Sheet
+
+
+# Configuration
+
+Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692
+(2011-08-04) sources|source_repositories/glibc]].
+
+ * t/dup3
+
+ [[tschwinge]] is not convinced that
+ 22542dcc89805af8d9bd9209129259d2737372b5 (and then also
+ ff3f3a789ba08b656dbaa3901091b6410bb883f8) are correct.
+
+ * 94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf -- dup3 changes; relevant for
+ `t/dup3`: hidden def. ed690b2f24bbc4d9c541fc81a7c67e6dc5678a96 -- why
+ not for dup3, too? Because it is a syscall (that is always inlined)?
+
+ * t/init-first.c
+
+ Have to revert 53b56b1101fc9bb4f295f23f54e7e19f8da8da16 to keep it working
+ with GCC 4.4. Figure out what's going on. Also see [[glibc_init_first]].
+
+ * t/tls
+
+ * Discuss d2431f633e6139a62e1575ec18830f7e81160cf0 with Samuel.
+
+ * `TLS_INIT_TP_EXPENSIVE` is unused; Hurd def. can be removed.
+
+ * t/verify.h
+
+ People didn't like this too much.
+
+ Other examples:
+
+ * 11988f8f9656042c3dfd9002ac85dff33173b9bd -- `static_assert`
+
+ * [[toolchain/cross-gnu]], without `--disable-multi-arch`
+
+ i686-pc-gnu-gcc ../sysdeps/i386/i686/multiarch/strcmp.S -c [...]
+ ../sysdeps/i386/i686/multiarch/../strcmp.S: Assembler messages:
+ ../sysdeps/i386/i686/multiarch/../strcmp.S:31: Error: symbol `strcmp' is already defined
+ make[2]: *** [/media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/string/strcmp.o] Error 1
+ make[2]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc/string'
+
+ Might simply be a missing patch(es) from master.
+
+ * --build=X
+
+ `long double` test: due to `cross_compiling = maybe` wants to execute a
+ file, which fails. Thus `--build=X` has to be set.
+
+ * Check what all these are:
+
+ running configure fragment for sysdeps/mach/hurd
+ checking Hurd header version... ok
+ running configure fragment for sysdeps/mach
+ checking for i586-pc-gnu-mig... i586-pc-gnu-mig
+ checking for mach/mach_types.h... yes
+ checking for mach/mach_types.defs... yes
+ checking for task_t in mach/mach_types.h... task_t
+ checking for thread_t in mach/mach_types.h... thread_t
+ checking for creation_time in task_basic_info... yes
+ checking for mach/mach.defs... yes
+ checking for mach/mach4.defs... yes
+ checking for mach/clock.defs... no
+ checking for mach/clock_priv.defs... no
+ checking for mach/host_priv.defs... no
+ checking for mach/host_security.defs... no
+ checking for mach/ledger.defs... no
+ checking for mach/lock_set.defs... no
+ checking for mach/processor.defs... no
+ checking for mach/processor_set.defs... no
+ checking for mach/task.defs... no
+ checking for mach/thread_act.defs... no
+ checking for mach/vm_map.defs... no
+ checking for mach/memory_object.defs... yes
+ checking for mach/memory_object_default.defs... yes
+ checking for mach/default_pager.defs... yes
+ checking for mach/i386/mach_i386.defs... yes
+ checking for egrep... grep -E
+ checking for host_page_size in mach_host.defs... no
+ checking for mach/machine/ndr_def.h... no
+ checking for machine/ndr_def.h... no
+ checking for i386_io_perm_modify in mach_i386.defs... yes
+ checking for i386_set_gdt in mach_i386.defs... yes
+ checking whether i586-pc-gnu-mig supports the retcode keyword... yes
+
+ * `elf/stackguard-macros.h`
+
+ * Verify 77c84aeb81808c3109665949448dba59965c391e against
+ `~/shared/glibc/make_TAGS.patch`.
+
+ * `HP_SMALL_TIMING_AVAIL` not defined anywhere.
+
+ * Unify `CPUCLOCK_WHICH` stuff in `clock_*` files.
+
+ * Not all tests are re-run in a `make -k tests; make tests-clean; make -k
+ tests` cycle.
+
+ * `CPUCLOCK_WHICH`, `t/cpuclock`
+
+ /media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/rt/librt_pic.a(clock_settime.os): In function `clock_settime':
+ /media/boole-data/thomas/tmp/gnu-0/src/glibc/rt/../sysdeps/unix/clock_settime.c:113: undefined reference to `CPUCLOCK_WHICH'
+ /media/boole-data/thomas/tmp/gnu-0/src/glibc/rt/../sysdeps/unix/clock_settime.c:114: undefined reference to `CPUCLOCK_WHICH'
+ collect2: error: ld returned 1 exit status
+ make[2]: *** [/media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/rt/librt.so] Error 1
+ make[2]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc/rt'
+ make[1]: *** [rt/others] Error 2
+ make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc'
+ make: *** [all] Error 2
+
+ * Missing interfaces, amongst many more.
+
+ Many more are missing, some of which have been announced in `NEWS`, others
+ typically haven't (like new flags to existing functions). Typically,
+ porters will notice missing functionaly. But in case you're looking for
+ something to work on, here's a list.
+
+ `AT_EMPTY_PATH`, `CLOCK_BOOTTIME`, `CLOCK_BOOTTIME_ALARM`,
+ `CLOCK_REALTIME_ALARM`, `O_PATH`,
+ `PTRACE_*` (for example, cbff0d9689c4d68578b6a4f0a17807232506ea27),
+ `RLIMIT_RTTIME`, `SEEK_DATA` (`unistd.h`), `SEEK_HOLE` (`unistd.h`)
+ `clock_adjtime`, `fallocate`, `fallocate64`, `getcontext` (and
+ `setcontext`), `name_to_handle_at`, `open_by_handle_at`, `sendmmsg`,
+ `setns`, `sync_file_range`
+
+ * `syncfs`
+
+ We should be easily able to implement that one.
+
+ * `futimesat`, `readlinkat`, `renameat`
+
+ If we have all of 'em (check Linux kernel), `#define __ASSUME_ATFCTS`.
+
+ * `bits/stat.h [__USE_ATFILE]`: `UTIME_NOW`, `UTIME_OMIT`
+
+ * `io/fcntl.h [__USE_ATFILE]`
+
+ Do we support `AT_FDCWD` et al.?
+
+ * `MAP_POPULATE` (`mmap`, `sys/mman.h`)
+
+ Is only advisory, so can worked around with `#define 0`.
+
+ * Building with GCC 4.5, 4.6, trunk will cause different kinds of faults.
+
+ * Create `t/cleanup_kernel-features.h`.
+
+ * Add tests from Linux kernel commit messages for `t/dup3` et al.
+
+ * In `sysdeps/unix/sysv/linux/Makefile`, there are a bunch of
+ `-DHAVE_SENDFILE` -- but we do have `sendfile`, too.
+
+ * `/usr/include/pthread.h` overwrite issue
+
+ `make`, after editing `nss/nss_db/db-initgroups.c`:
+
+ [...]
+ make[2]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/resolv'
+ make subdir=nss -C nss ..=../ others
+ make[2]: Entering directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/nss'
+ /usr/bin/install -c -m 644 ../include/pthread.h /usr/include/pthread.h
+ /usr/bin/install: cannot remove `/usr/include/pthread.h': Permission denied
+ make[2]: *** [/usr/include/pthread.h] Error 1
+ make[2]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/nss'
+ make[1]: *** [nss/others] Error 2
+ make[1]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker'
+ make: *** [all] Error 2
+
+ See [[!message-id "871uv99c59.fsf@kepler.schwinge.homeip.net"]]. Passing
+ `install_root=/INVALID` to `make`/`make check` is a cheap cure.
+
+ * Verify baseline changes, if we need any follow-up changes:
+
+ * a11ec63713ea3903c482dc907a108be404191a02
+ * 7e2b0c8562b35155820f87b5ff02a8b6850344cc
+ * 8c0677fe5d91b7269364ca08fa08ed09e4c2d8c9
+ * 5a2a1d75043138e696222ced4560de2fb90b8024
+ * 5ae958d74180e2572d198bd7872c86f391de6da7
+ * 5b08ac571ff8e94fe96511a532f0d20997de5f52
+ * 3d04ff3a5d3ce3616837e1d15e03b6e1b360cf26
+ * b2ef2c014b9c66995a3eb4f310ae7c5c510279bf
+ * 63c4ed22b5048c8701d8806026c23cc95f0df756
+ * ac2b484c02b01307ab6bbe5d45ddbf16d64edf8c
+ * e35fcef8b739ed24e083ff8a3078ac14e101cf67
+ * 6fb8cbcb58a29fff73eb2101b34caa19a7f88eba
+ * 8a492a675e566dc1e666df0a86cbf541442cb179
+ * 5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef
+ * c86434ccb576a3ce35b5a74f72b9f03bd45b522a
+ * d22e4cc9397ed41534c9422d0b0ffef8c77bfa53
+ * 15bac72bac03faeb3b725b1d208c62160f0c3ad7
+ * c08fb0d7bba4015078406b28d3906ccc5fda9d5a
+ * 10b3bedcb03386cc280113f552479793e4bac35f
+ * 754f7da38b0904b4b989d3500cc8dd5be625cf6a
+ * 3cdaa6adb113a088fdfb87aa6d7747557eccc58d
+ * 962dba7828cf251a9025ccb43bc6effa30379b72
+ * 3162f12e58c3a848db883916843b332b9f8c9d39
+ * 1c06ba3100847da6bd1f2e011dc24fa8debd9615
+ * 84b9230c404aed4fd3a7bb3d045ca367043dde8c
+ * 090555538d4347a52807ba9f08cf20ed13206afe
+ * 817328eea788c746131cf151b64fd250200da333
+ * c3758feebf7c8786231465da664743c6f0ec79cc
+ * 1ac7a2c7b448c851eb8976fcc290a906a4075203
+ * c21cc9bcb38a87ff638d1099ca871d94a2192b31
+ * 6484ba5ef092b62b7d2112c0d976dbd6d1a40fde
+ * b8b4863d78bf26b39918fc753b03ed98ef262903
+ * b76b818e6fe2061e778b3a9bbe63c554c3f9b3c1
+ * 8e9f92e9d5d7737afdacf79b76d98c4c42980508 -- `_dl_map_object` in
+ `sysdeps/mach/hurd/dl-sysdep.c`
+ * 0e516e0e14f2f9783a21cd1727bc53776341f857
+ * a1fb5e3ebe9d38b5ae6c5bfbfaa04882d52355bc
+ * cf7c9078a5acdbb435498ace92cd81009637a971
+ * db753e2cfb2051ebf20dc089f87c5b1297cc2cff
+ * 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 -- looks good.
+ * 5bd6dc5c2c68fe98691db9b40f87d9b68ea9565b
+ * 451f001b50870604e1f2daef12f04f9f460d3997 +
+ a85b5cb4d4a5fc56e2b38638d270bf2daa67eb6c -- BZ10484. `nptl/Versions
+ [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff`. We don't even
+ define it yet. Also see
+ [[glibc___libc_alloca_cutoff_should_be_lowered]].
+ * 1086d70d916fd0eb969b3d89ff88abd35f6a5c34
+ * cfa28e560ef69372b9e15e9a2d924a0fbcfc7bca
+ * 8cf8ce1702c354a8266e3cfa6ab54c2467d1873f
+ * 68dc949774cb651d53541df4abdc60327f7e096b
+ * 70181fddf1467996bea393d13294ffe76b8a0853
+ * a77e8cbc394ab098aa1fc3f0a6645a38348d21ca
+ * 32465c3ea007065acd8ca8199f130cdf4068130d
+ * 18ba70a559c52719fd94a713cc380514d9d19125
+ * 620a05296fe3380b7441ba7720e8b25c48a8c28c
+ * [low] e6c61494125126d2ba77e5d99f83887a2ed49783 -- `Fix memory leak in
+ TLS of loaded objects.` Do we need to replicate `nptl/allocatestack.c`
+ hunk?
+ * 6e04cbbe79f5965809fdbf1f28d7ae8b4af74d31 +
+ 1bfbe0d335d3fc44a492648b974a0db19975f6d8 -- `Fix
+ pathconf(_PC_BUF_SIZE).`
+ * 28377d1bf58625172a1734b92e835591d4d23a18 -- `Optimize fdopendir a bit.`
+ * 7fb90fb89bbdf273ab7ab96517fe1b156cd7aee1 +
+ 6fb2dde3f1aa3a1419cb6c2dfa53dd1d506722a4 -- `Fix Linux getcwd for long
+ paths`
+ * [low] [[!taglink open_issue_libpthread]]
+ 5bdcc10322c488f53557440acf71623d8b313ab5 -- return `EAGAIN` instead of
+ `ENOMEM`.
+ * f574184a0e4b6ed69a5d9a3234543fba6d2a7367 -- `Fix sched_setscheduler
+ call in spawn implementation`
+ * 3b85df27870a47ed1db84e948e37a5a50a178a92 +
+ f50ef8f1efdd1f2b040acbb8324604f168e8832a -- sysconf
+ * 68a3f91fcad464c4737c1eaed4ae0bf539801fb2 -- `Fix reporting of invalid
+ timeouts in emulated pselect`
+ * ea389b12b3b65c4a7fa91fa76f8c99867eb37865 -- `strndup -> __strndup`;
+ strndupa?
+ * 7e4afad5bcf49e03c3b987399c6a8f66a9018660 -- `Nicer output for negative
+ error numbers in strerror_r`. Change needed for
+ `sysdeps/mach/_strerror.c`?
+ * 7ea72f99966a65a56aedba817ee2413ff9b1f23c +
+ adcd5c15d2a37794d021104160b425ff61f88219 -- `Always fill output buffer
+ in XPG strerror function`. Change needed for
+ `sysdeps/mach/xpg-strerror.c`?
+ * a91710475294c66d0005bdaae0919d36ef8ce3d2 -- sotruss. Does it work?
+ * b1ebd700c5295a449f8d114740f0d1fb6e6b2eb5 +
+ 80e2212d8e59933a1641f029ebd360526ff0e074 +
+ 4997db742946d08be4378cf91221f558f928bc73 -- `Don't document si_code
+ used for raise()`. Also for `bits/siginfo.h`?
+ * 11988f8f9656042c3dfd9002ac85dff33173b9bd -- pldd, Does it work?
+ Probably not: needs `/proc/[PID]/auxv`, `/proc/[PID]/exe`,
+ `/proc/[PID]/mem` ([[!tag open_issue_hurd]],
+ [[hurd/translator/procfs]]).
+ * 78a7eee7fab0802addf500c481335ed6e9899bda +
+ 62bede1313c3a1fa477a092006d64436de6821b1 +
+ 113ddea44742d006d7a910a0707106c7defcfd9b -- `.ctors/.dtors`. Watch
+ what happens. `AC_TRY_LINK` vs. cross compiling/bootstrapping? Native
+ build: `checking whether to use .ctors/.dtors header and
+ trailer... no`; results in `#define NO_CTORS_DTORS_SECTIONS 1`: OK (as
+ before).
+ * 9113ea1f3f29b3aee710efc829e85a9772bcb836 -- `--experimental-malloc`.
+ Watch what happens.
+ * 4e34ac6a1e256f40ab0d8eeed37aa1ea83440e76 -- `-defsym=_begin=0`. Watch
+ what happens. Native build: apparently OK.
+ * f781ef4015504e8a1da649c266584976238aa079 (`--with-default-link`) +
+ 1b74661a6b93a892ecb1c717dedeedba5c2a976c +
+ fd5e21c75d8e9221d766f4bc922a237265514ec2. Watch what happens. Native
+ build: `use-default-link = no`.
+ * de283087c74f720cf8a7171972e72b5fa2b45e79 (`Handle Lustre filesystem`),
+ 4e5f31c847982997c856f03bbc35134e9fd0f61f (`Handle ext4 in
+ {,f}pathconf`). What about stuff like that for us?
+ * d30cf5bb00bfb286ff14d931fb69f5b53724bcdc (`Find readelf with
+ AC_CHECK_TOOL`). Aren't there more in other configure.in and Makefile
+ files?
+ * 574920b446870648623a85e00dd8f3ca9f482c0e (`Rewrite -z relro configure
+ check`) + defe906180bad4e356bb55b60b10abd41b7ee3a1 +
+ 9fa2c03227e159050e9dc4ec1e315e5909901580. Watch what happens. Native
+ build: OK, `yes` (as before).
+ * 5c55070081c27168d27145afdf6a92cd56c9abb3 (`linker
+ --print-output-format`). Watch what happens. Native build: OK,
+ `elf32-i386`.
+ * 7a03a9c8c4b37b88ac5e82b557d974f3161ddaf9 (`Add read barriers in
+ cancellation initialization`). Is this needed in other places, too?
+
+
+# Build
+
+Here's a log of a glibc build run; this is from our [[Git repository's
+946cceff76422cedd8ca2f50bced0a672e64a9a9 (2011-09-22; 2011-08-04)
+sources|source_repositories/glibc]], run on coulomb.SCHWINGE.
+
+ $ export LC_ALL=C
+ $ ../Roger_Whittaker/configure AUTOCONF=: --without-cvs --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.4 CXX=g++-4.4 2>&1 | tee log_build
+ [...]
+ $ make install_root=/INVALID 2>&1 | tee log_build_
+ [...]
+
+This takes up around 400 MiB and needs roughly 120 min on coulomb.SCHWINGE.
+
+<!--
+ $ (make install_root=/INVALID && touch .go-check) 2>&1 | tee log_build_ && test -f .go-check && make -k install_root=/INVALID check 2>&1 | tee log_check
+ $ 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
+
+-->
+
+
+## Analysis
+
+TODO.
+
+
+# Install
+
+TODO.
+
+<!--
+ $ make install 2>&1 | tee log_install
+ [...]
+
+This takes up around 50 MiB, and needs roughly 1 min on kepler.SCHWINGE and 3
+min on coulomb.SCHWINGE.
+-->
+
+
+## Analysis
+
+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
+
+ $ make -k install_root=/INVALID check 2>&1 | tee log_check
+ [...]
+
+This needs roughly 50 min on coulomb.SCHWINGE.
+
+<!--
+ $ 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
+
+There is quite a baseline of failures.
+
+### Additional Failures Compared to Debian
+
+ $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_check > log_check.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_check.filtered
+
+ * `bug-atexit3.out`, `debug/tst-chk4`, `debug/tst-lfschk4`,
+ `debug/tst-lfschk5`, `debug/tst-lfschk6`, `debug/tst-chk5`,
+ `debug/tst-chk6`
+
+ dlopen failed: libstdc++.so.6: cannot open shared object file: No such file or directory
+
+ * `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`
+
+ /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
+
+ Should be using the build-directory one anyway!
+
+ * `math/test-idouble`, `math/test-ifloat`, `math/test-ildoubl`,
+ `math/test-ldouble`
+
+ SIGSEGV.
+
+ * `rt/tst-aio10`, `rt/tst-aio9`
+
+ /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
+
+ * `rt-tst-aio2`, `rt-tst-aio3`, `rt/tst-mqueue3`, `rt/tst-mqueue6`,
+ `rt/tst-mqueue8`, `elf/tst-thrlock`, `rt/tst-timer3`,
+ `nss//libnss_test1.so`
+
+ Compilation: missing `pthread_attr_init`, `pthread_barrier_init`,
+ `pthread_create`, etc.
+
+ * `elf/tst-audit1`, `elf/tst-audit2`
+
+ SIGKILL.
+
+ * `inet/tst-ether_line`
+
+ tst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function)
+
+ * `posix/tst-getconf`
+
+ /bin/sh -e tst-getconf.sh /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/ /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/elf/ ld.so.1
+ make[2]: *** [/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/posix/tst-getconf.out] Error 127
+
+ * `time/tst-mktime2`
+
+ tst-mktime2.c:132: error: 'INT_MAX' undeclared (first use in this function)
+
+ * `io/tst-readlinkat`
+
+ /media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/io/tst-readlinkat.c:109: warning: warning: readlinkat is not implemented and will always fail
+
+ * `gmon/tst-sprofil`
+
+ Floating point exception
+
+ * `posix/tst-sysconf`
+
+ tst-sysconf.c:32: error: '_POSIX_PRIORITIZED_IO' undeclared here (not in a function)
+ tst-sysconf.c:33: error: '_POSIX_PRIORITY_SCHEDULING' undeclared here (not in a function)
+ tst-sysconf.c:43: error: '_POSIX_SPIN_LOCKS' undeclared here (not in a function)
+ tst-sysconf.c:45: error: '_POSIX_SYNCHRONIZED_IO' undeclared here (not in a function)
+
+ * `posix/bug-regex31-mem`, `posix/tst-fnmatch-mem`
+
+ *output* files: some memory not freed.
+
+ * `string/test-strnlen`
+
+ /media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/string/test-strnlen.c:87: undefined reference to `MIN'
+
+ * `stdlib/bug-getcontext.out`
+
+ getcontext failed, errno: 1073741902.
+
+ Is not implemented; see above.
+
+ * `elf/tst-unique3lib.so`, `elf/tst-unique3lib2.so`, `elf/tst-unique4lib.so`
+
+ /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'
+
+ * `stdio-common/tst-rndseek.out`
+
+ Timeout.
+
+
+## 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)
diff --git a/open_issues/glibc/debian.mdwn b/open_issues/glibc/debian.mdwn
new file mode 100644
index 00000000..ce6ba9d2
--- /dev/null
+++ b/open_issues/glibc/debian.mdwn
@@ -0,0 +1,46 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+
+# Open Issues
+
+`threads = yes` is set in `debian/sysdeps/linux.mk` and
+`debian/sysdeps/kfreebsd.mk`, `debian/sysdeps/hurd.mk` set to `no`. But this
+is only read in `debian/rules` for deciding some `nscd` package issue?
+
+`debian/sysdeps/hurd.mk`'s `libc_extra_install` for `ld.so`: check with GCC
+configuration.
+
+Could add a toggle to `$(stamp)build_%` in `debian/rules.d/build.mk` to skip
+locale stuff.
+
+`--disable-compatible-utmp`?
+
+
+# Building
+
+Run `debian/rules patch` to apply patches (instead of having it done during the
+build). Then you can edit files manually.
+
+Several passes: `libc`, `i686`, `xen`; `EGLIBC_PASSES='libc i686'`, etc.
+
+If building with `EGLIBC_PASSES=libc` (more specifically, without `xen`), the
+`libc0.3-dev_extra_pkg_install` rule in `debian/sysdeps/hurd-i386.mk` will
+fail. (Same for `libc6-dev_extra_pkg_install` in `debian/sysdeps/i386.mk`, for
+example.) Why is this special handling only done for `xen`, but not for
+`i686`?
+
+Do `export LC_ALL=C` before building, otherwise the testsuite/make error
+messages will be different from those stored in the
+`debian/testsuite-checking/expected-results-*` files.
+
+Run `debian/rules build-arch DEB_BUILD_OPTIONS=parallel=2 [EGLIBC_PASSES=...]`.
+Can stop with `C-c` during locale stuff or testsuite if only interested in the
+build tree.
diff --git a/open_issues/glibc_init_first.mdwn b/open_issues/glibc_init_first.mdwn
new file mode 100644
index 00000000..774b7828
--- /dev/null
+++ b/open_issues/glibc_init_first.mdwn
@@ -0,0 +1,78 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_glibc]]
+
+IRC, freenode, #hurd, 2011-07-22
+
+ [additional init-first.c patch]
+ < tschwinge> civodul: The only thing I wonder about: Roland also once had
+ done similar changes, which I then found they didn'T work with GCC 4.1,
+ and backed them out in 08f53ee9d265ffdc7e0affd6acf346cceeb65559 and fixed
+ the issue differently in d8d27e633a7860b37fd2e3142822b640a066cc0f (and
+ e17cef66140d4c97710ea88bd8d12612799e1e0f). Have you reviewed this?
+ < tschwinge> That's in the Savannah glibc repository.
+ < tschwinge> And this has been in 2007, four years ago. I don't remember
+ all the details.
+ < tschwinge> And here is quite a good summary of this stuff, from
+ init-first.c:
+ < tschwinge> /* XXX This is all a crock and I am not happy with it.
+ < tschwinge> This poorly-named function is called by static-start.S,
+ < civodul> braunr: thanks; i must admit it took me a while to figure it out
+ ;-)
+ < tschwinge> which should not exist at all. */
+ < tschwinge> civodul: I can imagine... :-/
+ < civodul> tschwinge: re Roland's changes, that's weird; i plan to try to
+ reinstate his change and see if it works
+ < civodul> now, i won't test with GCC 4.1...
+ < tschwinge> Yeah...
+ < tschwinge> I'm happy if it works with 4.4 onwards.
+ < tschwinge> civodul: And it's safe (in GCC terms) to write to ``* ((void
+ **) __builtin_frame_address (0) + 1)'', and similar?
+ < tschwinge> Or should we be coding this few stuff in assembly?
+ < civodul> tschwinge: well, we should add a compile-time assertion for
+ __builtin_return_address (0) == *((void**)__builtin_frame_address (0) +
+ 1)
+ < civodul> (i think GCC can figure it out at compile-time)
+ < civodul> but on IA32 it should always be true
+ < civodul> what's the name of glibc's compile-time assert macro already?
+ < tschwinge> I wonder whether that might interfere with some of GCC's
+ optimizations?
+ < civodul> what?
+ < tschwinge> Well, it seems unclean for me to be modifying a function's
+ return address from within C code.
+ < tschwinge> civodul: I added a verify.h in the t/verify.h branch. But
+ people didn't really like it too much. They rather wanted to directly
+ inline the array[(cond)?1:-1] code.
+ < civodul> ok
+ < civodul> i remember a debate about Gnulib's verify.h
+ < civodul> i thought something comparable had landed eventually
+ < tschwinge> civodul: Oh, maybe I missed it.
+ < tschwinge> civodul: In init-first.c:init, what about the usage of
+ data[-1] in the else path (not using cthreads) -- is that good as-is?
+ < civodul> tschwinge: oooh, it probably needs to fixed too
+ < civodul> but i haven't reached that point yet ;-)
+ * civodul tries to cross-bootstrap GNU from scratch
+ < tschwinge> civodul: I'd be happy to learn what was wrong with Roland's
+ original idea of fixing this. Or perhaps this was a GCC 4.1 bug? Or
+ perhaps GCC was inlining to much, and then got confused with frames and
+ return addresses?
+ < civodul> tschwinge: Roland's change looks good to me, so it could have
+ been a GCC bug
+ < civodul> tschwinge: OK to commit the patch to t/init-first.c (with both
+ data[-1] replaced)?
+ < tschwinge> civodul: OK, if you are confident that it works with GCC 4.4
+ onwards. If yes, please add your changelog snippet to .topmsg, and also
+ add a not that Roland's original code may in fact have been fine, and we
+ may have hit a compiler bug.
+ < civodul> tschwinge: OK, will do
+ < civodul> tschwinge: though regarding Roland's change, i'd prefer to
+ actually test and see
+ < tschwinge> civodul: Thanks!
diff --git a/open_issues/glibc_testsuite.mdwn b/open_issues/glibc_testsuite.mdwn
deleted file mode 100644
index 4cceb241..00000000
--- a/open_issues/glibc_testsuite.mdwn
+++ /dev/null
@@ -1,105 +0,0 @@
-[[!meta copyright="Copyright © 2010 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]]."]]"""]]
-
-[[!tag open_issue_glibc]]
-
-`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)
-
-Other things noticed:
-
- * Running `make -k check` for the second time:
-
- -i486-gnu-gcc tst-timer2.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -Wno-parentheses -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/rt -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build -I../sysdeps/i386/elf -I../sysdeps/mach/hurd/i386 -I../sysdeps/mach/hurd -I../sysdeps/gnu -I../sysdeps/unix/bsd/bsd4.4 -I../sysdeps/unix/mman -I../sysdeps/mach/i386 -I../sysdeps/mach -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/unix/bsd -I../sysdeps/unix/common -I../sysdeps/unix/inet -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../hurd -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/hurd/ -I../mach -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/mach/ -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DNOT_IN_libc=1 -o /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/rt/tst-timer2.o -MD -MP -MF /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/rt/tst-timer2.o.dt -MT /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/rt/tst-timer2.o
- -tst-timer2.c: In function ‘do_test’:
- -tst-timer2.c:33: error: ‘SIGRTMIN’ undeclared (first use in this function)
- -tst-timer2.c:33: error: (Each undeclared identifier is reported only once
- -tst-timer2.c:33: error: for each function it appears in.)
- -make[2]: *** [/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/rt/tst-timer2.o] Error 1
- +/usr/bin/install -c -m 644 ../include/pthread.h /usr/include/pthread.h
- +/usr/bin/install: cannot remove `/usr/include/pthread.h': Permission denied
- +make[2]: *** [/usr/include/pthread.h] Error 1
-
- -i486-gnu-gcc tst-thrlock.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -Wno-parentheses -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build -I../sysdeps/i386/elf -I../sysdeps/mach/hurd/i386 -I../sysdeps/mach/hurd -I../sysdeps/gnu -I../sysdeps/unix/bsd/bsd4.4 -I../sysdeps/unix/mman -I../sysdeps/mach/i386 -I../sysdeps/mach -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/unix/bsd -I../sysdeps/unix/common -I../sysdeps/unix/inet -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../hurd -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/hurd/ -I../mach -I/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/mach/ -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DNOT_IN_libc=1 -o /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock.o -MD -MP -MF /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock.o.dt -MT /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock.o
- -i486-gnu-gcc -nostdlib -nostartfiles -o /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock -Wl,-dynamic-linker=/usr/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/csu/crt1.o /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/csu/crti.o `i486-gnu-gcc --print-file-name=crtbegin.o` /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock.o /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/dlfcn/libdl.so.2 -Wl,-rpath-link=/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/math:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/dlfcn:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/nss:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/nis:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/rt:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/resolv:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/crypt:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/mach:/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/hurd /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/libc.so.0.3 /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/libc_nonshared.a -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as-needed `i486-gnu-gcc --print-file-name=crtend.o` /home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/csu/crtn.o
- -/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock.o: In function `do_test':
- -/media/data/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker/elf/tst-thrlock.c:38: undefined reference to `pthread_create'
- -/media/data/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker/elf/tst-thrlock.c:48: undefined reference to `pthread_join'
- -collect2: ld returned 1 exit status
- -make[2]: *** [/home/tschwinge/tmp/glibc/tschwinge--Roger_Whittaker.build/elf/tst-thrlock] Error 1
- +/usr/bin/install -c -m 644 ../include/pthread.h /usr/include/pthread.h
- +/usr/bin/install: cannot remove `/usr/include/pthread.h': Permission denied
- +make[2]: *** [/usr/include/pthread.h] Error 1
-
- * Not all tests are re-run in a `make -k tests; make tests-clean; make -k
- tests` cycle.
diff --git a/open_issues/gnumach_memory_management.mdwn b/open_issues/gnumach_memory_management.mdwn
index f15c4d25..fb3d6895 100644
--- a/open_issues/gnumach_memory_management.mdwn
+++ b/open_issues/gnumach_memory_management.mdwn
@@ -894,3 +894,886 @@ There is a [[!FF_project 266]][[!tag bounty]] on this task.
<braunr> ok
<braunr> it's tricky
<braunr> mcsim: try to find where the first use of the allocator is made
+
+
+# IRC, freenode, #hurd, 2011-07-22
+
+ <mcsim> braunr, hello. Kernel with your allocator already compiles and
+ runs. There still some problems, but, certainly, I'm on the final stage
+ already. I hope I'll finish in a few days.
+ <tschwinge> mcsim: Oh, cool! Have you done some measurements already?
+ <mcsim> Not yet
+ <tschwinge> OK.
+ <tschwinge> But if it able to run a GNU/Hurd system, then that already is
+ something, a big milestone!
+ <braunr> nice
+ <braunr> although you'll probably need to tweak the garbage collecting
+ process
+ <mcsim> tschwinge: thanks
+ <mcsim> braunr: As back-end for allocating memory I use
+ kmem_alloc_wired. But in zalloc was an opportunity to use as back-end
+ kmem_alloc_pageable. Although there was no any zone that used
+ kmem_alloc_pageable. Do I need to implement this functionality?
+ <braunr> mcsim: do *not* use kmem_alloc_pageable()
+ <mcsim> braunr: Ok. This is even better)
+ <braunr> mcsim: in x15, i've taken this even further: there is *no* kernel
+ vm object, which means all kernel memory is wired and unmanaged
+ <braunr> making it fast and safe
+ <braunr> pageable kernel memory was useful back when RAM was really scarce
+ <braunr> 20 years ago
+ <braunr> but it's a source of deadlock
+ <mcsim> Indeed. I'll won't use kmem_alloc_pageable.
+
+
+# IRC, freenode, #hurd, 2011-08-09
+
+ < braunr> mcsim: what's the "bug related to MEM_CF_VERIFY" you refer to in
+ one of your commits ?
+ < braunr> mcsim: don't use spin_lock_t as a member of another structure
+ < mcsim> braunr: I confused with types in *_verify functions, so they
+ didn't work. Than I fixed it in the commit you mentioned.
+ < braunr> in gnumach, most types are actually structure pointers
+ < braunr> use simple_lock_data_t
+ < braunr> mcsim: ok
+ < mcsim> > use simple_lock_data_t
+ < mcsim> braunr: ok
+ < braunr> mcsim: don't make too many changes to the code base, and if
+ you're unsure, don't hesitate to ask
+ < braunr> also, i really insist you rename the allocator, as done in x15
+ for example
+ (http://git.sceen.net/rbraun/x15mach.git/?a=blob;f=vm/kmem.c), instead of
+ a name based on mine :/
+ < mcsim> braunr: Ok. It was just work name. When I finish I'll rename the
+ allocator.
+ < braunr> other than that, it's nice to see progress
+ < braunr> although again, it would be better with some reports along
+ < braunr> i won't be present at the meeting tomorrow unfortunately, but you
+ should use those to report the status of your work
+ < mcsim> braunr: You've said that I have to tweak gc process. Did you mean
+ to call mem_gc() when physical memory ends instead of calling it every x
+ seconds? Or something else?
+ < braunr> there are multiple topics, alhtough only one that really matters
+ < braunr> study how zone_gc was called
+ < braunr> reclaiming memory should happen when there is pressure on the VM
+ subsystem
+ < braunr> but it shouldn't happen too ofte, otherwise there is trashing
+ < braunr> and your caches become mostly useless
+ < braunr> the original slab allocator uses a 15-second period after a
+ reclaim during which reclaiming has no effect
+ < braunr> this allows having a somehow stable working set for this duration
+ < braunr> the linux slab allocator uses 5 seconds, but has a more
+ complicated reclaiming mechanism
+ < braunr> it releases memory gradually, and from reclaimable caches only
+ (dentry for example)
+ < braunr> for x15 i intend to implement the original 15 second interval and
+ then perform full reclaims
+ < mcsim> In zalloc mem_gc is called by vm_pageout_scan, but not often than
+ once a second.
+ < mcsim> In balloc I've changed interval to once in 15 seconds.
+ < braunr> don't use the code as it is
+ < braunr> the version you've based your work on was meant for userspace
+ < braunr> where there isn't memory pressure
+ < braunr> so a timer is used to trigger reclaims at regular intervals
+ < braunr> it's different in a kernel
+ < braunr> mcsim: where did you see vm_pageout_scan call the zone gc once a
+ second ?
+ < mcsim> vm_pageout_scan calls consider_zone_gc and consider_zone_gc checks
+ if second is passed.
+ < braunr> where ?
+ < mcsim> Than zone_gc can be called.
+ < braunr> ah ok, it's in zaclloc.c then
+ < braunr> zalloc.c
+ < braunr> yes this function is fine
+ < mcsim> so old gc didn't consider vm pressure. Or I missed something.
+ < braunr> it did
+ < mcsim> how?
+ < braunr> well, it's called by the pageout daemon
+ < braunr> under memory pressure
+ < braunr> so it's fine
+ < mcsim> so if mem_gc is called by pageout daemon is it fine?
+ < braunr> it must be changed to do something similar to what
+ consider_zone_gc does
+ < mcsim> It does. mem_gc does the same work as consider_zone_gc and
+ zone_gc.
+ < braunr> good
+ < mcsim> so gc process is fine?
+ < braunr> should be
+ < braunr> i see mem.c only includes mem.h, which then includes other
+ headers
+ < braunr> don't do that
+ < braunr> always include all the headers you need where you need them
+ < braunr> if you need avltree.h in both mem.c and mem.h, include it in both
+ files
+ < braunr> and by the way, i recommend you use the red black tree instead of
+ the avl type
+ < braunr> (it's the same interface so it shouldn't take long)
+ < mcsim> As to report. If you won't be present at the meeting, I can tell
+ you what I have to do now.
+ < braunr> sure
+ < braunr> in addition, use GPLv2 as the license, teh BSD one is meant for
+ the userspace version only
+ < braunr> GPLv2+ actually
+ < braunr> hm you don't need list.c
+ < braunr> it would only add dead code
+ < braunr> "Zone for dynamical allocator", don't mix terms
+ < braunr> this comment refers to a vm_map, so call it a map
+ < mcsim> 1. Change constructor for kentry_alloc_cache.
+ < mcsim> 2. Make measurements.
+ < mcsim> +
+ < mcsim> 3. Use simple_lock_data_t
+ < mcsim> 4. Replace license
+ < braunr> kentry_alloc_cache <= what is that ?
+ < braunr> cache for kernel map entries in vm_map ?
+ < braunr> the comment for mem_cpu_pool_get doesn't apply in gnumach, as
+ there is no kernel preemption
+ < braunr> "Don't attempt mem GC more frequently than hz/MEM_GC_INTERVAL
+ times a second.
+ < braunr> "
+ < mcsim> sorry. I meant vm_map_kentry_cache
+ < braunr> hm nothing actually about this comment
+ < braunr> mcsim: ok
+ < braunr> yes kernel map entries need special handling
+ < braunr> i don't know how it's done in gnumach though
+ < braunr> static preallocation ?
+ < mcsim> yes
+ < braunr> that's ugly :p
+ < mcsim> but it uses dynamic allocation further even for vm_map kernel
+ entries
+ < braunr> although such bootstrapping issues are generally difficult to
+ solve elegantly
+ < braunr> ah
+ < mcsim> now I use only static allocation, but I'll add dynamic allocation
+ too
+ < braunr> when you have time, mind the coding style (convert everything to
+ gnumach style, which mostly implies using tabs instead of 4-spaces
+ indentation)
+ < braunr> when you'll work on dynamic allocation for the kernel map
+ entries, you may want to review how it's done in x15
+ < braunr> the mem_source type was originally intended for that purpose, but
+ has slightly changed once the allocator was adapted to work in my kernel
+ < mcsim> ok
+ < braunr> vm_map_kentry_zone is the only zone created with ZONE_FIXED
+ < braunr> and it is zcram()'ed immediately after
+ < braunr> so you can consider it a statically allocated zone
+ < braunr> in x15 i use another strategy: there is a special kernel submap
+ named kentry_map which contains only one map entry (statically allocated)
+ < braunr> this map is the backend (mem_source) for the kentry_cache
+ < braunr> the kentry_cache is created with a special flag that tells it
+ memory can't be reclaimed
+ < braunr> when the cache needs to grow, the single map entry is extended to
+ cover the allocated memory
+ < braunr> it's similar to the way pmap_growkernel() works for kernel page
+ table pages
+ < braunr> (and is actually based on that idea)
+ < braunr> it's a compromise between full static and dynamic allocation
+ types
+ < braunr> the advantage is that the allocator code can be used (so there is
+ no need for a special allocator like in netbsd)
+ < braunr> the drawback is that some resources can never be returned to
+ their source (and under peaks, the amount of unfreeable resources could
+ become large, but this is unexpected)
+ < braunr> mcsim: for now you shouldn't waste your time with this
+ < braunr> i see the number of kernel map entries is fixed at 256
+ < braunr> and i've never seen the kernel use more than around 30 entries
+ < mcsim> Do you think that I have to left this problem to the end?
+ < braunr> yes
+
+
+# IRC, freenode, #hurd, 2011-08-11
+
+ < mcsim> braunr: Hello. Can you give me an advice how can I make
+ measurements better?
+ < braunr> mcsim: what kind of measurements
+ < mcsim> braunr: How much is your allocator better than zalloc.
+ < braunr> slightly :p
+ < braunr> that's why i never took the time to put it in gnumach
+ < mcsim> braunr: Just I thought that there are some rules or
+ recommendations of such measurements. Or I can do them any way I want?
+ < braunr> mcsim: i don't know
+ < braunr> mcsim: benchmarking is an art of its own, and i don't even know
+ how to use the bits of profiling code available in gnumach (if it still
+ works)
+ < antrik> mcsim: hm... are you saying you already have a running system
+ with slab allocator?... :-)
+ < braunr> mcsim: the main advantage i can see is the removal of many
+ arbitrary hard limits
+ < mcsim> antrik: yes
+ < antrik> \o/
+ < antrik> nice work!
+ < braunr> :)
+ < braunr> the cpu layer should also help a bit, but it's hard to measure
+ < braunr> i guess it could be seen on the ipc path for very small buffers
+ < mcsim> antrik: Thanks. But I still have to 1. Change constructor for
+ kentry_alloc_cache. and 2. Make measurements.
+ < braunr> and polish the whole thing :p
+ < antrik> mcsim: I'm not sure this can be measured... the performance
+ differente in any real live usage is probably just a few percent at most
+ -- it's hard to construct a benchmark giving enough precision so it's not
+ drowned in noise...
+ < antrik> perhaps it conserves some memory -- but that too would be hard to
+ measure I fear
+ < braunr> yes
+ < braunr> there *should* be better allocation times, less fragmentation,
+ better accounting ... :)
+ < braunr> and no arbitrary limits !
+ < antrik> :-)
+ < braunr> oh, and the self debugging features can be nice too
+ < mcsim> But I need to prove that my work wasn't useless
+ < braunr> well it wasn't, but that's hard to measure
+ < braunr> it's easy to prove though, since there are additional features
+ that weren't present in the zone allocator
+ < mcsim> Ok. If there are some profiling features in gnumach can you give
+ me a link with their description?
+ < braunr> mcsim: sorry, no
+ < braunr> mcsim: you could still write the basic loop test, which counts
+ the number of allocations performed in a fixed time interval
+ < braunr> but as it doesn't match many real life patterns, it won't be very
+ useful
+ < braunr> and i'm afraid that if you consider real life patterns, you'll
+ see how negligeable the improvement can be compared to other operations
+ such as memory copies or I/O (ouch)
+ < mcsim> Do network drivers use this allocator?
+ < mcsim> ok. I'll scrape up some test and than I'll report results.
+
+
+# IRC, freenode, #hurd, 2011-08-26
+
+ < mcsim> hello. Are there any analogs of copy_to_user and copy_from_user in
+ linux for gnumach?
+ < mcsim> Or how can I determine memory map if I know address? I need this
+ for vm_map_copyin
+ < guillem> mcsim: vm_map_lookup_entry?
+ < mcsim> guillem: but I need to transmit map to this function and it will
+ return an entry which contains specified address.
+ < mcsim> And I don't know what map have I transmit.
+ < mcsim> I need to transfer static array from kernel to user. What map
+ contains static data?
+ < antrik> mcsim: Mach doesn't have copy_{from,to}_user -- instead, large
+ chunks of data are transferred as out-of-line data in IPC messages
+ (i.e. using VM magic)
+ < mcsim> antrik: can you give me an example? I just found using
+ vm_map_copyin in host_zone_info.
+ < antrik> no idea what vm_map_copyin is to be honest...
+
+
+# IRC, freenode, #hurd, 2011-08-27
+
+ < braunr> mcsim: the primitives are named copyin/copyout, and they are used
+ for messages with inline data
+ < braunr> or copyinmsg/copyoutmsg
+ < braunr> vm_map_copyin/out should be used for chunks larger than a page
+ (or roughly a page)
+ < braunr> also, when writing to a task space, see which is better suited:
+ vm_map_copyout or vm_map_copy_overwrite
+ < mcsim> braunr: and what will be src_map for vm_map_copyin/out?
+ < braunr> the caller map
+ < braunr> which you can get with current_map() iirc
+ < mcsim> braunr: thank you
+ < braunr> be careful not to leak anything in the transferred buffers
+ < braunr> memset() to 0 if in doubt
+ < mcsim> braunr:ok
+ < braunr> antrik: vm_map_copyin() is roughly vm_read()
+ < antrik> braunr: what is it used for?
+ < braunr> antrik: 01:11 < antrik> mcsim: Mach doesn't have
+ copy_{from,to}_user -- instead, large chunks of data are transferred as
+ out-of-line data in IPC messages (i.e. using VM magic)
+ < braunr> antrik: that "VM magic" is partly implemented using vm_map_copy*
+ functions
+ < antrik> braunr: oh, you mean it doesn't actually copy data, but only page
+ table entries? if so, that's *not* really comparable to
+ copy_{from,to}_user()...
+
+
+# IRC, freenode, #hurd, 2011-08-28
+
+ < braunr> antrik: the equivalent of copy_{from,to}_user are
+ copy{in,out}{,msg}
+ < braunr> antrik: but when the data size is about a page or more, it's
+ better not to copy, of course
+ < antrik> braunr: it's actually not clear at all that it's really better to
+ do VM magic than to copy...
+
+
+# IRC, freenode, #hurd, 2011-08-29
+
+ < braunr> antrik: at least, that used to be the general idea, and with a
+ simpler VM i suspect it's still true
+ < braunr> mcsim: did you progress on your host_zone_info replacement ?
+ < braunr> mcsim: i think you should stick to what the original
+ implementation did
+ < braunr> which is making an inline copy if caller provided enough space,
+ using kmem_alloc_pageable otherwise
+ < braunr> specify ipc_kernel_map if using kmem_alloc_pageable
+ < mcsim> braunr: yes. And it works. But I use kmem_alloc, not pageable. Is
+ it worse?
+ < mcsim> braunr: host_zone_info replacement is pushed to savannah
+ repository.
+ < braunr> mcsim: i'll have a look
+ < mcsim> braunr: I've pushed one more commit just now, which has attitude
+ to host_zone_info.
+ < braunr> mem_alloc_early_init should be renamed mem_bootstrap
+ < mcsim> ok
+ < braunr> mcsim: i don't understand your call to kmem_free
+ < mcsim> braunr: It shouldn't be there?
+ < braunr> why should it be there ?
+ < braunr> you're freeing what the copy object references
+ < braunr> it's strange that it even works
+ < braunr> also, you shouldn't pass infop directly as the copy object
+ < braunr> i guess you get a warning for that
+ < braunr> do what the original code does: use an intermediate copy object
+ and a cast
+ < mcsim> ok
+ < braunr> another error (without consequence but still, you should mind it)
+ < braunr> simple_lock(&mem_cache_list_lock);
+ < braunr> [...]
+ < braunr> kr = kmem_alloc(ipc_kernel_map, &info, info_size);
+ < braunr> you can't hold simple locks while allocating memory
+ < braunr> read how the original implementation works around this
+ < mcsim> ok
+ < braunr> i guess host_zone_info assumes the zone list doesn't change much
+ while unlocked
+ < braunr> or that's it's rather unimportant since it's for debugging
+ < braunr> a strict snapshot isn't required
+ < braunr> list_for_each_entry(&mem_cache_list, cache, node) max_caches++;
+ < braunr> you should really use two separate lines for readability
+ < braunr> also, instead of counting each time, you could just maintain a
+ global counter
+ < braunr> mcsim: use strncpy instead of strcpy for the cache names
+ < braunr> not to avoid overflow but rather to clear the unused bytes at the
+ end of the buffer
+ < braunr> mcsim: about kmem_alloc vs kmem_alloc_pageable, it's a minor
+ issue
+ < braunr> you're handing off debugging data to a userspace application
+ < braunr> a rather dull reporting tool in most cases, which doesn't require
+ wired down memory
+ < braunr> so in order to better use available memory, pageable memory
+ should be used
+ < braunr> in the future i guess it could become a not-so-minor issue though
+ < mcsim> ok. I'll fix it
+ < braunr> mcsim: have you tried to run the kernel with MC_VERIFY always on
+ ?
+ < braunr> MEM_CF_VERIFY actually
+ < mcsim1> yes.
+ < braunr> oh
+ < braunr> nothing wrong
+ < braunr> ?
+ < mcsim1> it is always set
+ < braunr> ok
+ < braunr> ah, you set it in macros.h ..
+ < braunr> don't
+ < braunr> put it in mem.c if you want, or better, make it a compile-time
+ option
+ < braunr> macros.h is a tiny macro library, it shouldn't define such
+ unrelated options
+ < mcsim1> ok.
+ < braunr> mcsim1: did you try fault injection to make sure the checking
+ code actually works and how it behaves when an error occurs ?
+ < mcsim1> I think that when I finish I'll merge files cpu.h and macros.h
+ with mem.c
+ < braunr> yes that would simplify things
+ < mcsim1> Yes. When I confused with types mem_buf_fill worked wrong and
+ panic occurred.
+ < braunr> very good
+ < braunr> have you progressed concerning the measurements you wanted to do
+ ?
+ < mcsim1> not much.
+ < braunr> ok
+ < mcsim1> I think they will be ready in a few days.
+ < antrik> what measurements are these?
+ < mcsim1> braunr: What maximal size for static data and stack in kernel?
+ < braunr> what do you mean ?
+ < braunr> kernel stacks are one page if i'm right
+ < braunr> static data (rodata+data+bss) are limited by grub bugs only :)
+ < mcsim1> braunr: probably they are present, because when I created too big
+ array I couldn't boot kernel
+ < braunr> local variable or static ?
+ < mcsim1> static
+ < braunr> how large ?
+ < mcsim1> 4Mb
+ < braunr> hm
+ < braunr> it's not a grub bug then
+ < braunr> i was able to embed as much as 32 MiB in x15 while doing this
+ kind of tests
+ < braunr> I guess it's the gnu mach boot code which only preallocates one
+ page for the initial kernel mapping
+ < braunr> one PTP (page table page) maps 4 MiB
+ < braunr> (x15 does this completely dynamically, unlike mach or even
+ current BSDs)
+ < mcsim1> antrik: First I want to measure time of each cache
+ creation/allocation/deallocation and then compile kernel.
+ < braunr> cache creation is irrelevant
+ < braunr> because of the cpu pools in the new allocator, you should test at
+ least two different allocation patterns
+ < braunr> one with quick allocs/frees
+ < braunr> the other with large numbers of allocs then their matching frees
+ < braunr> (larger being at least 100)
+ < braunr> i'd say the cpu pool layer is the real advantage over the
+ previous zone allocator
+ < braunr> (from a performance perspective)
+ < mcsim1> But there is only one cpu
+ < braunr> it doesn't matter
+ < braunr> it's stil a very effective cache
+ < braunr> in addition to reducing contention
+ < braunr> compare mem_cpu_pool_pop() against mem_cache_alloc_from_slab()
+ < braunr> mcsim1: work is needed to polish the whole thing, but getting it
+ actually working is a nice achievement for someone new on the project
+ < braunr> i hope it helped you learn about memory allocation, virtual
+ memory, gnu mach and the hurd in general :)
+ < antrik> indeed :-)
+
+
+# IRC, freenode, #hurd, 2011-09-06
+
+ [some performance testing]
+ <braunr> i'm not sure such long tests are relevant but let's assume balloc
+ is slower
+ <braunr> some tuning is needed here
+ <braunr> first, we can see that slab allocation occurs more often in balloc
+ than page allocation does in zalloc
+ <braunr> so yes, as slab allocation is slower (have you measured which part
+ actually is slow ? i guess it's the kmem_alloc call)
+ <braunr> the whole process gets a bit slower too
+ <mcsim> I used alloc_size = 4096 for zalloc
+ <braunr> i don't know what that is exactly
+ <braunr> but you can't hold 500 16 bytes buffers in a page so zalloc must
+ have had free pages around for that
+ <mcsim> I use kmem_alloc_wired
+ <braunr> if you have time, measure it, so that we know how much it accounts
+ for
+ <braunr> where are the results for dealloc ?
+ <mcsim> I can't give you result right now because internet works very
+ bad. But for first DEALLOC result are the same, exept some cases when it
+ takes balloc for more than 1000 ticks
+ <braunr> must be the transfer from the cpu layer to the slab layer
+ <mcsim> as to kmem_alloc_wired. I think zalloc uses this function too for
+ allocating objects in zone I test.
+ <braunr> mcsim: yes, but less frequently, which is why it's faster
+ <braunr> mcsim: another very important aspect that should be measured is
+ memory consumption, have you looked into that ?
+ <mcsim> I think that I made too little iterations in test SMALL
+ <mcsim> If I increase constant SMALL_TESTS will it be good enough?
+ <braunr> mcsim: i don't know, try both :)
+ <braunr> if you increase the number of iterations, balloc average time will
+ be lower than zalloc, but this doesn't remove the first long
+ initialization step on the allocated slab
+ <mcsim> SMALL_TESTS to 500, I mean
+ <braunr> i wonder if maintaining the slabs sorted through insertion sort is
+ what makes it slow
+ <mcsim> braunr: where do you sort slabs? I don't see this.
+ <braunr> mcsim: mem_cache_alloc_from_slab and its free counterpart
+ <braunr> mcsim: the mem_source stuff is useless in gnumach, you can remove
+ it and directly call the kmem_alloc/free functions
+ <mcsim> But I have to make special allocator for kernel map entries.
+ <braunr> ah right
+ <mcsim> btw. It turned out that 256 entries are not enough.
+ <braunr> that's weird
+ <braunr> i'll make a patch so that the mem_source code looks more like what
+ i have in x15 then
+ <braunr> about the results, i don't think the slab layer is that slow
+ <braunr> it's the cpu_pool_fill/drain functions that take time
+ <braunr> they preallocate many objects (64 for your objects size if i'm
+ right) at once
+ <braunr> mcsim: look at the first result page: some times, a number around
+ 8000 is printed
+ <braunr> the common time (ticks, whatever) for a single object is 120
+ <braunr> 8132/120 is 67, close enough to the 64 value
+ <mcsim> I forgot about SMALL tests here are they:
+ http://paste.debian.net/128533/ (balloc) http://paste.debian.net/128534/
+ (zalloc)
+ <mcsim> braunr: why do you divide 8132 by 120?
+ <braunr> mcsim: to see if it matches my assumption that the ~8000 number
+ matches the cpu_pool_fill call
+ <mcsim> braunr: I've got it
+ <braunr> mcsim: i'd be much interested in the dealloc results if you can
+ paste them too
+ <mcsim> dealloc: http://paste.debian.net/128589/
+ http://paste.debian.net/128590/
+ <braunr> mcsim: thanks
+ <mcsim> second dealloc: http://paste.debian.net/128591/
+ http://paste.debian.net/128592/
+ <braunr> mcsim: so the main conclusion i retain from your tests is that the
+ transfers from the cpu and the slab layers are what makes the new
+ allocator a bit slower
+ <mcsim> OPERATION_SMALL dealloc: http://paste.debian.net/128593/
+ http://paste.debian.net/128594/
+ <braunr> mcsim: what needs to be measured now is global memory usage
+ <mcsim> braunr: data from /proc/vmstat after kernel compilation will be
+ enough?
+ <braunr> mcsim: let me check
+ <braunr> mcsim: no it won't do, you need to measure kernel memory usage
+ <braunr> the best moment to measure it is right after zone_gc is called
+ <mcsim> Are there any facilities in gnumach for memory measurement?
+ <braunr> it's specific to the allocators
+ <braunr> just count the number of used pages
+ <braunr> after garbage collection, there should be no free page, so this
+ should be rather simple
+ <mcsim> ok
+ <mcsim> braunr: When I measure memory usage in balloc, what formula is
+ better cache->nr_slabs * cache->bufs_per_slab * cache->buf_size or
+ cache->nr_slabs * cache->slab_size?
+ <braunr> the latter
+
+
+# IRC, freenode, #hurd, 2011-09-07
+
+ <mcsim> braunr: I've disabled calling of mem_cpu_pool_fill and allocator
+ became faster
+ <braunr> mcsim: sounds nice
+ <braunr> mcsim: i suspect the free path might not be as fast though
+ <mcsim> results for first calling: http://paste.debian.net/128639/ second:
+ http://paste.debian.net/128640/ and with many alloc/free:
+ http://paste.debian.net/128641/
+ <braunr> mcsim: thanks
+ <mcsim> best result are for second call: average time decreased from 159.56
+ to 118.756
+ <mcsim> First call slightly worse, but this is because I've added some
+ profiling code
+ <braunr> i still see some ~8k lines in 128639
+ <braunr> even some around ~12k
+ <mcsim> I think this is because of mem_cache_grow I'm investigating it now
+ <braunr> i guess so too
+ <mcsim> I've measured time for first call in cache and from about 22000
+ mem_cache_grow takes 20000
+ <braunr> how did you change the code so that it doesn't call
+ mem_cpu_pool_fill ?
+ <braunr> is the cpu layer still used ?
+ <mcsim> http://paste.debian.net/128644/
+ <braunr> don't forget the free path
+ <braunr> mcsim: anyway, even with the previous slightly slower behaviour we
+ could observe, the performance hit is negligible
+ <mcsim> Is free path a compilation? (I'm sorry for my english)
+ <braunr> mcsim: mem_cache_free
+ <braunr> mcsim: the last two measurements i'd advise are with big (>4k)
+ object sizes and, really, kernel allocator consumption
+ <mcsim> http://paste.debian.net/128648/ http://paste.debian.net/128646/
+ http://paste.debian.net/128649/ (first, second, small)
+ <braunr> mcsim: these numbers are closer to the zalloc ones, aren't they ?
+ <mcsim> deallocating slighty faster too
+ <braunr> it may not be the case with larger objects, because of the use of
+ a tree
+ <mcsim> yes, they are closer
+ <braunr> but then, i expect some space gains
+ <braunr> the whole thing is about compromise
+ <mcsim> ok. I'll try to measure them today. Anyway I'll post result and you
+ could read them in the morning
+ <braunr> at least, it shows that the zone allocator was actually quite good
+ <braunr> i don't like how the code looks, there are various hacks here and
+ there, it lacks self inspection features, but it's quite good
+ <braunr> and there was little room for true improvement in this area, like
+ i told you :)
+ <braunr> (my allocator, like the current x15 dev branch, focuses on mp
+ machines)
+ <braunr> mcsim: thanks again for these numbers
+ <braunr> i wouldn't have had the courage to make the tests myself before
+ some time eh
+ <mcsim> braunr: hello. Look at the small_4096 results
+ http://paste.debian.net/128692/ (balloc) http://paste.debian.net/128693/
+ (zalloc)
+ <braunr> mcsim: wow, what's that ? :)
+ <braunr> mcsim: you should really really include your test parameters in
+ the report
+ <braunr> like object size, purpose, and other similar details
+ <mcsim> for balloc I specified only object_size = 4096
+ <mcsim> for zalloc object_size = 4096, alloc_size = 4096, memtype = 0;
+ <braunr> the results are weird
+ <braunr> apart from the very strange numbers (e.g. 0 or 4429543648), none
+ is around 3k, which is the value matching a kmem_alloc call
+ <braunr> happy to see balloc behaves quite good for this size too
+ <braunr> s/good/well/
+ <mcsim> Oh
+ <mcsim> here is significant only first 101 lines
+ <mcsim> I'm sorry
+ <braunr> ok
+ <braunr> what does the test do again ? 10 loops of 10 allocs/frees ?
+ <mcsim> yes
+ <braunr> ok, so the only slowdown is at the beginning, when the slabs are
+ created
+ <braunr> the two big numbers (31844 and 19548) are strange
+ <mcsim> on the other hand time of compilation is
+ <mcsim> balloc zalloc
+ <mcsim> 38m28.290s 38m58.400s
+ <mcsim> 38m38.240s 38m42.140s
+ <mcsim> 38m30.410s 38m52.920s
+ <braunr> what are you compiling ?
+ <mcsim> gnumach kernel
+ <braunr> in 40 mins ?
+ <mcsim> yes
+ <braunr> you lack hvm i guess
+ <mcsim> is it long?
+ <mcsim> I use real PC
+ <braunr> very
+ <braunr> ok
+ <braunr> so it's normal
+ <mcsim> in vm it was about 2 hours)
+ <braunr> the difference really is negligible
+ <braunr> ok i can explain the big numbers
+ <braunr> the slab size depends on the object size, and for 4k, it is 32k
+ <braunr> you can store 8 4k buffers in a slab (lines 2 to 9)
+ <mcsim> so we need use kmem_alloc_* 8 times?
+ <braunr> on line 10, the ninth object is allocated, which adds another slab
+ to the cache, hence the big number
+ <braunr> no, once for a size of 32k
+ <braunr> and then the free list is initialized, which means accessing those
+ pages, which means tlb misses
+ <braunr> i guess the zone allocator already has free pages available
+ <mcsim> I see
+ <braunr> i think you can stop performance measurements, they show the
+ allocator is slightly slower, but so slightly we don't care about that
+ <braunr> we need numbers on memory usage now (at the page level)
+ <braunr> and this isn't easy
+ <mcsim> For balloc I can get numbers if I summarize nr_slabs*slab_size for
+ each cache, isn't it?
+ <braunr> yes
+ <braunr> you can have a look at the original implementation, function
+ mem_info
+ <mcsim> And for zalloc I have to summarize of cur_size and then add
+ zalloc_wasted_space?
+ <braunr> i don't know :/
+ <braunr> i think the best moment to obtain accurate values is after zone_gc
+ removes the collected pages
+ <braunr> for both allocators, you could fill a stats structure at that
+ moment, and have an rpc copy that structure when a client tool requests
+ it
+ <braunr> concerning your tests, there is another point to have in mind
+ <braunr> the very first loop in your code shows a result of 31844
+ <braunr> although you disabled the call to cpu_pool_fill
+ <braunr> but the reason why it's so long is that the cpu layer still exists
+ <braunr> and if you look carefully, the cpu pools are created as needed on
+ the free path
+ <mcsim> I removed cpu_pool_drain
+ <braunr> but not cpu_pool_push/pop i guess
+ <mcsim> http://paste.debian.net/128698/
+ <braunr> see, you still allocate the cpu pool array on the free path
+ <mcsim> but I don't fill it
+ <braunr> that's not the point
+ <braunr> it uses mem_cache_alloc
+ <braunr> so in a call to free, you can also have an allocation, that can
+ potentially create a new slab
+ <mcsim> I see, so I have to create cpu_pool at the initialization stage?
+ <braunr> no, you can't
+ <braunr> there is a reason why they're allocated on the free path
+ <braunr> but since you don't have the fill/drain functions, i wonder if you
+ should just comment out the whole cpu layer code
+ <braunr> but hmm
+ <braunr> no really, it's not worth the effort
+ <braunr> even with drains/fills, the results are really good enough
+ <braunr> it makes the allocator smp ready
+ <braunr> we should just keep it that way
+ <braunr> mcsim: fyi, the reason why cpu pool arrays are allocated on the
+ free path is to avoid recursion
+ <braunr> because cpu pool arrays are allocated from caches just as almost
+ everything else
+ <mcsim> ok
+ <mcsim> summ of cur_size and then adding zalloc_wasted_space gives 0x4e1954
+ <mcsim> but this value isn't even page aligned
+ <mcsim> For balloc I've got 0x4c6000 0x4aa000 0x48d000
+ <braunr> hm can you report them in decimal, >> 10 so that values are in KiB
+ ?
+ <mcsim> 4888 4776 4660 for balloc
+ <mcsim> 4998 for zalloc
+ <braunr> when ?
+ <braunr> after boot ?
+ <mcsim> boot, compile, zone_gc
+ <mcsim> and then measure
+ <braunr> ?
+ <mcsim> I call garbage collector before measuring
+ <mcsim> and I measure after kernel compilation
+ <braunr> i thought it took you 40 minutes
+ <mcsim> for balloc I got results at night
+ <braunr> oh so you already got them
+ <braunr> i can't beleive the kernel only consumes 5 MiB
+ <mcsim> before gc it takes about 9052 Kib
+ <braunr> can i see the measurement code ?
+ <braunr> oh, and how much ram does your machine have ?
+ <mcsim> 758 mb
+ <mcsim> 768
+ <braunr> that's really weird
+ <braunr> i'd expect the kernel to consume much more space
+ <mcsim> http://paste.debian.net/128703/
+ <mcsim> it's only dynamically allocated data
+ <braunr> yes
+ <braunr> ipc ports, rights, vm map entries, vm objects, and lots of other
+ hanging buffers
+ <braunr> about how much is zalloc_wasted_space ?
+ <braunr> if it's small or constant, i guess you could ignore it
+ <mcsim> about 492
+ <mcsim> KiB
+ <braunr> well it's another good point, mach internal structures don't imply
+ much overhead
+ <braunr> or, the zone allocator is underused
+
+ <tschwinge> mcsim, braunr: The memory allocator project is coming along
+ good, as I get from your IRC messages?
+ <braunr> tschwinge: yes, but as expected, improvements are minor
+ <tschwinge> But at the very least it's now well-known, maintainable code.
+ <braunr> yes, it's readable, easier to understand, provides self inspection
+ and is smp ready
+ <braunr> there also are less hacks, but a few less features (there are no
+ way to avoid sleeping so it's unusable - and unused - in interrupt
+ handlers)
+ <braunr> is* no way
+ <braunr> tschwinge: mcsim did a good job porting and measuring it
+
+
+# IRC, freenode, #hurd, 2011-09-08
+
+ <antrik> braunr: note that the zalloc map used to be limited to 8 MiB or
+ something like that a couple of years ago... so it doesn't seems
+ surprising that the kernel uses "only" 5 MiB :-)
+ <antrik> (yes, we had a *lot* of zalloc panics back then...)
+
+
+# IRC, freenode, #hurd, 2011-09-14
+
+ <mcsim> braunr: hello. I've written a constructor for kernel map entries
+ and it can return resources to their source. Can you have a look at it?
+ http://paste.debian.net/130037/ If all be OK I'll push it tomorrow.
+ <braunr> mcsim: send the patch through mail please, i'll apply it on my
+ copy
+ <braunr> are you sure the cache is reapable ?
+ <mcsim> All slabs, except first I allocate with kmem_alloc_wired.
+ <braunr> how can you be sure ?
+ <mcsim> First slab I allocate during bootstrap and use pmap_steal_memory
+ and further I use only kmem_alloc_wired
+ <braunr> no, you use kmem_free
+ <braunr> in kentry_dealloc_cache()
+ <braunr> which probably creates a recursion
+ <braunr> using the constructor this way isn't a good idea
+ <braunr> constructors are good for preconstructed state (set counters to 0,
+ init lists and locks, that kind of things, not allocating memory)
+ <braunr> i don't think you should try to make this special cache reapable
+ <braunr> mcsim: keep in mind constructors are applied on buffers at *slab*
+ creation, not at object allocation
+ <braunr> so if you allocate a single slab with, say, 50 or 100 objects per
+ slab, kmem_alloc_wired would be called that number of times
+ <mcsim> why kentry_dealloc_cache can create recursion? kentry_dealloc_cache
+ is called only by mem_cache_reap.
+ <braunr> right
+ <braunr> but are you totally sure mem_cache_reap() can't be called by
+ kmem_free() ?
+ <braunr> i think you're right, it probably can't
+
+
+# IRC, freenode, #hurd, 2011-09-25
+
+ <mcsim> braunr: hello. I rewrote constructor for kernel entries and seems
+ that it works fine. I think that this was last milestone. Only moving of
+ memory allocator sources to more appropriate place and merge with main
+ branch left.
+ <braunr> mcsim: it needs renaming and reindenting too
+ <mcsim> for reindenting C-x h Tab in emacs will be enough?
+ <braunr> mcsim: make sure which style must be used first
+ <mcsim> and what should I rename and where better to place allocator? For
+ example, there is no lib directory, like in x15. Should I create it and
+ move list.* and rbtree.* to lib/ or move these files to util/ or
+ something else?
+ <braunr> mcsim: i told you balloc isn't a good name before, use something
+ more meaningful (kmem is already used in gnumach unfortunately if i'm
+ right)
+ <braunr> you can put the support files in kern/
+ <mcsim> what about vm_alloc?
+ <braunr> you should prefix it with vm_
+ <braunr> shouldn't
+ <braunr> it's a top level allocator
+ <braunr> on top of the vm system
+ <braunr> maybe mcache
+ <braunr> hm no
+ <braunr> maybe just km_
+ <mcsim> kern/km_alloc.*?
+ <braunr> no
+ <braunr> just km
+ <mcsim> ok.
+
+
+# IRC, freenode, #hurd, 2011-09-27
+
+ <mcsim> braunr: hello. When I've tried to speed of new allocator and bad
+ I've removed function mem_cpu_pool_fill. But you've said to undo this. I
+ don't understand why this function is necessary. Can you explain it,
+ please?
+ <mcsim> When I've tried to compare speed of new allocator and old*
+ <braunr> i'm not sure i said that
+ <braunr> i said the performance overhead is negligible
+ <braunr> so it's better to leave the cpu pool layer in place, as it almost
+ doesn't hurt
+ <braunr> you can implement the KMEM_CF_NO_CPU_POOL I added in the x15 mach
+ version
+ <braunr> so that cpu pools aren't used by default, but the code is present
+ in case smp is implemented
+ <mcsim> I didn't remove cpu pool layer. I've just removed filling of cpu
+ pool during creation of slab.
+ <braunr> how do you fill the cpu pools then ?
+ <mcsim> If object is freed than it is added to cpu poll
+ <braunr> so you don't fill/drain the pools ?
+ <braunr> you try to get/put an object and if it fails you directly fall
+ back to the slab layer ?
+ <mcsim> I drain them during garbage collection
+ <braunr> oh
+ <mcsim> yes
+ <braunr> you shouldn't touch the cpu layer during gc
+ <braunr> the number of objects should be small enough so that we don't care
+ much
+ <mcsim> ok. I can drain cpu pool at any other time if it is prohibited to
+ in mem_gc.
+ <mcsim> But why do we need to fill cpu poll during slab creation?
+ <mcsim> In this case allocation consist of: get object from slab -> put it
+ to cpu pool -> get it from cpu pool
+ <mcsim> I've just remove last to stages
+ <braunr> hm cpu pools aren't filled at slab creation
+ <braunr> they're filled when they're empty, and drained when they're full
+ <braunr> so that the number of objects they contain is increased/reduced to
+ a value suitable for the next allocations/frees
+ <braunr> the idea is to fall back as little as possible to the slab layer
+ because it requires the acquisition of the cache lock
+ <mcsim> oh. You're right. I'm really sorry. The point is that if cpu pool
+ is empty we don't need to fill it first
+ <braunr> uh, yes we do :)
+ <mcsim> Why cache locking is so undesirable? If we have free objects in
+ slabs locking will not take a lot if time.
+ <braunr> mcsim: it's undesirable on a smp system
+ <mcsim> ok.
+ <braunr> mcsim: and spin locks are normally noops on a up system
+ <braunr> which is the case in gnumach, hence the slightly better
+ performances without the cpu layer
+ <braunr> but i designed this allocator for x15, which only supports mp
+ systems :)
+ <braunr> mcsim: sorry i couldn't look at your code, sick first, busy with
+ server migration now (new server almost ready for xen hurds :))
+ <mcsim> ok.
+ <mcsim> I ended with allocator if didn't miss anything important:)
+ <braunr> i'll have a look soon i hope :)
+
+
+# IRC, freenode, #hurd, 2011-09-27
+
+ <antrik> braunr: would it be realistic/useful to check during GC whether
+ all "used" objects are actually in a CPU pool, and if so, destroy them so
+ the slab can be freed?...
+ <antrik> mcsim: BTW, did you ever do any measurements of memory
+ use/fragmentation?
+ <mcsim> antrik: I couldn't do this for zalloc
+ <antrik> oh... why not?
+ <antrik> (BTW, I would be interested in a comparision between using the CPU
+ layer, and bare slab allocation without CPU layer)
+ <mcsim> Result I've got were strange. It wasn't even aligned to page size.
+ <mcsim> Probably is it better to look into /proc/vmstat?
+ <mcsim> Because I put hooks in the code and probably I missed something
+ <antrik> mcsim: I doubt vmstat would give enough information to make any
+ useful comparision...
+ <braunr> antrik: isn't this draining cpu pools at gc time ?
+ <braunr> antrik: the cpu layer was found to add a slight overhead compared
+ to always falling back to the slab layer
+ <antrik> braunr: my idea is only to drop entries from the CPU cache if they
+ actually prevent slabs from being freed... if other objects in the slab
+ are really in use, there is no point in flushing them from the CPU cache
+ <antrik> braunr: I meant comparing the fragmentation with/without CPU
+ layer. the difference in CPU usage is probably negligable anyways...
+ <antrik> you might remember that I was (and still am) sceptical about CPU
+ layer, as I suspect it worsens the good fragmentation properties of the
+ pure slab allocator -- but it would be nice to actually check this :-)
+ <braunr> antrik: right
+ <braunr> antrik: the more i think about it, the more i consider slqb to be
+ a better solution ...... :>
+ <braunr> an idea for when there's time
+ <braunr> eh
+ <antrik> hehe :-)
diff --git a/open_issues/gnumach_vm_map_entry_forward_merging.mdwn b/open_issues/gnumach_vm_map_entry_forward_merging.mdwn
index b2b20c5b..90137766 100644
--- a/open_issues/gnumach_vm_map_entry_forward_merging.mdwn
+++ b/open_issues/gnumach_vm_map_entry_forward_merging.mdwn
@@ -171,6 +171,22 @@ License|/fdl]]."]]"""]]
entries)
+# IRC, freenode, #hurd, 2011-07-21
+
+ <braunr> tschwinge: you may remove the forward map entry merging issue :/
+ <pinotree> what did you discover?
+ <braunr> tschwinge: it's actually much more complicated than i thought, and
+ needs major changes in the vm, and about the way anonymous memory is
+ handled
+ <braunr> from what i could see, part of the problem still exists in freebsd
+ <braunr> for the same reasons (shadow objects being one of them)
+
+
+# GCC build time using bash vs. dash
+
+<http://gcc.gnu.org/ml/gcc/2011-07/msg00444.html>
+
+
# Procedure
* Analyze.
@@ -181,8 +197,4 @@ License|/fdl]]."]]"""]]
* Measure again.
- * Have [[tschwinge]] measure with gcc build (currently needs 11 h).
- [[tschwinge]] will in the mean time figure out the difference between using
- bash and dash.
-
* Have Samuel measure on the buildd.
diff --git a/open_issues/hurd_101.mdwn b/open_issues/hurd_101.mdwn
new file mode 100644
index 00000000..5c7031c9
--- /dev/null
+++ b/open_issues/hurd_101.mdwn
@@ -0,0 +1,38 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+(See Wikipedia page for the meaning of [[!wikipedia "101_(term)"]].)
+
+Not the first time that something like this is proposed...
+
+IRC, freenode, #hurd, 2011-07-25
+
+ [failed GNU/Hurd project]
+ < antrik> gnu_srs1: I wouldn't say he was on track. just one of the many
+ many people who insist on picking a hard task; realizing that indeed it's
+ hard; and going into hiding
+ < antrik> we see that happen every couple of months
+ < cluck> maybe we need a "hurd 101"
+ < cluck> getting a teacher and setting up a regularly held "class" for hurd
+ noobs
+ < Tekk_> cluck: what would that include?
+ < cluck> explaining core concepts, giving out "homework" (small tasks), etc
+ < cluck> that way "the big guys" could focus on the hard stuff and have an
+ army of code monkeys at their disposal to write speced stuff
+ < cluck> (then again this idea would heavily depend on available "teachers"
+ and "students", which, going by gsoc numbers, may not be all that
+ helpful)
+ < Tekk_> cluck: gsoc isn't an accurate indicator
+ < Tekk_> cluck: I'm not allowed to participate in gsoc but I'd join :P
+ < antrik> cluck: we don't need code monkeys... we need hackers
+ < Tekk_`> antrik: code monkeys involve into hackers
+ < Tekk_`> under the right conditions
+ < cluck> antrik: jokes aside some sort of triage system/training ground for
+ newcomers could be helpful
diff --git a/open_issues/ifunc.mdwn b/open_issues/ifunc.mdwn
index 3930d4b2..c357c99c 100644
--- a/open_issues/ifunc.mdwn
+++ b/open_issues/ifunc.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -10,8 +10,8 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_binutils open_issue_gcc open_issue_glibc]]
-Needs porting / support in [[/binutils]] and [[/glibc]], and probably also some
-target configure magic for [[/GCC]].
+Needs porting / support in [[/binutils]] and [[/glibc]], and then some target
+configure magic for [[/GCC]].
<http://nickclifton.livejournal.com/6612.html> has a short summary about how to
use it from GCC.
@@ -21,7 +21,7 @@ use it from GCC.
Already passes the ifunc testsuite bits for GAS, but notably for LD
(`ld/testsuite/ld-ifunc/ifunc.exp`), too, but that one contains a bunch of
stuff explicitly tailored towards Linux. For example, we get *OS/ABI: UNIX
- - Linux*.
+ - Linux*. (This should be fixed through using [[toolchain/ELFOSABI_GNU]].)
Most of the executables that the testsuite generates don't actually
execute. (Though, this is partly due to the [[static
@@ -37,3 +37,13 @@ use it from GCC.
Killed
$ tmpdir/test-1
tmpdir/test-1: error while loading shared libraries: tmpdir/libshared_ifunc.so: ELF file OS ABI invalid
+
+ * [[glibc]]
+
+ * [[libc_variant_selection]]
+
+ * [[GCC]]
+
+ In `gcc/config.gcc`, set `default_gnu_indirect_function=yes` for us, like
+ done for GNU/Linux. See thread starting at [[!message-id
+ "CAFULd4YZsAQ6ckFjXtU5-yyv=3tYQwTJOPhU9zmJxFOrnotj8g@mail.gmail.com"]].
diff --git a/open_issues/issue_tracking.mdwn b/open_issues/issue_tracking.mdwn
new file mode 100644
index 00000000..55c7b87b
--- /dev/null
+++ b/open_issues/issue_tracking.mdwn
@@ -0,0 +1,118 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!toc]]
+
+
+# Savannah Trackers, Open Issues, debbugs
+
+There are the Savannah trackers. Nobody really likes them.
+
+There is a proposal to add/move to <http://debbugs.gnu.org/>. It can be
+operated by email, Debian people (developers and users) already know how to use
+it.
+
+There are the [[Open_Issues]] pages. This is basically just free-form text
+enriched by some tags for grouping, editable via the web and through Git
+commit. [[tschwinge]] added this to the set, and/but mostly is the sole user
+of it, even though casually there are a few other people contributing, and
+surely these pages do show up in web searches. A more traditional system (like
+the Savannah trackers or the new debbugs) do have their advantages, too, so
+perhaps there's a niche for both these and the [[Open_Issues]].
+
+IRC, freenode, #hurd, 2011-08-31:
+
+ <tschwinge> So. Savannah trackers vs. Open Issues vs. debbugs. Any input?
+ <youpi> I like *both* open issues and debbugs
+ <youpi> open issues is good for exposing things that people may encounter
+ in other situations
+ <youpi> while debbugs is useful to actually work on a bug
+ <tschwinge> youpi: The advantage of debbugs being the email interface and
+ the well-known procedure, or something else?
+ <youpi> email interface, which nicely flows into a mailing list
+ <youpi> the savannah bug updates suffer from the additional layout
+ <tschwinge> How does one decide what to put in a debbug and what in an Open
+ Issue page?
+ <youpi> I'd say it's not exclusive at all
+ <youpi> like, a bug on a specific case can start as debbug, and as we
+ discover it's more general and will not be fixed immediately, get an open
+ issue page
+ <youpi> and conversely, when we know some shortcoming, start with an open
+ issue, and if some bugs are submitted which are actually due to it,
+ cross-link
+ <tschwinge> OK.
+ <youpi> (some general short coming I mean, like SIGINFO)
+ <tschwinge> And we would keep the current stuff in the trackers, and let
+ these ``get empty'' gradually (it'll be years...) ;-) or migrate the
+ remaining issues?
+ <tschwinge> What we can do is inhibiting the creation of new issues in the
+ trackers.
+ <youpi> I'd say move
+ <youpi> else they will be forgotten
+ <tschwinge> Hrm.
+ <antrik> actually, I considered creating a track-like plugin for ikiwiki,
+ as both the popularity of trac and the usefulness of open_issues show
+ that something wiki-like is actually more useful than a rigid traditional
+ bugtracker. but I'm not really willing to do the work, which is why I
+ didn't propose it before :-)
+ <antrik> err... trac-like
+ <youpi> yes, the wiki part is really useful to keep a good summary of the
+ issue
+ <tschwinge> antrik: Same for me. I always hoped that someone would do
+ it... :-)
+ <antrik> hehe
+ <tschwinge> antrik: But, as you surely know, this email parsing business is
+ just too ugly to do realiable, etc.
+ <antrik> youpi: my point is that adding a few additional bits (like a
+ comfortable tagging functionality, and some mail interface) could turn
+ into a full-blown tracker unifying the advantages of both... but as I
+ said, I'm not really willing to do the work :-)
+ <youpi> additional to open_issue you mean?
+ <youpi> yes, but like you say :)
+ <antrik> tschwinge: hm... seems to work well enough it debbugs
+ <youpi> debbugs just piles things
+ <youpi> and has a few commands
+ <youpi> you'd still need the web interface to edit the wiki part for
+ instance
+ <antrik> of course. that wouldn't change at all
+ <antrik> (except for adding a tagging GUI perhaps)
+ <antrik> (debbugs of course is not the only mail-operable bugtracking
+ system... there are a number of others -- and I heard rumors even
+ bugzilla grew a mail interface now...)
+ <youpi> antrik: a .mdwn diff should however be sent to the bug for
+ information
+ <youpi> atm, what happens sometimes is somebody saying something here on
+ #hurd, tschwinge turning that into an open_issue, and it does not show up
+ on the mailing list
+ <tschwinge> debbugs surely has the advantage that it is available (nearly)
+ right now.
+ <mattl> RT (request tracker) and ikiwiki play quite nicely together.
+ <tschwinge> mattl: You'Re using that at GNU/FSF/somewhere, right?
+ <mattl> you can close tickets from the wiki, and RT has a good command line
+ interface, email interface and web interface.
+ <mattl> tschwinge: yeah, we use RT and ikiwiki.
+ <mattl> RT for all FSF communications, and ikiwiki for internal organising.
+ <mattl> RT is not the easiest thing to set up, but works pretty well once
+ it's running.
+
+
+# Further Systems
+
+ * ikiwiki
+
+ * <http://ikiwiki.info/tips/integrated_issue_tracking_with_ikiwiki/>
+
+ * <http://ikiwiki.info/todo/Better_bug_tracking_support/>
+
+ * <http://ikiwiki.info/todo/tracking_bugs_with_dependencies/>
+
+ * <http://ikiwiki.info/todo/Updated_bug_tracking_example/>
+
+ * <http://bugseverywhere.org/>
diff --git a/open_issues/libc_variant_selection.mdwn b/open_issues/libc_variant_selection.mdwn
index f44f7068..afcd9ae0 100644
--- a/open_issues/libc_variant_selection.mdwn
+++ b/open_issues/libc_variant_selection.mdwn
@@ -27,3 +27,8 @@ On Thu, Oct 07, 2010 at 11:22:46AM +0200, Samuel Thibault wrote:
>
> Yes, you need to copy it by hand. Same for libc0.3-i686, we just need to
> steal the cpuid code from the kfreebsd port of glibc.
+
+---
+
+Having working CPUID code inside [[glibc]] is also a prerequisite for proper
+[[IFUNC]] support.
diff --git a/open_issues/libmachuser_libhurduser_rpc_stubs.mdwn b/open_issues/libmachuser_libhurduser_rpc_stubs.mdwn
index d069641e..93055b77 100644
--- a/open_issues/libmachuser_libhurduser_rpc_stubs.mdwn
+++ b/open_issues/libmachuser_libhurduser_rpc_stubs.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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,19 +8,49 @@ 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]]."]]"""]]
-bug-hurd discussion.
+[[!tag open_issue_glibc open_issue_hurd]]
----
+[[!toc]]
-IRC, #hurd, 2010-08-12
- <jkoenig> Looking at hurd.git, shouldn't {hurd,include}/Makefile's "all" target do something, and shouldn't pretty much everything depend on them? As it stands it seems that the system headers are used and the potentially newer ones never get built, except maybe on "install" (which is seemingly never called from the top-level Makefile)
- <jkoenig> I would fix it, but something tells me that maybe it's a feature :-)
+# bug-hurd discussion.
+
+
+# IRC, freenode, #hurd, 2010-08-12
+
+ <jkoenig> Looking at hurd.git, shouldn't {hurd,include}/Makefile's "all"
+ target do something, and shouldn't pretty much everything depend on them?
+ As it stands it seems that the system headers are used and the
+ potentially newer ones never get built, except maybe on "install" (which
+ is seemingly never called from the top-level Makefile)
+ <jkoenig> I would fix it, but something tells me that maybe it's a feature
+ :-)
<antrik> jkoenig: the headers are provided by glibc, along with the stubs
- <jkoenig> antrik, you mean, even those built from the .defs files in hurd/ ?
+ <jkoenig> antrik, you mean, even those built from the .defs files in hurd/
+ ?
<antrik> yes
<jkoenig> oh, ok then.
- <antrik> as glibc provides the stubs (in libhurduser), the headers also have to come from there, or they would get out of sync
- <jkoenig> hmm, shouldn't glibc also provide /usr/share/msgids/hurd.msgids, then?
- <antrik> jkoenig: not necessarily. the msgids describe what the servers actually understand. if the stubs are missing from libhurduser, that's no reason to leave out the msgids...
+ <antrik> as glibc provides the stubs (in libhurduser), the headers also
+ have to come from there, or they would get out of sync
+ <jkoenig> hmm, shouldn't glibc also provide /usr/share/msgids/hurd.msgids,
+ then?
+ <antrik> jkoenig: not necessarily. the msgids describe what the servers
+ actually understand. if the stubs are missing from libhurduser, that's no
+ reason to leave out the msgids...
<jkoenig> ok this makes sense
+
+
+# IRC, OFTC, #debian-hurd, 2011-09-29
+
+ <tschwinge> pinotree: I don't like their existence. IMO (but I haven't
+ researched this in very much detail), every user of RPC stubs should
+ generated them for themselves (and glibc should directly include the
+ stubs it uses internally).
+ <pinotree> sounds fair
+ <pinotree> maybe they could be moved from glibc to hurd?
+ <tschwinge> pinotree: Yeah; someone needs to research why we have them (or
+ if it's only convenience), and whether we want to keep them.
+ <pinotree> you could move them to hurd, leaving them unaltered, so binary
+ compatibility with eventual 3rd party users is not broken
+ <pinotree> but those using them, other than hurd itself, won't compile
+ anymore, so you fix them progressively
diff --git a/open_issues/libpthread_dlopen.mdwn b/open_issues/libpthread_dlopen.mdwn
new file mode 100644
index 00000000..fb665c67
--- /dev/null
+++ b/open_issues/libpthread_dlopen.mdwn
@@ -0,0 +1,84 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_libpthread]]
+
+IRC, OFTC, #debian-hurd, 2011-07-21.
+
+ <youpi> there's one known issue with pthreads
+ <youpi> you can't dlopen() it
+
+... if the main application is not already linked against it.
+
+ <youpi> which also means you can't dlopen() a module which depends on it if
+ the main application hasn't used -lpthread already
+ <youpi> (so as to get libpthread initialized early, not at the dlopen()
+ call)
+ <lucas> I get this while building simgrid:
+ <lucas> cd /home/lucas/simgrid-3.6.1/obj-i486-gnu/examples/gras/console &&
+ /usr/bin/cmake -E create_symlink
+ /home/lucas/simgrid-3.6.1/obj-i486-gnu/lib/libsimgrid.so
+ /home/lucas/simgrid-3.6.1/obj-i486-gnu/examples/gras/console/simgrid.so
+ <lucas> cd /home/lucas/simgrid-3.6.1/obj-i486-gnu/examples/gras/console &&
+ lua /home/lucas/simgrid-3.6.1/examples/gras/console/ping_generator.lua
+ <lucas> lua:
+ /home/buildd/build/chroot-sid/home/buildd/byhand/hurd/./libpthread/sysdeps/generic/pt-mutex-timedlock.c:68:
+ __pthread_mutex_timedlock_internal: Assertion `__pthread_threads' failed.
+ <lucas> Aborted (core dumped)
+ <youpi> that's it, yes
+ <youpi> (or at least it has the same symptoms)
+ <lucas> it would need fixing in lua, not in SG, then, right?
+ <youpi> yes
+ <lucas> ok, thanks
+
+The fix thus being: link the main application with -lpthread.
+
+IRC, freenode, #hurd, 2011-08-17
+
+ < youpi> i.e. openjade apparently dlopen()s modules which use pthreads, but
+ openjade itself is not liked against libpthread
+ < youpi> which means unexpectedly loading pthreads on the fly, which is
+ not implemented
+ < youpi> (and hard to implement of course)
+ < youpi> gnu_srs: so simply tell openjade people to link it with -lpthread
+ < gnu_srs> Shuoldn't missing linking with pthread create an error when
+ building openjade then?
+ < youpi> no
+ < youpi> because it's just a module which needs pthread
+ < youpi> and that module _is_ linked with -lpthread
+ < youpi> and dlopen() loads libpthreads too due to that
+ < youpi> but that's unexpected, for the libpthread initialization stuff
+ < youpi> (and too late to fix initlaization)
+ < gnu_srs> How come that other OSes build opensp w/o problems?
+ < youpi> because there are stubs in the libc
+ < gnu_srs> Sorry for the delay: What hinders stubs to be present also in
+ the Hurd libc parts too, to cope with this problem?
+ < youpi> doing it
+ < youpi> which is hard because you need libpthread bits inside the libc
+ < youpi> making it simpler would need building libpthread at the same time
+ as libc
+
+[[packaging_libpthread]]
+
+---
+
+The same symptom appears in an odd case, for instance:
+
+ buildd@hurd:~$ ldd /usr/bin/openjade
+ libthreads.so.0.3 => /lib/libthreads.so.0.3 (0x0103d000)
+ libosp.so.5 => /usr/lib/libosp.so.5 (0x01044000)
+ libpthread.so.0.3 => /lib/libpthread.so.0.3 (0x01221000)
+ libnsl.so.1 => /lib/i386-gnu/libnsl.so.1 (0x01232000)
+ [...]
+
+openjade links against *both* libthreads and libpthread. The result is that libc
+early-initializes libthreads only, and thus libpthread is not early-initialized,
+and later on raises assertions. The solution is to just get rid of libthreads,
+to have only one threading library.
diff --git a/open_issues/mach-defpager_malloc_hook.mdwn b/open_issues/mach-defpager_malloc_hook.mdwn
new file mode 100644
index 00000000..2bbff75a
--- /dev/null
+++ b/open_issues/mach-defpager_malloc_hook.mdwn
@@ -0,0 +1,14 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_glibc open_issue_hurd]]
+
+*malloc hooks* are used in `[hurd]/mach-defpager/kalloc.c`. But their use is
+deprecated (glibc 7d17596c198f11fa85cbcf9587443f262e63b616).
diff --git a/open_issues/mach-defpager_vs_defpager.mdwn b/open_issues/mach-defpager_vs_defpager.mdwn
index d6976706..f03bc67f 100644
--- a/open_issues/mach-defpager_vs_defpager.mdwn
+++ b/open_issues/mach-defpager_vs_defpager.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -10,16 +10,24 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_gnumach open_issue_hurd]]
-\#hurd, 2010, end of May / beginning of June
+IRC, freenode, #hurd, end of May/beginning of June 2010
<cfhammar> whats the difference between mach-defpager and defpager?
- <cfhammar> i'm guessing defpager is a hurdish version that uses libstore but was never finished or something
- <cfhammar> found an interesting thread about it: http://mirror.libre.fm/hurd/list/msg01232.html
+ <cfhammar> i'm guessing defpager is a hurdish version that uses libstore
+ but was never finished or something
+ <cfhammar> found an interesting thread about it:
+ http://mirror.libre.fm/hurd/list/msg01232.html
<slpz> antrik: an interesting thread, indeed :-)
- <pochu> slpz: btw is mach-defpager linked statically but not called mach-defpager.static on purpose?
- <slpz> antrik: also, I can confirm that mach-defpager needs a complete rewrite ;-)
+ <pochu> slpz: btw is mach-defpager linked statically but not called
+ mach-defpager.static on purpose?
+ <slpz> antrik: also, I can confirm that mach-defpager needs a complete
+ rewrite ;-)
<slpz> pochu: I think the original defpager was launched by serverboot
<slpz> pochu: that could be the reason to have it static, like ext2fs
- <slpz> and since there's no need to execute it again during the normal operation of the system, they probably decided to not create a dynamically linked version
+ <slpz> and since there's no need to execute it again during the normal
+ operation of the system, they probably decided to not create a
+ dynamically linked version
<slpz> (but I'm just guessing)
- <slpz> of perhaps they wanted to prevent mach-defpager from the need of reading libraries, since it's used when memory is really scarce (guessing again)
+ <slpz> of perhaps they wanted to prevent mach-defpager from the need of
+ reading libraries, since it's used when memory is really scarce (guessing
+ again)
diff --git a/open_issues/mach_migrating_threads.mdwn b/open_issues/mach_migrating_threads.mdwn
new file mode 100644
index 00000000..c14ce95a
--- /dev/null
+++ b/open_issues/mach_migrating_threads.mdwn
@@ -0,0 +1,17 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_gnumach]]
+
+<http://www.brynosaurus.com/pub/os/thread-migrate.pdf>
+
+ * [[microkernel/mach/memory_object/discussion]]
+
+ * [[resource_management_problems]]
diff --git a/open_issues/mach_on_top_of_posix.mdwn b/open_issues/mach_on_top_of_posix.mdwn
new file mode 100644
index 00000000..7574feb0
--- /dev/null
+++ b/open_issues/mach_on_top_of_posix.mdwn
@@ -0,0 +1,16 @@
+[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="Mach on Top of POSIX"]]
+
+[[!tag open_issue_gnumach]]
+
+At the beginning of the 2000s, there was a *Mach on Top of POSIX* port started
+by John Edwin Tobey. Status unknown. Ask [[tschwinge]] for the source code.
diff --git a/open_issues/mach_tasks_memory_usage.mdwn b/open_issues/mach_tasks_memory_usage.mdwn
index 88e3afb8..9abb7639 100644
--- a/open_issues/mach_tasks_memory_usage.mdwn
+++ b/open_issues/mach_tasks_memory_usage.mdwn
@@ -10,7 +10,7 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_documentation]]
-IRC, #hurd, 2011-01-06.
+IRC, freenode, #hurd, 2011-01-06
<antrik> hm, odd... vmstat tells me that ~500 MiB of RAM are in use; but
the sum of all RSS is <300 MiB... what's the rest?
@@ -98,3 +98,50 @@ IRC, #hurd, 2011-01-06.
<kilobug> braunr: yeah for bootstrapping issues, makes sense
<braunr> it may also depends on the pic/pie options used when building
libraries
+
+
+IRC, freenode, #hurd, 2011-07-24
+
+ < braunr> the panic is probably due to memory shortage
+ < braunr> so as antrik suggested, use more swap
+ < antrik> gg0: you could run "vmstat 1" in another terminal to watch memory
+ usage
+ < antrik> that way we will know for sure whether it's related
+ < braunr> antrik: it's trickier than that
+ < braunr> it depends if the zones used are pageable
+ < antrik> braunr: well, if it's a zone map exhaustion, then the swap size
+ won't change anything?...
+ < braunr> antrik: in this case no, but if the zone is pageable and the
+ pager (backing anonymous memory) refuses to create memory because it
+ estimates it's full (all swap space is reserved), it will fail to
+ < braunr> too
+ < braunr> but i don't think there are much pageable zones in the kernel
+ < antrik> yes, but in that case we can see the exhaustion in vmstat :-)
+ < braunr> many*
+ < braunr> i'm not sure
+ < braunr> reserved swap space doesn't mean it's used
+ < braunr> that's one of the major changes in freebsd 4 or 5 i was
+ mentioning
+ < antrik> if it's reserved, it wouldn't show up as "free", would it?...
+ < braunr> (btw, it's also what makes anonymous memory merging so hard)
+ < braunr> yes it would
+ < braunr> well, it could, i'm not sure
+ < braunr> anonymous memory is considered as a file
+ < braunr> one big file filled with zeroes, which is the swap partition
+ < braunr> when you allocate pageable anonymous memory, a part of this
+ "file" is reserved
+ < braunr> but i don't know if the reported number if the reserved
+ (allocated) space, or used (actually containing data)
+ < braunr> is*
+ < braunr> i also suspect wired allocations can fail because of a full swap
+ (because the kernel is unable to make free pages)
+ < braunr> in this case vmstat will show it
+ < antrik> what does it matter whether there is data there or not? if it's
+ reserved, it's not free. if it behaves differently, I'd consider that a
+ serious bug
+ < braunr> maybe the original developers intended to monitor its actual
+ usage
+ < braunr> antrik: i've just checked how the free count gets updated, and it
+ looks like it is on both seqnos_memory_object_data_initialize and
+ seqnos_memory_object_data_write
+ < braunr> antrik: so i guess reserved memory is accounted for
diff --git a/open_issues/mach_vm_pageout.mdwn b/open_issues/mach_vm_pageout.mdwn
new file mode 100644
index 00000000..dac7fe28
--- /dev/null
+++ b/open_issues/mach_vm_pageout.mdwn
@@ -0,0 +1,19 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_gnumach]]
+
+IRC, freenode, #hurd, 2011-09-09
+
+ <slpz> It's amazing how broken some parts of Mach's VM are
+ <slpz> currently, it doesn't even keep track of the number of external
+ pages in the lists
+ <slpz> and vm_pageout_scan produces a hang if want_pages == FALSE (which
+ never is, because vm_page_external_count is always 0)
diff --git a/open_issues/mmap_crash_etc.mdwn b/open_issues/mmap_crash_etc.mdwn
new file mode 100644
index 00000000..4946a5a0
--- /dev/null
+++ b/open_issues/mmap_crash_etc.mdwn
@@ -0,0 +1,95 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+Several issues here:
+
+ * [[!tag open_issue_glibc open_issue_gnumach]] Even invalid `mmap` shoudn't
+ crash the process.
+
+ * [[!tag open_issue_documentation]] The memory layout example should be
+ documented.
+
+ * [[!tag open_issue_gnumach]] New `vm_map` allocation strategy may be
+ desirable; see also [[placement_of_virtual_memory_regions]].
+
+ * [[!tag open_issue_glibc]] *task X deallocating an invalid port Y, most
+ probably a bug*.
+
+IRC, freenode, #hurd, 2011-08-11
+
+ < zyg> oh, mmap sigsegvs, strange.
+ < braunr> hwo do you see that ?
+ < zyg> braunr: I'll try to paste a minimal case
+ < braunr> zyg: make sure you have a sane memory setup
+ < braunr> 512 RAM / 1G swap seems good
+ < braunr> have more swap than RAM
+ < zyg> I have those. Still it shouldn't sigsegv.
+ < braunr> gnumach is picky about that
+ < braunr> and yes, the hurd shouldn't have bugs
+ < zyg> braunr: ready to crash? #include <stdio.h> #include <sys/mman.h> int
+ main (int argc, char **argv) { mmap(0x10000, 0x8000, PROT_READ, MAP_ANON
+ | MAP_FIXED, -1, 0); return 0; }
+ < braunr> a fixed mapping at such an address is likely to fail, yes
+ < braunr> but a crash, hm
+ < zyg> why should it fail?
+ < braunr> because the hurd doesn't have a common text data bss heap stack
+ layout
+ < braunr> e.g. there are mappings below text, as show by vminfo :
+ < braunr> $ vminfo $$
+ < braunr> 0[0x1000] (prot=0)
+ < braunr> 0x1000[0x21000] (prot=RX, max_prot=RWX, mem_obj=105)
+ < braunr> 0x22000[0x1000] (prot=R, max_prot=RWX, mem_obj=105)
+ < braunr> 0x23000[0x1000] (prot=RW, max_prot=RWX, mem_obj=105)
+ < braunr> 0x24000[0x1000] (prot=0, max_prot=RWX)
+ < braunr> 0x25000[0xfff000] (prot=RWX, mem_obj=106)
+ < braunr> 0x1024000[0x1000] (prot=RWX, mem_obj=107)
+ < braunr> 0x1025000[0x1000] (prot=RW, max_prot=RWX, mem_obj=108)
+ < braunr> 0x1026000[0x1000] (prot=RW, max_prot=RWX, mem_obj=108,
+ offs=0x1000)
+ < braunr> 0x1027000[0x1000] (prot=RW, max_prot=RWX, mem_obj=109)
+ < braunr> 0x1028000[0x2000] (prot=RW, max_prot=RWX, mem_obj=110,
+ offs=0x1000)
+ < braunr> 0x102a000[0x1000] (prot=RW, max_prot=RWX, mem_obj=111)
+ < braunr> (sorry for the long paste)
+ < zyg> oh.. my mmap falls into an occupied range?
+ < braunr> seems so
+ < zyg> thanks, that was really useful.
+ < braunr> MAP_FIXED isn't portable, this is clearly stated in most man
+ pages
+ < zyg> yes, implementation specific it says
+ < braunr> well the behaviour isn't specific, it's well defined, but the
+ memory layout isn't
+ < braunr> i personally think vm_map() should be slightly changed to include
+ a new flag for top-down allocations
+ < braunr> so that our stack and libraries are at high addresses, below the
+ kernel
+ < braunr> zyg: what kind of error do you get ? i don't get sigsegv
+ < zyg> I get both sigsegv and sigill depending on addr
+ < braunr> ok
+ < braunr> i get sigill with your example
+ < braunr> the error is the same (wrong memory access) but the behaviour
+ changes because of the special memory configuration
+ < zyg> yes.. I guess the usecase is too uncommon. Else mmap would have an
+ guard
+ < braunr> some accesses cause invalid page faults (which are sent as
+ segmentation faults) while other cause general protection faults (which
+ are sent as illegal instructions)
+ < braunr> (this is quite weird since the GP fault is likely because the
+ access targets something out of the data or code segment eh)
+ < zyg> braunr: that's very os-specific. Do you mean hurd behaves that way?
+ < braunr> gnumach
+ < braunr> on i386
+ < braunr> the segmant configuration isn't completely flat
+ < braunr> segment*
+ < braunr> hm nice
+ < braunr> your small program triggers the "task X deallocating an invalid
+ port Y, most probably a bug." message
+ < zyg> where do you see that?
+ < braunr> on the mach console
diff --git a/open_issues/multiprocessing.mdwn b/open_issues/multiprocessing.mdwn
index 224c0826..562ccd83 100644
--- a/open_issues/multiprocessing.mdwn
+++ b/open_issues/multiprocessing.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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]]."]]"""]]
-[[!tag open_issue_hurd]]
+[[!tag open_issue_documentation open_issue_hurd]]
We would expect that fine-grained, compartmentalized systems, that is,
microkernel-based multi-server systems in particular, would be ideal candidates
@@ -16,7 +16,7 @@ for applying multiprocessing. That is, however, only true from a first and
inexperienced point of view: there are many difficulties.
-IRC, #hurd, August / September 2010
+IRC, freenode, #hurd, August / September 2010
<marcusb> silver_hook: because multi-server systems depend on inter-process
communication, and inter-process communication is many times more
@@ -31,6 +31,37 @@ IRC, #hurd, August / September 2010
serious research challenges
+IRC, freenode, #hurd, 2011-07-26
+
+ < braunr> 12:03 < CTKArcher> and does the hurd take more advantages in a
+ multicore architecture than linux ?
+ < braunr> CTKArcher: short answer: no
+ < CTKArcher> it's easier to imagine one server pro core than the linux
+ kernel divided to be executed on multiple cores
+ < braunr> CTKArcher: this approach is less efficient
+ < braunr> CTKArcher: threads carry state, both explicit and implicit (like
+ cache data)
+ < braunr> CTKArcher: switching to another core means resetting and
+ refetching this state
+ < braunr> it's expensive and there is no gain obtained by doing this
+ < braunr> thread migration (having a thread from a client also run in
+ servers when making synchronous RPC, even handling its own page faults)
+ was implemented in mach4 and is imo a very good thing we should have
+ < braunr> CTKArcher: and concerning linux, it's actually very scalable
+ < braunr> it's already like if all client threads run in servers (the
+ kernel is the servers there)
+ < braunr> rcu is used a lot
+ < braunr> thread migration already takes into account smt, cores, and numa
+ < braunr> it's hard to do something better
+ < braunr> (here, thread migration means being dispatched on another cpu)
+ < braunr> some systems like dragonflybsd go as far as to pin threads on one
+ processor for their entire lifetime
+ < braunr> in order to have rcu-like locking almost everywhere
+ < braunr> (you could argue it's less efficient since in the worst case
+ everything runs on the same cpu, but it's very unlikely, and in practice
+ most patterns are well balanced)
+
+
debian-hurd list
On Thu, Jan 02, 2003 at 05:40:00PM -0800, Thomas Bushnell, BSG wrote:
diff --git a/open_issues/multithreading.mdwn b/open_issues/multithreading.mdwn
index 18fc257e..1fc2c318 100644
--- a/open_issues/multithreading.mdwn
+++ b/open_issues/multithreading.mdwn
@@ -31,6 +31,10 @@ instead they should be scaled according to the backends' characteristics.
The [[hurd/Critique]] should have some more on this.
+[*Event-based Concurrency
+Control*](http://soft.vub.ac.be/~tvcutsem/talks/presentations/T37_nobackground.pdf),
+Tom Van Cutsem, 2009.
+
# Alternative approaches:
@@ -43,7 +47,8 @@ The [[hurd/Critique]] should have some more on this.
* [[Erlang-style_parallelism]]
- * [[!wikipedia Actor_model]]
+ * [[!wikipedia Actor_model]]; also see overlap with
+ {{$capability#wikipedia_object-capability_model}}.
* [libtcr - Threaded Coroutine Library](http://oss.linbit.com/libtcr/)
diff --git a/open_issues/notmuch_n_gmane.mdwn b/open_issues/notmuch_n_gmane.mdwn
new file mode 100644
index 00000000..664c9876
--- /dev/null
+++ b/open_issues/notmuch_n_gmane.mdwn
@@ -0,0 +1,18 @@
+[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="Notmuch'n'Gmane"]]
+
+[[!taglink open_issue_documentation]]; [[ikiwiki]] issue.
+
+In `\[[!message-id
+"AANLkTinY1Cd4_qO_9euYJN8zev4hdr7_ANpjNG+yGRMn@mail.gmail.com"]]`, underscores
+are replaced with spaces in the rendered output: [[!message-id
+"AANLkTinY1Cd4_qO_9euYJN8zev4hdr7_ANpjNG+yGRMn@mail.gmail.com"]].
diff --git a/open_issues/osf_mach.mdwn b/open_issues/osf_mach.mdwn
new file mode 100644
index 00000000..d689bfcb
--- /dev/null
+++ b/open_issues/osf_mach.mdwn
@@ -0,0 +1,237 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_glibc open_issue_gnumach open_issue_hurd]]
+
+IRC, freenode, #hurd, 2011-09-07
+
+ <slpz> tschwinge: do you think that should be possible/convenient to
+ maintain hurd and glibc versions for OSF Mach as branches in the offical
+ git repo?
+ <tschwinge> Is OSF Mach the MkLinux one?
+ <slpz> Yes, it is
+ <tschwinge> slpz: If there's a suitable license, then yes, of course!
+ <tschwinge> Unless there is a proper upstream, of course.
+ <tschwinge> But I don't assume there is?
+ <tschwinge> slpz: What is interesting for us about OSF Mach?
+ <slpz> tschwinge: Peter Bruin and Jose Marchesi did a gnuified version some
+ time ago (gnu-osfmach), so I suppose the license is not a problem. But
+ I'm going to check it, though
+ <slpz> OSF Mach has a number of interesting features
+ <slpz> like migrating threads, advisory pageout, clustered pageout, kernel
+ loaded tasks, short circuited RPC...
+ <tschwinge> Oh!
+ <tschwinge> Good.
+ <slpz> right now I'm testing if it's really worth the effort
+ <tschwinge> Yes.
+ <tschwinge> But if the core codebase is the same (is it?) it may be
+ possible to merge some things?
+ <tschwinge> If the changes can be identified reasonably...
+ <slpz> comparing performance of the specialized RPC of OSF Mach with
+ generic IPC
+ <slpz> That was my first intention, but I think that porting all those
+ features will be much more work than porting Hurd/glibc to it
+ <braunr> slpz: ipc performance currently matters less than clustered
+ pageouts
+ <braunr> slpz: i'm really not sure ..
+ <braunr> i'd personnally adapt the kernel
+ <slpz> braunr: well, clustered pageouts is one of the changes that can be
+ easily ported
+ <slpz> braunr: We can consider OSF Mach code as reasonably stable, and
+ porting its features to GNU Mach will take us to the point of having to
+ debug all that code again
+ <slpz> probably, the hardest feature to be ported is migrating threads
+ <braunr> isn't that what was tried for gnu mach 2 ? or was it only about
+ oskit ?
+ <slpz> IIRC only oskit
+ <tschwinge> slpz: But there have been some advancements in GNU Mach, too.
+ For example the Xen port.
+ <tschwinge> But wen can experiment with it, of course.
+ <slpz> tschwinge: I find easier to move the Xen support from GNU Mach to
+ OSF Mach, than porting MT in the other direction
+ <tschwinge> slpz: And I think MkLinux is a single-server, so I don't this
+ they used IPC as much as we did?
+ <tschwinge> slpz: OK, I see.
+ <braunr> slpz: MT aren't as needed as clustered pageouts :p
+ <braunr> gnumach already has ipc handoff, so MT would just consume less
+ stack space, and only slightly improve raw ipc performance
+ <tschwinge> slpz: But we will surely accept patches that get the Hurd/glibc
+ ported to OSF Mach, no question.
+ <braunr> (it's required for other issues we discussed already, but not a
+ priority imo)
+ <slpz> tschwinge: MkLinux makes heavy use of IPC, but it tries to
+ "short-circuit" it when running as a kernel loaded task
+ <tschwinge> And it's obviously best to keep it in one place. Luckily it's
+ not CVS branches anymore... :-)
+ <slpz> braunr: well, I'm a bit obsessed with IPC peformance, if the RPC on
+ OSF Mach really makes a difference, I want it for Hurd right now
+ <slpz> braunr: clustered pages can be implemented at any time :-)
+ <slpz> tschwinge: great!
+ <tschwinge> slpz: In fact, haven'T there already been some Savannah
+ repositories created, several (five?) years ago?
+ <braunr> slpz: the biggest performance issue on the hurd is I/O
+ <braunr> and the easiest way to improve that is better VM transfers
+ <slpz> tschwinge: yes, the HARD project, but I think it wasn't too well
+ received...
+ <tschwinge> slpz: Quite some things changed since then, I'd say.
+ <slpz> braunr: I agree, but IPC is the hardest part to optimize
+ <slpz> braunr: If we have a fast IPC, the rest of improvements are way
+ easier
+ <braunr> slpz: i don't see how faster IPC makes I/O faster :(
+ <braunr> slpz: read
+ http://www.sceen.net/~rbraun/the_increasing_irrelevance_of_ipc_performance_for_microkernel_based_operating_systems.pdf
+ again :)
+ <slpz> braunr: IPC puts the upper limit of how fast I/O could be
+ <braunr> the abstract for my thesis on x15 mach was that the ipc code was
+ the most focused part of the kernel
+ <braunr> so my approach was to optimize everything *else*
+ <braunr> the improvements in UVM (and most notably clustered page
+ transfers) show global system improvements up to 30% in netbsd
+ <braunr> we should really focus on the VM first (which btw, is a pain in
+ the ass with the crappy panicking swap code in place)
+ <braunr> and then complete the I/O system
+ <slpz> braunr: If a system can't transfer data between translators faster
+ than 100 MB/s, faster devices doesn't make much sense
+ <guillem> has anyone considered switching the syscalls to use
+ sysenter/syscall instead of soft interrupts?
+ <slpz> braunr: but I agree on the VM part
+ <braunr> guillem: it's in my thesis .. but only there :)
+ <braunr> slpz: let's reach 100 MiB/s first, then improve IPC
+ <slpz> guillem: that's a must do, also moving to 64 bits :-)
+ <braunr> guillem: there are many tiny observations in it, like the use of
+ global page table entries, which was added by youpi around that time
+ <guillem> slpz: I wanted to fix all warnings first before sending my first
+ batch of 64 bit fixes, but I think I'll just send them after checking
+ they don't introduce regressions on i386
+ <guillem> braunr: interesting I think I might have skimmed over your
+ thesis, maybe I should read it properly some time :)
+ <slpz> braunr: I see exactly as the opposite. First push IPC to its limit,
+ then improve devices/VM
+ <slpz> guillem: that's great :-)
+ <braunr> slpz: improving ipc now will bring *nothing*, whereas improving
+ vm/io now will make the system considerably more useable
+ <guillem> but then fixing 64-bit issues in the Linux code is pretty
+ annoying given that the latest code from upstream has that already fixed,
+ and we are “supposed” to drop the linux code from gnumach at some point
+ :)
+ <braunr> slpz: that's a basic principle in profiling, improve what brings
+ the best gains
+ <slpz> braunr: I'm not thinking about today, I'm thinking about how fast
+ Hurd could be when running on Mach. And, as I said, IPC is the absolute
+ upper limit.
+ <braunr> i'm really not convinced
+ <braunr> there are that many tasks making extensive use of IPCs
+ <braunr> most are cpu/IO bound
+ <slpz> but I have to acknowledge that this concern has been really
+ aliviated by the EPT improvement discovery
+ <braunr> there aren't* that many tasks
+ <slpz> braunr: create a ramdisk an write some files on it
+ <slpz> braunr: there's no I/O in that case, an performance it's really low
+ too
+ <braunr> well, ramdisks don't even work correctly iirc
+ <slpz> I must say that I consider improvements in OOL data moving as if it
+ were in IPC itself
+ <slpz> braunr: you can simulate one with storeio
+ <braunr> slpz: then measure what's slow
+ <braunr> slpz: it couldn't simply be the vm layer
+ <slpz> braunr:
+ http://www.gnu.org/s/hurd/hurd/libstore/examples/ramdisk.html
+ <braunr> ok, it's not a true ramdisk
+ <braunr> it's a stack of a ramdisk and extfs servers
+ <braunr> ext2fs*
+ <braunr> i was thinking about tmpfs
+ <slpz> True, but one of Hurd main advantages is the ability of doing that
+ kind of things
+ <slpz> so they must work with a reasonable performance
+ <braunr> other systems can too ..
+ <braunr> anyway
+ <braunr> i get your point, you want faster IPCs, like everyone does
+ <slpz> braunr: yes, and I also want to know how fast could be, to have a
+ reference when profiling complex services
+ <antrik> slpz: really improving IPC performance probably requires changing
+ the semantics... but we don't know which semantics we want until we have
+ actually tried fixing the existing bottlenecks
+ <antrik> well, not only bottlenecks... also other issues such as resource
+ management
+ <slpz> antrik: I think fixing bottlenecks would probably require changes in
+ some Mach interfaces, not in the IPC subsystem
+ <slpz> antrik: I mean, IPC semantics just provide the basis for messaging,
+ I don't think we will need to change them further
+ <antrik> slpz: right, but only once we have addressed the bottlenecks (and
+ other major shortcomings), we will know how the IPC mechanisms needs to
+ change to get further improvements...
+ <antrik> of course improving Mach IPC performance is interesting too -- if
+ nothing else, then to see how much of a difference it really makes... I
+ just don't think it should be considered an overriding priority :-)
+ <youpi> slpz: I agree with braunr, I don't think improving IPC will bring
+ much on the short term
+ <youpi> the buildds are slow mostly because of bad VM
+ <youpi> like lack of read-ahead, the randomness of object cache pageout,
+ etc.
+ <youpi> that doesn't mean IPC shouldn't be improved of course
+ <youpi> but we have a big margin for iow
+ <youpi> s/iow/now
+ <slpz> youpi: I agree with you and with braunr in that regard. I'm not
+ looking for an inmediate improvement, I just want to see how fast the IPC
+ (specially, OOL data transfers) could be.
+ <slpz> also, migrating threads will help to fix some problems related with
+ resource management
+ <antrik> slpz: BTW, what about Apple's Mach? isn't it essentialy OSF Mach
+ with some further improvements?...
+ <slpz> antrik: IPC is an area with very little room for improvement, so I
+ don't we will fix that bottlenecks by applying some changes there
+ <antrik> well, for large OOL transfers, the limiting facter is certainly
+ also VM rather than the thread model?...
+ <slpz> antrik: yes, but I think is encumbered with the APPLv2 license
+ <antrik> ugh
+ <slpz> antrik: for OOL transfers, VM plays a big role, but IPC also has
+ great deal of responsibility
+ <antrik> as for resource management, migrating threads do not really help
+ much IMHO, as they only affect CPU scheduling. memory usage is a much
+ more pressing issue
+ <antrik> BTW, I have thought about passive objects in the past, but didn't
+ reach any conclusion... so I'm a bit ambivalent about migrating threads
+ :-)
+ <slpz> As an example, in Hurd on GNU Mach, an io_read can't take advantage
+ from copy-on-write, as buffers from the translator always arrive outside
+ user's buffer
+ <slpz> antrik: well, I think cpu scheduling is a big deal ;-)
+ <slpz> antrik: and for memory management, until a better design is
+ implemented, some fixes could be applied to get us to the same level as a
+ monolithic kernel
+ <antrik> to get even close to monolithic systems, we need either a way to
+ account server resources used on client's behalf, or to make servers use
+ client-provided resources. both require changes in the IPC mechanism I
+ think...
+ <antrik> (though *if* we go for the latter option, the CPU scheduling
+ changes of migrating threads would of course be necessary, in addition to
+ any changes regarding memory management...)
+ <antrik> slpz: BTW, I didn't get the point about io_read and COW...
+ <slpz> antrik: AFAIK, the FS cache (which is our primary concern) in most
+ monolithic system is agnostic with respect the users, and only deals with
+ absolute numbers. In our case we can do almost the same by combining Mach
+ and pagers knowledege.
+ <antrik> slpz: my primary concern is that anything program having a hiccup
+ crashes the system... and I'm not sure this can be properly fixed without
+ working memory accounting
+ <antrik> (I guess in can be worked around to some extent by introducing
+ various static limits on processes... but I'm not sure how well)
+ <antrik> it can
+ <slpz> antrik: monolithic system also suffer that problem (remember fork
+ bombs) and it's "solved" by imposing static limits to user processes
+ (ulimit).
+ <slpz> antrik: we do have more problems due to port management, but I think
+ some degree of control can be archieved with a reasonably amount of
+ changes.
+ <antrik> slpz: in a client-server architecture static limits are much less
+ effective... that problem exists on traditional systems too, but only in
+ some specific cases (such as X server); while on a microkernel system
+ it's ubiquitous... that's why we need a *better* solution to this problem
+ to get anywhere close to monolithic systems
diff --git a/open_issues/packaging_libpthread.mdwn b/open_issues/packaging_libpthread.mdwn
index 7594ae76..fa3d4312 100644
--- a/open_issues/packaging_libpthread.mdwn
+++ b/open_issues/packaging_libpthread.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -15,6 +15,9 @@ IRC, #hurd, 2010-07-31
<tschwinge> My idea was to have a separate libpthread package. What do you think about that?
<youpi> in the long term, that can't work with glibc
<youpi> because of the thread stub stuff
+
+[[libpthread_dlopen]], for example.
+
<youpi> it's not really possible to keep synchronized
<youpi> because you have to decide which package you unpack first
<youpi> (when upgrading)
diff --git a/open_issues/performance.mdwn b/open_issues/performance.mdwn
index eb9f3f8a..2fd34621 100644
--- a/open_issues/performance.mdwn
+++ b/open_issues/performance.mdwn
@@ -26,3 +26,15 @@ severe performance degradation. For example, in this [[`fork` system
call|/glibc/fork]]'s case.
[[Unit_testing]] can be used for tracking performance regressions.
+
+---
+
+ * [[Degradation]]
+
+ * [[fork]]
+
+ * [[IPC_virtual_copy]]
+
+ * [[microbenchmarks]]
+
+ * [[microkernel_multi-server]]
diff --git a/open_issues/performance/degradation.mdwn b/open_issues/performance/degradation.mdwn
new file mode 100644
index 00000000..64542af3
--- /dev/null
+++ b/open_issues/performance/degradation.mdwn
@@ -0,0 +1,48 @@
+[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="Degradation of GNU/Hurd ``system performance''"]]
+
+[[!tag open_issue_gnumach open_issue_hurd]]
+
+[[!toc]]
+
+
+# Email, [[!message-id "87mxg2ahh8.fsf@kepler.schwinge.homeip.net"]] (bug-hurd, 2011-07-25, Thomas Schwinge)
+
+> Building a certain GCC configuration on a freshly booted system: 11 h.
+> Remove build tree, build it again (2nd): 12 h 50 min. Huh. Remove build
+> tree, reboot, build it again (1st): back to 11 h. Remove build tree, build
+> it again (2nd): 12 h 40 min. Remove build tree, build it again (3rd): 15 h.
+
+IRC, freenode, #hurd, 2011-07-23:
+
+ < antrik> tschwinge: yes, the system definitely gets slower with
+ time. after running for a couple of weeks, it needs at least twice as
+ long to open a new shell for example
+ < antrik> I don't know whether this is only related to swap usage, or there
+ are some serious fragmentation issues
+ < braunr> antrik: both could be induced by fragmentation
+
+
+# During [[IPC_virtual_copy]] testing
+
+IRC, freenode, #hurd, 2011-09-02:
+
+ <manuel> interestingly, running it several times has made the performance
+ drop quite much (i'm getting 400-500MB/s with 1M now, compared to nearly
+ 800 fifteen minutes ago)
+ <braunr> manuel: i observed the same behaviour
+ [...]
+
+
+# IRC, freenode, #hurd, 2011-09-22
+
+See [[/open_issues/pagers]], IRC, freenode, #hurd, 2011-09-22.
diff --git a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
index 79c2300f..359d5fee 100644
--- a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
+++ b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
@@ -33,3 +33,18 @@ the testee shows that (primarily) an ever-repeating series of `io_seek` and
`io_read` is being processed. Running the testee on GNU/Linux with strace
shows the equivalent thing (`_llseek`, `read`) -- but Linux' I/O system isn't
as slow as the Hurd's.
+
+---
+
+IRC, freenode, #hurd, 2011-09-01:
+
+ <youpi> hum, f951 does myriads of 71->io_seek_request (32768 0) = 0 32768
+ <youpi> no wonder it's slow
+ <youpi> unfortunately that's also what it does on linux, the system call is
+ just less costly
+ <youpi> apparently gfortran calls io_seek for, like, every token of the
+ sourced file
+ <youpi> (fgetpos actually, but that's the same)
+ <youpi> and it is indeed about 10 times slower under Xen for some reason
+
+[[!tag open_issue_xen]]
diff --git a/open_issues/performance/io_system/clustered_page_faults.mdwn b/open_issues/performance/io_system/clustered_page_faults.mdwn
index 37433e06..a3baf30d 100644
--- a/open_issues/performance/io_system/clustered_page_faults.mdwn
+++ b/open_issues/performance/io_system/clustered_page_faults.mdwn
@@ -12,7 +12,10 @@ License|/fdl]]."]]"""]]
[[community/gsoc/project_ideas/disk_io_performance]].
-IRC, freenode, #hurd, 2011-02-16
+[[!toc]]
+
+
+# IRC, freenode, #hurd, 2011-02-16
<braunr> exceptfor the kernel, everything in an address space is
represented with a VM object
@@ -88,9 +91,8 @@ IRC, freenode, #hurd, 2011-02-16
<braunr> recommend*
<etenil> ok
----
-IRC, freenode, #hurd, 2011-02-16
+# IRC, freenode, #hurd, 2011-02-16
<antrik> etenil: OSF Mach does have clustered paging BTW; so that's one
place to start looking...
@@ -103,3 +105,58 @@ IRC, freenode, #hurd, 2011-02-16
can serve as a starting point
<http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00023.html>
+
+
+# IRC, freenode, #hurd, 2011-07-22
+
+ <braunr> but concerning clustered pagins/outs, i'm not sure it's a mach
+ interface limitation
+ <braunr> the external memory pager interface does allow multiple pages to
+ be transfered
+ <braunr> isn't it an internal Mach VM problem ?
+ <braunr> isn't it simply the page fault handler ?
+ <antrik> braunr: are you sure? I was under the impression that changing the
+ pager interface was among the requirements...
+ <antrik> hm... I wonder whether for pageins, it could actually be handled
+ in the pages instead of Mach... though this wouldn't work for pageouts,
+ so probably not very helpful
+ <antrik> err... in the pagers
+ <braunr> antrik: i'm almost sure
+ <braunr> but i've be proven wrong many times, so ..
+ <braunr> there are two main facts that lead me to think this
+ <braunr> 1/
+ http://www.gnu.org/software/hurd/gnumach-doc/Memory-Objects-and-Data.html#Memory-Objects-and-Data
+ says lengths are provided and doesn't mention the limitation
+ <braunr> 2/ when reading about UVM, one of the major improvements (between
+ 10 and 30% of global performance depending on the benchmarks) was
+ implementing the madvise semantics
+ <braunr> and this didn't involve a new pager interface, but rather a new
+ page fault handler
+ <antrik> braunr: hm... the interface indeed looks like it can handle
+ multiple pages in both directions... perhaps it was at the Hurd level
+ where the pager interface needs to be modified, not the Mach one?...
+ <braunr> antrik: would be nice wouldn't it ? :)
+ <braunr> antrik: more probably the page fault handler
+
+
+# IRC, freenode, #hurd, 2011-09-28
+
+ <slpz> antrik: I've just recovered part of my old multipage I/O work
+ <slpz> antrik: I intend to clean and submit it after finishing the changes
+ to the pageout system.
+ <antrik> slpz: oh, great!
+ <antrik> didn't know you worked on multipage I/O
+ <antrik> slpz: BTW, have you checked whether any of the work done for GSoC
+ last year is any good?...
+ <antrik> (apart from missing copyright assignments, which would be a
+ serious problem for the Hurd parts...)
+ <slpz> antrik: It was seven years ago, but I did:
+ http://www.mail-archive.com/bug-hurd@gnu.org/msg10285.html :-)
+ <slpz> antrik: Sincerely, I don't think the quality of that code is good
+ enough to be considered... but I think it was my fault as his mentor for
+ not correcting him soon enough...
+ <antrik> slpz: I see
+ <antrik> TBH, I feel guilty myself, for not asking about the situation
+ immediately when he stopped attending meetings...
+ <antrik> slpz: oh, you even already looked into vm_pageout_scan() back then
+ :-)
diff --git a/open_issues/performance/ipc_virtual_copy.mdwn b/open_issues/performance/ipc_virtual_copy.mdwn
new file mode 100644
index 00000000..9708ab96
--- /dev/null
+++ b/open_issues/performance/ipc_virtual_copy.mdwn
@@ -0,0 +1,395 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+IRC, freenode, #hurd, 2011-09-02:
+
+ <slpz> what's the usual throughput for I/O operations (like "dd
+ if=/dev/zero of=/dev/null") in one of those Xen based Hurd machines
+ (*bber)?
+ <braunr> good question
+ <braunr> slpz: but don't use /dev/zero and /dev/null, as they don't have
+ anything to do with true I/O operations
+ <slpz> braunr: in fact, I want to test the performance of IPC's virtual
+ copy operations
+ <braunr> ok
+ <slpz> braunr: sorry, the "I/O" was misleading
+ <braunr> use bs=4096 then i guess
+ <slpz> bs > 2k
+ <braunr> ?
+ <slpz> braunr: everything about 2k is copied by vm_map_copyin/copyout
+ <slpz> s/about/above/
+ <slpz> braunr: MiG's stubs check for that value and generate complex (with
+ out_of_line memory) messages if datalen is above 2k, IIRC
+ <braunr> ok
+ <braunr> slpz: found it, thanks
+ <tschwinge> tschwinge@strauss:~ $ dd if=/dev/zero of=/dev/null bs=4k & p=$!
+ && sleep 10 && kill -s INFO $p && sleep 1 && kill $p
+ <tschwinge> [1] 13469
+ <tschwinge> 17091+0 records in
+ <tschwinge> 17090+0 records out
+ <tschwinge> 70000640 bytes (70 MB) copied, 17.1436 s, 4.1 MB/s
+ <tschwinge> Note, however 10 s vs. 17 s!
+ <tschwinge> And this is slow compared to heal hardware:
+ <tschwinge> thomas@coulomb:~ $ dd if=/dev/zero of=/dev/null bs=4k & p=$! &&
+ sleep 10 && kill -s INFO $p && sleep 1 && kill $p
+ <tschwinge> [1] 28290
+ <tschwinge> 93611+0 records in
+ <tschwinge> 93610+0 records out
+ <tschwinge> 383426560 bytes (383 MB) copied, 9.99 s, 38.4 MB/s
+ <braunr> tschwinge: is the first result on xen vm ?
+ <tschwinge> I think so.
+ <braunr> :/
+ <slpz> tschwinge: Thanks! Could you please try with a higher block size,
+ something like 128k or 256k?
+ <tschwinge> strauss is on a machine that also hosts a buildd, I think.
+ <braunr> oh ok
+ <pinotree> yes, aside either rossini or mozart
+ <tschwinge> And I can confirm that with dd if=/dev/zero of=/dev/null bs=4k
+ running, a parallel sleep 10 takes about 20 s (on strauss).
+
+[[open_issues/time]]
+
+ <braunr> slpz: i'll set up xen hosts soon and can try those tests while
+ nothing else runs to have more accurate results
+ <tschwinge> tschwinge@strauss:~ $ dd if=/dev/zero of=/dev/null bs=256k &
+ p=$! && sleep 10 && kill -s INFO $p && sleep 1 && kill $p
+ <tschwinge> [1] 13482
+ <tschwinge> 4566+0 records in
+ <tschwinge> 4565+0 records out
+ <tschwinge> 1196687360 bytes (1.2 GB) copied, 13.6751 s, 87.5 MB/s
+ <braunr> slpz: gains are logarithmic beyond the page size
+ <tschwinge> thomas@coulomb:~ $ dd if=/dev/zero of=/dev/null bs=256k & p=$!
+ && sleep 10 && kill -s INFO $p && sleep 1 && kill $p
+ <tschwinge> [1] 28295
+ <tschwinge> 6335+0 records in
+ <tschwinge> 6334+0 records out
+ <tschwinge> 1660420096 bytes (1.7 GB) copied, 9.99 s, 166 MB/s
+ <tschwinge> This time a the sleep 10 decided to take 13.6 s.
+ ``Interesting.''
+ <slpz> tschwinge: Thanks again. The results for the Xen machine are not bad
+ though. I can't obtain a throughput over 50MB/s with KVM.
+ <tschwinge> slpz: Want more data (bs)? Just tell.
+ <braunr> slpz: i easily get more than that
+ <braunr> slpz: what buffer size do you use ?
+ <slpz> tschwinge: no, I just wanted to see if Xen has an upper limit beyond
+ KVM's. Thank you.
+ <slpz> braunr: I try with different sizes until I find the maximum
+ throughput for a certain amount of requests (count)
+ <slpz> braunr: are you working with KVM?
+ <braunr> yes
+ <braunr> slpz: my processor is a model name : Intel(R) Core(TM)2 Duo
+ CPU E7500 @ 2.93GHz
+ <braunr> Linux silvermoon 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC
+ 2011 x86_64 GNU/Linux
+ <braunr> (standard amd64 squeeze kernel)
+ <slpz> braunr: and KVM's version?
+ <braunr> squeeze (0.12.5)
+ <braunr> bbl
+ <gnu_srs> 212467712 bytes (212 MB) copied, 9.95 s, 21.4 MB/s on kvm for me!
+ <slpz> gnu_srs: which block size?
+ <gnu_srs> 4k, and 61.7 MB/s with 256k
+ <slpz> gnu_srs: could you try with 512k and 1M?
+ <gnu_srs> 512k: 56.0 MB/s, 1024k: 40.2 MB/s Looks like the peak is around a
+ few 100k
+ <slpz> gnu_srs: thanks!
+ <slpz> I've just obtained 1.3GB/s with bs=512k on other (newer) machine
+ <braunr> on which hw/vm ?
+ <slpz> I knew this is a cpu-bound test, but I couldn't imagine faster
+ processors could make this difference
+ <slpz> braunr: Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz
+ <slpz> braunr: KVM
+ <braunr> ok
+ <braunr> how much time did you wait before reading the result ?
+ <slpz> that was 20x times better than the same test on my Intel(R)
+ Core(TM)2 Duo CPU T7500 @ 2.20GHz
+ <slpz> braunr: I've repeated the test with a fixed "count"
+ <gnu_srs> My box is: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz: Max
+ is 67 MB/s around 140k block size
+ <braunr> yes but how much time did dd run ?
+ <gnu_srs> 10 s plus/minus a few fractions of a second,
+ <braunr> try waiting 30s
+ <slpz> braunr: didn't check, let me try again
+ <braunr> my kvm peaks at 130 MiB/s with bs 512k / 1M
+ <gnu_srs> 2029690880 bytes (2.0 GB) copied, 30.02 s, 67.6 MB/s, bs=140k
+ <braunr> gnu_srs: i'm very surprised with slpz's result of 1.3 GiB/s
+ <slpz> braunr: over 60 s running, same performance
+ <braunr> nice
+ <braunr> i wonder what makes it so fast
+ <braunr> how much cache ?
+ <gnu_srs> Me too, I cannot get better values than around 67 MB/s
+ <braunr> gnu_srs: same questions
+ <slpz> braunr: 4096KB, same as my laptop
+ <braunr> slpz: l2 ? l3 ?
+ <gnu_srs> kvm: cache=writeback, CPU: 4096 KB
+ <braunr> gnu_srs: this has nothing to do with the qemu option, it's about
+ the cpu
+ <slpz> braunr: no idea, it's the first time I touch this machine. I going
+ to see if I find the model in processorfinder
+ <braunr> under my host linux system, i get a similar plot, that is,
+ performance drops beyond bs=1M
+ <gnu_srs> braunr: OK, bu I gave you the cache size too, same as slpz.
+ <braunr> i wonder what dd actually does
+ <braunr> read() and writes i guess
+ <slpz> braunr: read/write repeatedly, nothing fancy
+ <braunr> slpz: i don't think it's a good test for virtual copy
+ <braunr> io_read_request, vm_deallocate, io_write_request, right
+ <braunr> slpz: i really wonder what it is about i5 that improves speed so
+ much
+ <slpz> braunr: me too
+ <slpz> braunr: L2: 2x256KB, L3: 4MB
+ <slpz> and something calling "SmartCache"
+ <gnu_srs> slpz: where did you find these values?
+ <slpz> gnu_srs: ark.intel.com and wikipedia
+ <gnu_srs> aha, cpuinfo just gives cache size.
+ <slpz> that "SmartCache" thing seems to be just L2 cache sharing between
+ cores. Shouldn't make a different since we're using only one core, and I
+ don't see KVM hooping between them.
+ <manuel> with bs=256k: 7004487680 bytes (7.0 GB) copied, 10 s, 700 MB/s
+ <manuel> (qemu/kvm, 3 * Intel(R) Xeon(R) E5504 2GHz, cache size 4096 KB)
+ <slpz> manuel: did you try with 512k/1M?
+ <manuel> bs=512k: 7730626560 bytes (7.7 GB) copied, 10 s, 773 MB/s
+ <manuel> bs=1M: 7896825856 bytes (7.9 GB) copied, 10 s, 790 MB/s
+ <slpz> manuel: those are pretty good numbers too
+ <braunr> xeon processor
+ <gnu_srs> lshw gave me: L1 Cache 256KiB, L2 cache 4MiB
+ <slpz> sincerely, I've never seen Hurd running this fast. Just checked
+ "uname -a" to make sure I didn't take the wrong image :-)
+ <manuel> for bs=256k, 60s: 40582250496 bytes (41 GB) copied, 60 s, 676 MB/s
+ <braunr> slpz: i think you can assume processor differences alter raw
+ copies too much to get any valuable results about virtual copy operations
+ <braunr> you need a specialized test program
+ <manuel> and bs=512k, 60s, 753 MB/s
+ <slpz> braunr: I'm using the mach_perf suite from OSFMach to do the
+ "serious" testing. I just wanted a non-synthetic test to confirm the
+ readings.
+
+[[!taglink open_issue_gnumach]] -- have a look at *mach_perf*.
+
+ <braunr> manuel: how much cache ? 2M ?
+ <braunr> slpz: ok
+ <braunr> manuel: hmno, more i guess
+ <manuel> braunr: /proc/cpuinfo says cache size : 4096 KB
+ <braunr> ok
+ <braunr> manuel: performance should drop beyond bs=2M
+ <braunr> but that's not relevant anyway
+ <gnu_srs> Linux: bs=1M, 10.8 GB/s
+ <slpz> I think this difference is too big to be only due to a bigger amount
+ of CPU cycles...
+ <braunr> slpz: clearly
+ <slpz> gnu_srs: your host system has 64 or 32 bits?
+ <slpz> braunr: I'm going to investigate a bit
+ <slpz> but this accidental discovery just made my day. We're able to run
+ Hurd at decent speeds on newer hardware!
+ <braunr> slpz: what result do you get with the same test on your host
+ system ?
+ <manuel> interestingly, running it several times has made the performance
+ drop quite much (i'm getting 400-500MB/s with 1M now, compared to nearly
+ 800 fifteen minutes ago)
+
+[[Degradataion]].
+
+ <slpz> braunr: probably an almost infinite throughput, but I don't consider
+ that a valid test, since in Linux, the write operation to "/dev/null"
+ doesn't involve memory copying/moving
+ <braunr> manuel: i observed the same behaviour
+ <gnu_srs> slpz: Host system is 64 bit
+ <braunr> slpz: it doesn't on the hurd either
+ <braunr> slpz: (under 2k, that is)
+ <braunr> over*
+ <slpz> braunr: humm, you're right, as the null translator doesn't "touch"
+ the memory, CoW rules apply
+ <braunr> slpz: the only thing which actually copies things around is dd
+ <braunr> probably by simply calling read()
+ <braunr> which gets its result from a VM copy operation, but copies the
+ content to the caller provided buffer
+ <braunr> then vm_deallocate() the data from the storeio (zero) translator
+ <braunr> if storeio isn't too dumb, it doesn't even touch the transfered
+ buffer (as anonymous vm_map()ped memory is already cleared)
+
+[[!taglink open_issue_documentation]]
+
+ <braunr> so this is a good test for measuring (profiling?) our ipc overhead
+ <braunr> and possibly the vm mapping operations (which could partly explain
+ why the results get worse over time)
+ <braunr> manuel: can you run vminfo | wc -l on your gnumach process ?
+ <slpz> braunr: Yes, unless some special situation apply, like the source
+ address/offset being unaligned, or if the translator decides to return
+ the result in a different buffer (which I assume is not the case for
+ storeio/zero)
+ <manuel> braunr: 35
+ <braunr> slpz: they can't be unaligned, the vm code asserts that
+ <braunr> manuel: ok, this is normal
+ <slpz> braunr: address/offset from read()
+ <braunr> slpz: the caller provided buffer you mean ?
+ <slpz> braunr: yes, and the offset of the memory_object, if it's a pager
+ based translator
+ <braunr> slpz: highly unlikely, the compiler chooses appropriate alignments
+ for such buffers
+ <slpz> braunr: in those cases, memcpy is used over vm_copy
+ <braunr> slpz: and the glibc memcpy() optimized versions can usually deal
+ with that
+ <braunr> slpz: i don't get your point about memory objects
+ <braunr> slpz: requests on memory objects always have aligned values too
+ <slpz> braunr: sure, but can't deal with the user requesting non
+ page-aligned sizes
+ <braunr> slpz: we're considering our dd tests, for which we made sure sizes
+ were page aligned
+ <slpz> braunr: oh, I was talking in a general sense, not just in this dd
+ tests, sorry
+ <slpz> by the way, dd on the host tops at 12 GB/s with bs=2M
+ <braunr> that's consistent with our other results
+ <braunr> slpz: you mean, even on your i5 processor with 1.3 GiB/s on your
+ hurd kvm ?
+ <slpz> braunr: yes, on the GNU/Linux which is running as host
+ <braunr> slpz: well that's not consistent
+ <slpz> braunr: consistent with what?
+ <braunr> slpz: i get roughly the same result on my host, but ten times less
+ on my hurd kvm
+ <braunr> slpz: what's your kernel/kvm versions ?
+ <slpz> 2.6.32-5-amd64 (debian's build) 0.12.5
+ <braunr> same here
+ <braunr> i'm a bit clueless
+ <braunr> why do i only get 130 MiB/s where you get 1.3 .. ? :)
+ <slpz> well, on my laptop, where Hurd on KVM tops on 50 MB/s, Linux gets a
+ bit more than 10 GB/s
+ <braunr> see
+ <braunr> slpz: reduce bs to 256k and test again if you have time please
+ <slpz> braunr: on which system?
+ <braunr> slpz: the fast one
+ <braunr> (linux host)
+ <slpz> braunr: Hurd?
+ <slpz> ok
+ <slpz> 12 GB/s
+ <braunr> i get 13.3
+ <slpz> same for 128k, only at 64k starts dropping
+ <slpz> maybe, on linux we're being limited by memory speed, while on Hurd's
+ this test is (much) more CPU-bound?
+ <braunr> slpz: maybe
+ <braunr> too bad processor stalls aren't easy to measure
+ <slpz> braunr: that's very true. It's funny when you read a paper which
+ measures performance by cycles on an old RISC processor. That's almost
+ impossible to do (with reliability) nowadays :-/
+ <slpz> I wonder which throughput can achieve Hurd running bare-metal on
+ this machine...
+ <antrik> both the Xeon and the i5 use cores based on the Nehalem
+ architecture
+ <antrik> apparently Nehalem is where Intel first introduces nested page
+ tables
+ <antrik> which pretty much explains the considerably lower overhead of VM
+ magic
+ <cjuner> antrik, what are nested page tables? (sounds like the 4-level page
+ tables we already have on amd64, or 2-level or 3-level on x86 pae)
+ <antrik> page tables were always 2-level on x86
+ <antrik> that's unrelated
+ <antrik> nested page tables means there is another layer of address
+ translation, so the VMM can do it's own translation and doesn't care what
+ the guest system does => no longer has to intercept all page table
+ manipulations
+ <braunr> antrik: do you imply it only applies to virtualized systems ?
+ <antrik> braunr: yes
+ <slpz> antrik: Good guess. Looks like Intel's EPT are doing the trick by
+ allowing the guest OS deal with its own page faults
+ <slpz> antrik: next monday, I'll try disabling EPT support in KVM on that
+ machine (the fast one). That should confirm your theory empirically.
+ <slpz> this also means that there're too many page faults, as we should be
+ doing virtual copies of memory that is not being accessed
+ <slpz> and looking at how the value of "page faults" in "vmstat" increases,
+ shows that page faults are directly proportional to the number of pages
+ we are asking from the translator
+ <slpz> I've also tried doing a long read() directly, to be sure that "dd"
+ is not doing something weird, and it shows the same behaviour.
+ <braunr> slpz: dd does copy buffers
+ <braunr> slpz: i told you, it's not a good test case for pure virtual copy
+ evaluation
+ <braunr> antrik: do you know if xen benefits from nested page tables ?
+ <antrik> no idea
+
+[[!taglink open_issue_xen]]
+
+ <slpz> braunr: but my small program doesn't, and still provokes a lot of
+ page faults
+ <braunr> slpz: are you certain it doesn't ?
+ <slpz> braunr: looking at google, it looks like recent Xen > 3.4 supports
+ EPT
+ <braunr> ok
+ <braunr> i'm ordering my new server right now, core i5 :)
+ <slpz> braunr: at least not explicitily. I need to look at MiG stubs again,
+ I don't remember if they do something weird.
+ <antrik> braunr: sandybridge or nehalem? :-)
+ <braunr> antrik: no idea
+ <antrik> does it tell a model number?
+ <braunr> not yet
+ <braunr> but i don't have a choice for that, so i'll order it first, check
+ after
+ <antrik> hehe
+ <antrik> I'm not sure it makes all that much difference anyways for a
+ server... unless you are running it at 100% load ;-)
+ <braunr> antrik: i'm planning on running xen guests suchs as new buildd
+ <antrik> hm... note though that some of the nehalem-generation i5s were
+ dual-core, while all the new ones are quad
+ <braunr> it's a quad
+ <antrik> the newer generation has better performance per GHz and per
+ Watt... but considering that we are rather I/O-limited in most cases, it
+ probably won't make much difference
+ <antrik> not sure whether there are further virtualisation improvements
+ that could be relevant...
+ <braunr> buildds spend much time running gcc, so even such improvements
+ should help
+ <braunr> there, server ordered :)
+ <braunr> antrik: model name : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
+
+IRC, freenode, #hurd, 2011-09-06:
+
+ <slpz> youpi: what machines are being used for buildd? Do you know if they
+ have EPT/RVI?
+ <youpi> we use PV Xen there
+ <slpz> I think Xen could also take advantage of those technologies. Not
+ sure if only in HVM or with PV too.
+ <youpi> only in HVM
+ <youpi> in PV it does not make sense: the guest already provides the
+ translated page table
+ <youpi> which is just faster than anything else
+
+IRC, freenode, #hurd, 2011-09-09:
+
+ <antrik> oh BTW, for another data point: dd zero->null gets around 225 MB/s
+ on my lowly 1 GHz Pentium3, with a blocksize of 32k
+ <antrik> (but only half of that with 256k blocksize, and even less with 1M)
+ <antrik> the system has been up for a while... don't know whether it's
+ faster on a freshly booted one
+
+IRC, freenode, #hurd, 2011-09-15:
+
+ <sudoman>
+ http://www.reddit.com/r/gnu/comments/k68mb/how_intelamd_inadvertently_fixed_gnu_hurd/
+ <sudoman> so is the dd command pointed to by that article a measure of io
+ performance?
+ <antrik> sudoman: no, not really
+ <antrik> it's basically the baseline of what is possible -- but the actual
+ slowness we experience is more due to very unoptimal disk access patterns
+ <antrik> though using KVM with writeback caching does actually help with
+ that...
+ <antrik> also note that the title of this post really makes no
+ sense... nested page tables should provide similar improvements for *any*
+ guest system doing VM manipulation -- it's not Hurd-specific at all
+ <sudoman> ok, that makes sense. thanks :)
+
+IRC, freenode, #hurd, 2011-09-16:
+
+ <slpz> antrik: I wrote that article (the one about How AMD/Intel fixed...)
+ <slpz> antrik: It's obviously a bit of an exaggeration, but it's true that
+ nested pages supposes a great improvement in the performance of Hurd
+ running on virtual machines
+ <slpz> antrik: and it's Hurd specific, as this system is more affected by
+ the cost of page faults
+ <slpz> antrik: and as the impact of virtualization on the performance is
+ much higher than (almost) any other OS.
+ <slpz> antrik: also, dd from /dev/zero to /dev/null it's a measure on how
+ fast OOL IPC is.
diff --git a/open_issues/performance/microkernel_multi-server.mdwn b/open_issues/performance/microkernel_multi-server.mdwn
new file mode 100644
index 00000000..111d2b88
--- /dev/null
+++ b/open_issues/performance/microkernel_multi-server.mdwn
@@ -0,0 +1,47 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+Performance issues due to the microkernel/multi-server system architecture?
+
+IRC, freenode, #hurd, 2011-07-26
+
+ < CTKArcher> I read that, because of its microkernel+servers design, the
+ hurd was slower than a monolithic kernel, is that confirmed ?
+ < youpi> the hurd is currently slower than current monolithic kernels, but
+ it's not due to the microkernel + servers design
+ < youpi> the microkernel+servers design makes the system call path longer
+ < youpi> but you're bound by disk and network speed
+ < youpi> so the extra overhead will not hurt so much
+ < youpi> except dumb applications keeping doing system calls all the time
+ of course, but they are usually considered bogus
+ < braunr> there may be some patterns (like applications using pipes
+ extensively, e.g. git-svn) which may suffer from the design, but still in
+ an acceptable range
+ < CTKArcher> so, you are saying that disk and network are more slowing the
+ system than the longer system call path and because of that, it wont
+ really matter ?
+ < youpi> braunr: they should sitll be fixed because they'll suffer (even if
+ less) on monolithic kernels
+ < youpi> CTKArcher: yes
+ < braunr> yes
+ < CTKArcher> mmh
+ < youpi> CTKArcher: you might want to listen to AST's talk at fosdem 10
+ iirc, about minix
+ < youpi> they even go as far as using an IPC for each low-level in/out
+ < youpi> for security
+ < braunr> this has been expected for a long time
+ < braunr> which is what motivated research in microkernels
+ < CTKArcher> I've already downloaded the video :)
+ < youpi> and it has been more and more true with faster and faster cpus
+ < braunr> but in 95, processors weren't that fast compared to other
+ components as they are now
+ < youpi> while disk/mem haven't evovled so fast
diff --git a/open_issues/perl.mdwn b/open_issues/perl.mdwn
index e94a623b..45680328 100644
--- a/open_issues/perl.mdwn
+++ b/open_issues/perl.mdwn
@@ -10,6 +10,15 @@ License|/fdl]]."]]"""]]
[[!meta title="Foster Perl programming"]]
+[[!template id=note text="""**2011-08**. A dependency loop in Debian GNU/Hurd
+currently leads to: *Could not perform immediate configuration on 'perl'*.
+Easy workaround:
+
+ # apt-get install perl perl-base -o APT::Immediate-Configure=false
+
+"""]]
+
+
Resolve issues uncovered by Perl's test suite, and enable Hurd-specific
features.
diff --git a/open_issues/placement_of_virtual_memory_regions.mdwn b/open_issues/placement_of_virtual_memory_regions.mdwn
index 95b9e545..39478f20 100644
--- a/open_issues/placement_of_virtual_memory_regions.mdwn
+++ b/open_issues/placement_of_virtual_memory_regions.mdwn
@@ -10,7 +10,7 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_gnumach]]
-IRC, freenode, #hurd, 2011-07-13
+# IRC, freenode, #hurd, 2011-07-13
<braunr> does anyone know if posix (or mach) has requirements or a policy
about the placement of allocations of virtual space ?
@@ -87,3 +87,17 @@ IRC, freenode, #hurd, 2011-07-13
<braunr> jkoenig: i really want to miss as little as possible on the vm
part, so having detailed information about what actually happens on
running hurd systems is something i need
+
+
+# IRC, freenode, #hurd, 2011-07-24
+
+ <braunr> oh btw, i noticed there are many mappings below the program text
+ <braunr> most notably, the stack
+ <braunr> except for special applications like wine, could this break
+ anything ?
+ <braunr> i also wonder how libraries are mapped, because there is nothing
+ to perform top-down allocations
+ <braunr> which means if the region below the program text is exhausted,
+ libraries could be mapped right after the heap
+ <youpi> it shouldn't break anything except things like wine & libgc, yes
+ <braunr> which could make malloc() fail :/
diff --git a/open_issues/proc_server_proc_exception_raise.mdwn b/open_issues/proc_server_proc_exception_raise.mdwn
new file mode 100644
index 00000000..1d0e92a3
--- /dev/null
+++ b/open_issues/proc_server_proc_exception_raise.mdwn
@@ -0,0 +1,37 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+IRC, freenode, #hurd, 2011-08-11
+
+ < youpi> in which error cases a reply port will actually have been consumed
+ by mach_msg ?
+ < youpi> it seems at least MACH_SEND_NOTIFY_IN_PROGRESS do?
+ < braunr>
+ http://www.gnu.org/software/hurd/gnumach-doc/Message-Send.html#Message-Send
+ < braunr> "These return codes imply that the message was returned to the
+ caller with a pseudo-receive operation: "
+ < braunr> isn't it what you're looking for ?
+ < youpi> well, it's hard to tell from the name
+ < youpi> I don't know what "pseudo-receiv operation" means
+ < braunr> it's described below
+ < youpi> ew
+ < braunr> it looks close enough to a normal receive to assume it consumes
+ the reply port
+ < youpi> so it's even more complex than what I thought
+ < youpi> well, no, it returns the right
+ < youpi> actually the error I'm getting is MACH_RCV_INVALID_NAME
+ < youpi> which I guess means the sending part succeeded
+ < youpi> the case at stake is proc/mgt.c: S_proc_exception_raise()
+ < youpi> when the proc_exception_raise() forward fails
+ < youpi> currently we always return 0, but if proc_exception_raise()
+ actually managed to send the message, the reply port was consumed and
+ MIG_NO_REPLY should be returned instead
diff --git a/open_issues/pthread_atfork.mdwn b/open_issues/pthread_atfork.mdwn
new file mode 100644
index 00000000..ac724cf0
--- /dev/null
+++ b/open_issues/pthread_atfork.mdwn
@@ -0,0 +1,13 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_libpthread]]
+
+pthread_atfork is not actually implemented, making some programs fail. Code can probably be borrowed from nptl/sysdeps/unix/sysv/linux/register-atfork.c
diff --git a/open_issues/resource_management_problems.mdwn b/open_issues/resource_management_problems.mdwn
index 760c7d66..8f752d61 100644
--- a/open_issues/resource_management_problems.mdwn
+++ b/open_issues/resource_management_problems.mdwn
@@ -61,7 +61,26 @@ This is, of course, non-trivial to implement, and also requires changing the
SPLICE_F_GIFT
flag](http://www.kernel.org/doc/man-pages/online/pages/man2/vmsplice.2.html#DESCRIPTION).)
+IRC, freenode, #hurd, 2011-07-31
+
+ < braunr> one of the biggest problems on the hurd is that, when a client
+ makes a call, kernel (and other) resources are allocated on behalf of the
+ server performaing the requested action
+ < braunr> performing*
+ < braunr> this makes implementing scheduling and limits difficult
+ < CTKArcher> And could changing the kernel change anything to that ?
+ < braunr> yes but you'd probably need to change its interface as well
+ < braunr> iirc, the critique describes resource containers
+ < braunr> but no work has been done on the current hurd (hence the hurdng
+ attempts)
+
# Further Examples
+ * [[hurd/critique]]
+
+ * [[IO_accounting]]
+
+ * [[translators_set_up_by_untrusted_users]], and [[pagers]]
+
* [[configure max command line length]]
diff --git a/open_issues/resource_management_problems/io_accounting.mdwn b/open_issues/resource_management_problems/io_accounting.mdwn
new file mode 100644
index 00000000..113b965a
--- /dev/null
+++ b/open_issues/resource_management_problems/io_accounting.mdwn
@@ -0,0 +1,49 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+IRC, freenode, #hurd, 2011-07-22
+
+ <braunr> an interesting question i've had in mind for a few weeks now is
+ I/O accounting
+ <braunr> what *is* I/O on a microkernel based system ?
+ <braunr> can any cross address space transfer be classified as I/O ?
+
+IRC, freenode, #hurd, 2011-07-29
+
+ < braunr> how does the hurd account I/O ?
+ < youpi> I don't think it does
+ < youpi> not an easy task, actually
+ < youpi> since gnumach has no idea about it
+ < braunr> yes
+ < braunr> another centralization issue
+ < braunr> does network access count as I/O on linux ?
+ < youpi> no
+ < braunr> not even nfs ?
+ < youpi> else you'd get 100% for servers :)
+ < braunr> right
+ < youpi> nfs goes through vfs first
+ < braunr> i'll rephrase my question
+ < youpi> I'd need to check but I believe it can check nfs
+ < braunr> does I/O accounting occur at the vfs level or block layer ?
+ < youpi> I don't know, but I beleive vfs
+ < youpi> (at least that's how I'd do it)
+ < braunr> i don't have any more nfs box to test that :/
+ < braunr> personally i'd do it at the block layer :)
+ < youpi> well, both
+ < youpi> so e2fsck can show up too
+ < braunr> yes
+ < youpi> it's just a matter of ref counting
+ < youpi> apparently nfs doesn't account
+ < youpi> find . -printf "" doesn't show up in waitio
+ < braunr> good
+ < youpi> well, depends on the point of view
+ < youpi> as a user, you'd like to know whether your processes are stuck on
+ i/o (be it disk or net)
+ < braunr> this implies clearly defining what io is
diff --git a/open_issues/resource_management_problems/pagers.mdwn b/open_issues/resource_management_problems/pagers.mdwn
new file mode 100644
index 00000000..4c36703c
--- /dev/null
+++ b/open_issues/resource_management_problems/pagers.mdwn
@@ -0,0 +1,322 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_gnumach]]
+
+[[!toc]]
+
+
+# IRC, freenode, #hurd, 2011-09-14
+
+Coming from [[translators_set_up_by_untrusted_users]], 2011-09-14 discussion:
+
+ <slpz> antrik: I think a tunable option for preventing non-root users from
+ creating pagers and attaching translators could also be desirable
+ <antrik> slpz: why would you want to prevent creating pagers and attaching
+ translators?
+ <tschwinge> Preventing resource exhaustion, I guess.
+ <slpz> antrik: security and (as tschwinge says) for prevent a rouge pager
+ from exhausting the system.
+ <slpz> antrik: without the ability to use translators for non-root users,
+ Hurd can provide (almost) the same level of resource protection than
+ other *nixes
+
+See also: [[translators_set_up_by_untrusted_users]],
+[[hurd/translator/tmpfs/tmpfs_vs_defpager]].
+
+ <braunr> the hurd is about that though
+ <slpz> there should be also a limit on the number of outstanding requests
+ that a task can have, and some other easily traceable values
+ <braunr> port messages queues have limits
+ <antrik> slpz: anything can exhaust the system. there are much more basic
+ limits that are missing... and I don't see how translators or pagers are
+ special in that regard
+ <slpz> braunr: that's what I said tunable. If I don't share my computer
+ with untrusted users, I want full functionality. Otherwise, I can enable
+ that limitation
+ <slpz> braunr: but I think those limits are on reception
+ <braunr> that's a wrong solution
+ <slpz> antrik: because pagers are external memory objects, and those are
+ treated differently
+ <braunr> compared to what ?
+ <braunr> and yes, the limit is on the message queue, on reception
+ <braunr> why is that a problem ?
+ <slpz> antrik: forbidding the use of translator was for security, to avoid
+ the problem of traversing an untrusted FS
+ <slpz> braunr: compared to anonymous memory
+ <slpz> braunr: because if the limit is on reception, a task can easily do a
+ DoS against a server
+ <braunr> hm actually, the problems we have with swap handling is that
+ anonymous memory is handled in a very similar way as other objects
+ <slpz> braunr: I want to limit the number of outstanding (unprocessed
+ messages in queues) requests
+ <braunr> slpz: the solution isn't about forbidding the use of translators,
+ but changing common code (libc i guess) not to use them, they can still
+ run beside
+ <slpz> braunr: that's because, currently, the external page limit is not
+ enforced
+ <braunr> i'm also not sure about DoS attacks
+ <braunr> if i'm right, there is often one port for each managed object,
+ which usually exist per client
+ <slpz> braunr: yes, that could an option too (for translators, not for
+ pagers)
+ <braunr> i don't see how pagers wouldn't be translators on the hurd
+ <slpz> braunr: all pagers are translators, but not all translators are
+ pagers ;-)
+ <braunr> so if it works for translators, it also works for pagers
+ <slpz> braunr: it would fix the security issue, but not the resource
+ exhaustion problem, with only affects to pagers
+ <braunr> i just don't see a point in implementing resource limits before
+ even fixing other fundamental issues
+ <braunr> the only way to avoid resource exhaustion is resource limits
+ <antrik> slpz: just not following untrusted translators is much more useful
+ than forbidding them alltogether
+ <braunr> and the main problem of mach is resource accounting
+ <braunr> so first, fix that, using the critique as a starting point
+
+[[hurd/critique]].
+
+ <slpz> braunr: i'm not saying that this should be implemented right now,
+ i'm just pointing out this possibility
+ <braunr> i think we're all mostly aware of it
+ <slpz> braunr: resource accounting, as it's expressed in the critique,
+ would be wonderful, but it's just too complex IMHO
+ <braunr> it requires carefully designed changes to the interface yes
+ <slpz> to the interface, to the internals, to user space tasks...
+ <braunr> the internals wouldn't be impacted that much
+ <braunr> user space tasks would mostly include hurd servers
+ <braunr> if the changes are centralized in libraries, it should be easy to
+ provide to the servers
+
+
+# IRC, freenode, #hurd, 2011-09-22
+
+ <slpz> antrik: I've also implemented a simple resource control on dirty
+ pages and changed pageout_scan to free external pages, and only touch
+ anonymous memory if it's really needed
+ <slpz> antrik: those combined make the system work better under heavy load
+ <slpz> antrik: 1.5 GB of RAM and another 1.5 GB of swap helps a lot, too
+ :-)
+ <antrik> hm... I'm not sure what these things mean exactly TBH... but I
+ wonder whether some of these could fix the performance degradation (and
+ ultimate crash) I described recently...
+
+[[/open_issues/default_pager]], [[system performance degradation
+(?)|performance/degradation]].
+
+ <antrik> care to explain them to a noob like me?
+ <slpz> probably not. During my tests, I've noticed that, at some points,
+ the system performance starts to degrade, and this doesn't change until
+ it's restarted
+ <slpz> but I wasn't able to create a test case to reproduce the bug...
+ <slpz> antrik: Sure. First, I've changed GNU Mach to:
+ <slpz> - Classify all pages from data_supply as external, and count them
+ in vm_page_external_count (previously, this variable was always zero)
+
+[[/open_issues/mach_vm_pageout]]
+
+ <slpz> - Count all pages for which a data_unlock has been requested as
+ potentially dirty pages
+ <antrik> there is one important bit I forgot to mention in my recent
+ report: one "reliable" way to cause growing swap usage is simply
+ installing a lot of debian packages (e.g. running an apt-get upgrade)
+ <antrik> some other kinds of I/O also seem to have such an effect, but I
+ wasn't able to pinpoint specific situations
+ <slpz> - Establish a limit on how many potentially dirty pages are
+ allowed. If it's reached, a notification (right now it's just a bogus
+ m_o_data_unlock, to avoid implementing a new RPC) it's sent to the pager
+ which has generated the page fault
+ <slpz> - Establish a hard limit on those dirt pages. If it's reached,
+ threads asking for a data_unlock are blocked until someone cleans some
+ pages. This should be improved with a forced pageout, if needed.
+ <slpz> - And finally, in vm_pageout_scan, run over the inactive queue
+ searching for clean, external pages, freeing them. If it's not possible
+ to free enough pages, or if vm_page_external_count is less than 10% of
+ system's memory, the "normal" pageout is used.
+ <slpz> I need to clean up things a little, but I want to send a preliminary
+ patch to bug-hurd ASAP, to have more people testing it.
+ <slpz> antrik: Do you thing that performance degradation can be related
+ with the number of threads of your ext2fs translators?
+ <antrik> slpz: hm... I didn't watch that recently; but in the past, I
+ observe that the thread count is pretty constant after it reaches
+ something like 14000 on heavy load...
+ <antrik> err... wait, 14000 was ports :-)
+ <antrik> I doubt my system would survive 14000 threads ;-)
+ <antrik> don't remember thread count... I guess I should start watching
+ this again
+ <slpz> antrik: I was thinking that 14000 threads sound like a lot :-)
+ <slpz> what I know for sure, is that when operating with large files, the
+ deactivation of all pages of the memory object which is done after every
+ operation really hurts to performance
+ <antrik> right now my root FS has 5100 ports and a mere 71 thread... but
+ then, it's almost freshly booted :-)
+ <slpz> that's why I've just commented that operation in my code, since it's
+ not really needed anymore :-)
+ <slpz> anyway, after submitting all my pending mails to bug-hurd, I'll try
+ to hunt that bug. Sounds funny.
+ <antrik> regarding your explanation, I'm still trying to wrap my head
+ around some of the details. I must admit that I don't remember what
+ data_unlock does... or maybe I never fully understood it
+ <antrik> the limit on dirty pages is global?
+ <slpz> yes, right now it's global
+ <marcusb> I try to find the old discussion of the thread storm stuff
+ <marcusb> there was some concern about deadlocks
+ <slpz> marcusb: yes, because we were talking about putting an static limit
+ for the server threads of a translators
+ <slpz> marcusb: and that was wrong (my fault, I was even dumber back then
+ :-P)
+ <marcusb> oh boy digging in old mail is no fun. first I see mistakes in my
+ english. then I see quite complicated pager stuff I don't ever remember
+ touching. but there is a patch, and it has my name on it
+ <marcusb> I think I lost a couple of the early years of my hurd hacking :)
+ <antrik> hm... I reread the chapter on locking, and it's still above me :-(
+ <marcusb> not sure what you are talking about, but if there are any
+ specific questions...
+ <antrik> marcusb: external pager interface
+
+[[microkernel/mach/external_pager_mechanism]].
+
+ <marcusb> uuuuh ;)
+ <antrik> memory_object_lock_request(), memory_object_lock_completed(),
+ memory_object_data_unlock()
+ <marcusb> is that from the mach manual?
+ <antrik> yes
+ <antrik> I didn't really understand that part when I first read it a couple
+ of years ago, and I still don't understand it now :-(
+ <marcusb> I am sure I didn't understand it either
+ <marcusb> and maybe I missed my window :)
+ <marcusb> let's see
+ <antrik> hehe
+ <antrik> slpz: what exactly do you mean by "the pager which has generated
+ the page fault"?
+ <antrik> marcusb: essentially I'm trying to understand the explanation of
+ the changes slpz did, but there are several bits totally obscure to me
+ :-(
+ <slpz> antrik: when a I/O operation is requested to ext2fs, it maps the
+ object in question to it's own space, and then memcpy's from/to there
+ <slpz> antrik: so the translator (which is also a pager) is the one who
+ generates the page fault
+ <marcusb> yeah
+ <marcusb> antrik: it's important to understand which messages are sent by
+ the kernel to the manager and which are sent the other way
+ <marcusb> if the dest port is memory_object_t, that indicates a msg from
+ kernel to manager. if it is memory_object_control_t, it's a msg from
+ manager to kernel
+ <slpz> antrik: m_o_lock_request it's used by the pager to "settle" the
+ status of a memory object, m_o_lock_completed is the answer from the
+ kernel when the lock has been completed (only if the client has requested
+ to be notified), and m_o_data_unlock is a request from the kernel to
+ change the level of protection for a page (it's called from vm_fault.c)
+ <marcusb> slpz: but it's not pagers generating page faults, but users of
+ the memory object on the other side
+ <antrik> marcusb: well, I think the direction is clear to me... but the
+ purpose not really :-)
+ <marcusb> ie a client that mapped a file
+ <slpz> antrik: in ext2fs, all pages are initially provided to the kernel
+ (via data_supply) write protected. When a write operation is done over
+ one of those pages, a page fault it's generated, which sends a
+ m_o_data_unlock to the pager, which answers (if convenient) which a
+ page_lock decreasing the protection level
+ <marcusb> antrik: one use of lock_request is when you want to shut down
+ cleanly and want to get the dirty pages written back to you from the
+ kernel.
+ <marcusb> antrik: the other thing may be COW strategies
+ <slpz> marcusb: well, pagers and clients are in the same task for most
+ translators, like ext2fs
+ <marcusb> slpz: oh.
+ <slpz> marcusb: but yes, a read operation in a mmap'ed file would trigger
+ the fault in a client user task
+ <marcusb> slpz: I think I forgot everything about pagers :)
+ <slpz> marcusb: pager-memcpy.c is the key :-)
+ <marcusb> slpz: what becomes of the fault then? the kernel sees it's a
+ mapped memory object. will it then talk to the manager or to a pager?
+ <antrik> slpz: the translator causes the faults itself when it handles
+ io_read()/io_write() requests I suppose, as opposed to clients accessing
+ mmap()ed objects which then generate the faults?...
+ <antrik> ah, that's actually what you already said above :-)
+ <slpz> marcusb: I'm not sure what do you mean by "manager"...
+ <marcusb> manager == memory object
+ <marcusb> mh
+ <slpz> marcusb: for all external objects, it will ask to their current
+ pager
+ <marcusb> slpz: I think I am missing a couple of details, so nevermind.
+ It's starting to come back to me, but I am a bit afraid of that ;)
+ <marcusb> what I love about the Hurd is how damn readable the code is
+ <marcusb> considering it's an object system, it's so much nicer to read
+ than gtk stuff
+ <slpz> when you get the big picture, it's actually somewhat fun to see how
+ data moves around just to fulfill a simple read()
+ <marcusb> you should make a diagram!
+ <marcusb> bonus point for animated video ;)
+
+[[hurd/IO_path]].
+
+ <slpz> marcusb: heh, take a look at the hurd specific parts of glibc... I
+ cry in pain every time a do that...
+ <marcusb> slpz: oh yeah, rdwr-internal.
+ <marcusb> oh man
+ <marcusb> slpz: funny thing, I just looked at them the other day because of
+ the security issue
+ <slpz> marcusb: I think there was one, maybe a slice from someone's
+ presentation...
+ <marcusb> I think I was always confused about the pager/memobj/kernel
+ interactions
+ <slpz> marcusb: I'm barely able to read Roland's glibc code. I think it's
+ out of my reach.
+ <antrik> marcusb: I think part of the problem is confusing terminology
+ <marcusb> it's good that you are instrumenting the mach kernel to see
+ what's actually going on in there. it was a black book for me, but neal
+ too a peek and got a much better understanding of the performance issues
+ than I ever did
+ <antrik> when talking about "pager", we usually mean the process doing the
+ paging; but in mach terminology this actually seems to be the "manager",
+ while a "pager" is an individual object in the manager process... or
+ something like that ;-)
+ <marcusb> antrik: I just never took a look at the big picture. I look at
+ the parts
+ <marcusb> I knew the tail, ears, and legs of the elephant.
+ <marcusb> it's a lot of code for a beginner
+ <antrik> I never understood the distinction between "pager" and "memory
+ object" though...
+ <antrik> maybe "pager" refers to the object in the external pager, while
+ "memory object" is the part managed in Mach itself?...
+ <marcusb> memory object is a real object, to which you can send messages.
+ it's implemented in the server
+ <antrik> hm... maybe it's the other way around then ;-)
+ <marcusb> there is also the default pager
+ <marcusb> I think the pager is just another name for the process that
+ serves the memory object (default pager == memory object for anonymous
+ memory == swap)
+ <marcusb> but!
+ <marcusb> there is also libpager
+
+[[hurd/libpager]]
+
+ <marcusb> and that's a more complicated beast
+ <antrik> actually, the correct term seems to be "default memory manager"...
+ <marcusb> yeah
+ <marcusb> from mach's pov
+ <marcusb> we always called it default pager in the Hurd
+ <antrik> marcusb: problem is that "pager" is sometimes used in the Mach
+ documentation to refer to memory object ports IIRC
+ <marcusb> isn't it defpager executable?
+ <marcusb> could be
+ <marcusb> it's the same thing, really
+ <antrik> indeed, the program implementing the default memory manager is
+ called "default pager"... so the terminology is really inconsistent
+ <marcusb> the hurd's pager library is a high level abstraction for mach's
+ external memory object interface.
+ <marcusb> i wouldn't worry about it too much
+ <antrik> I never looked at libpager
+ <marcusb> you should!
+ <marcusb> it's an important beast
+ <antrik> never seemed relevant to anything I did so far...
+ <antrik> though maybe it would help understanding
+ <marcusb> it's related to what you are looking now :)
diff --git a/open_issues/rework_gnumach_ipc_spaces.mdwn b/open_issues/rework_gnumach_ipc_spaces.mdwn
index b3d1b4a4..7c66776b 100644
--- a/open_issues/rework_gnumach_ipc_spaces.mdwn
+++ b/open_issues/rework_gnumach_ipc_spaces.mdwn
@@ -10,7 +10,7 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_gnumach]]
-[[!toc]
+[[!toc]]
# IRC, freenode, #hurd, 2011-05-07
diff --git a/open_issues/rm_fr.mdwn b/open_issues/rm_fr.mdwn
index 89a803ab..aab52d97 100644
--- a/open_issues/rm_fr.mdwn
+++ b/open_issues/rm_fr.mdwn
@@ -25,3 +25,15 @@ really waits for all I/Os, which basically means strictly serializing
file removals: remove one file, wait for the disk to have done it
(~10ms), remove the next one, etc. I guess this is for safety reasons
against crashes, but isn't the sync option there for such kind of
+
+
+# IRC, freenode, #hurd, 2011-07-23
+
+ <antrik> youpi: hm... async deletion does have one downside: I just removed
+ something to make space, and retried the other command immediately
+ afterwards, and it still said "no space left on device"... a few seconds
+ later (after the next regular sync I suppose?) it worked
+ <youpi> well, that's sorta expected, yes
+ <youpi> we get the same on Linux
+ <youpi> Mmm, on second thought, I'm not sure how that can happen
+ <youpi> the asynchronous thing is for disk writes, not cache writes
diff --git a/open_issues/runit.mdwn b/open_issues/runit.mdwn
index c7a0962c..659b81ea 100644
--- a/open_issues/runit.mdwn
+++ b/open_issues/runit.mdwn
@@ -1,12 +1,13 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2011 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]]."]]"""]]
[[!tag open_issue_porting]]
@@ -17,3 +18,33 @@ report is just from his memory, and his memory is dim... The problem *might*
either be a time stamping issue (which might be fixed by now) or it *might* be
the `select` call failing issue we're seeing from time to time. Or something
else.
+
+[[Harish Badrinath|harishbadrinath]]
+Originally answered by Samuel Thibault:
+> 120->proc_dostop_request ( 138) = 0
+>
+> </snip>
+
+Usual issue with rpctrace: it does not support fork().
+
+ I've checked a backtrace in gdb, got this:
+
+ 0x0105af6c in mach_msg_trap ()
+ at /build/eglibc-jWVnRE/eglibc-2.13/build-tree/hurd-i386-libc/mach/mach_msg_trap.S:2
+ 1 0x0105b769 in __mach_msg (msg=0x1024af8, option=258, send_size=0, rcv_size=40, rcv_name=140,
+ timeout=1000020, notify=0) at msg.c:110
+ 2 0x01062251 in _hurd_select (nfds=2, pollfds=0x1024dc0, readfds=0x0, writefds=0x0, exceptfds=0x0,
+ timeout=0x1024bbc, sigmask=0x0) at hurdselect.c:324
+ 3 0x0114427b in __poll (fds=0x1024dc0, nfds=2, timeout=1000020) at ../sysdeps/mach/hurd/poll.c:48
+ 4 0x0804b770 in iopause (x=0x1024dc0, len=2, deadline=0x1024dd8, stamp=0x1024de8) at iopause.c:29
+ 5 0x08048efc in main (argc=2, argv=0x1024e94) at runsv.c:543
+
+ and main() shows up as:
+
+ sig_unblock(sig_term);
+ sig_unblock(sig_child);
+ -> iopause(x, 2 +haslog, &deadline, &now);
+ sig_block(sig_term);
+ sig_block(sig_child);
+
+So it simply looks like the known "signals don't interrupt select" bug.
diff --git a/open_issues/sa_siginfo_sa_sigaction.mdwn b/open_issues/sa_siginfo_sa_sigaction.mdwn
index 04207c61..3b8edff7 100644
--- a/open_issues/sa_siginfo_sa_sigaction.mdwn
+++ b/open_issues/sa_siginfo_sa_sigaction.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -12,6 +12,8 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_glibc]]
+Note: SA_SIGINFO has now been implemented by Jeremie Koenig. It will be uploaded in Debian eglibc 2.13-19.
+
IRC, #hurd, August / September 2010:
<giselher> Hy, I came across SA_SIGINFO in cherokee, I have the void sighandler(int num) prototype but how do I add the sa_handler field?
@@ -43,3 +45,50 @@ IRC, #hurd, August / September 2010:
<youpi> (i.e. replace with 0 in your example)
<giselher> ok
<youpi> when SA_SIGINFO becomes available, it'll just be used
+
+IRC, freenode, #hurd, 2011-08-20:
+
+ < youpi> erf, tcpwrappers will need si_pid
+ < jkoenig> I could implement it not too far away in the future, we just
+ need a version of msg_sig_post() with a siginfo argument or something.
+ < youpi> I can also see a lot of packages using SA_SIGINFO for no reason...
+ < youpi> (probably copy/pasty code)
+ < youpi> sa.sa_flags = SA_SIGINFO;
+ < youpi> sa.sa_handler = parse_config;
+ < youpi> void parse_config(int)
+ < youpi> yay
+ < youpi> if(siginf->si_signo == SIGXCPU)
+ < youpi> fprintf(stderr, "Exceeded CPU usage.\n");
+ < youpi> ...
+ < youpi> jkoenig: actually most package don't actually use the SA_SIGINFO
+ they request...
+ < youpi> jkoenig: si_pid should get us almost all actually used coverage
+ < youpi> I've seen only one example using si_errno
+ < jkoenig> ok
+ < youpi> oh, it's actually supported by your patch
+ < youpi> (errno)
+ < jkoenig> but I guess since implementing si_pid will require a new RPC, we
+ might as well plan for the rest
+ < youpi> jkoenig: indeed
+ < jkoenig> youpi, hmm I doubt it's properly filled in in all circumstances?
+ < youpi> ok, well, we'll see
+ < pinotree> jkoenig: if it can be of help, boost::unit_test queries various
+ fields of siginfo_t depending on the signal
+ < pinotree> jkoenig: also, pulseaudio uses siginfo_t for remapping faulting
+ memory on SIGBUS
+ < jkoenig> pinotree, oh ok good to know
+ < pinotree> *faulty
+ < youpi> jkoenig: well, I guess you had checked that the si_addr field is
+ correct in a few simple testcase :)
+ < jkoenig> hmm I think so, yes
+ < jkoenig> I ran like, "* (char *) 0x12345678;" or something IIRC
+ < youpi> ok
+ < jkoenig> I seem to remember mach generated SIGBUS instead of SIGSEGV
+ depending on the upper bit, or something (I can't quite remember)
+ < jkoenig> but when sigsegv was generated si_addr was right.
+ < pinotree> jkoenig: (see boost/test/impl/execution_monitor.ipp in boost
+ sources)
+ < pinotree> maybe you can try the unit tests for boost::unit_tests, if any
+ :)
+ < pinotree> (while src/pulsecore/memtrap.c in PA)
+ * pinotree stops doing MrObvious™
diff --git a/open_issues/sbcl.mdwn b/open_issues/sbcl.mdwn
new file mode 100644
index 00000000..4bbf92ef
--- /dev/null
+++ b/open_issues/sbcl.mdwn
@@ -0,0 +1,31 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_porting]]
+
+IRC, freenode, #hurd, 2011-08-12
+
+ < zyg> did the segment registers had any purpose? I see fs is set equal to
+ others, but on linux fs is 0 (atleast on this x86 box).
+ < braunr> zyg: it can be used by special applications like wine, yes
+ < zyg> braunr: thanks.. I'm reading up on linux actually. It seems gs can
+ be used for TLS, fs in syscall to pass userspace.
+ < braunr> zyg: why are you interested in that ?
+ < zyg> a native compiler under linux places assumptions on fs register. So
+ I'm trying to find out what it should do under gnumach/hurd.
+ < braunr> what compiler ?
+ < zyg> braunr: it's sbcl
+ < braunr> ok
+ < youpi> zyg: the same, basically
+ < zyg> ok.. looking at the code, I've remarked where it sets up FS, because
+ /usr/include/asm/ldt.h:struct user_desc is missing. I must search for the
+ equiv.
+ < youpi> zyg: mach/i386/mach_i386.h
+ < youpi> the descriptor structure
diff --git a/open_issues/sendmsg_scm_creds.mdwn b/open_issues/sendmsg_scm_creds.mdwn
index 2deec7e8..c613e21c 100644
--- a/open_issues/sendmsg_scm_creds.mdwn
+++ b/open_issues/sendmsg_scm_creds.mdwn
@@ -90,6 +90,10 @@ IRC, unknown channel, unknown date.
<pinotree> yep
<youpi> ok, good :)
+/!\ IRC, freenode, #hurd, 2011-08-11
+
+ < pinotree> (but that patch is lame)
+
---
See also [[pflocal_socket_credentials_for_local_sockets]] and [[pflocal_reauth]].
diff --git a/open_issues/sync_but_still_unclean_filesystem.mdwn b/open_issues/sync_but_still_unclean_filesystem.mdwn
index 606e9393..c8a37169 100644
--- a/open_issues/sync_but_still_unclean_filesystem.mdwn
+++ b/open_issues/sync_but_still_unclean_filesystem.mdwn
@@ -32,3 +32,6 @@ the `halt` or `reboot` command. This will prevent most of the uncleanliness.
Of course, [[hurd/translator/ext2fs]] is meant to be doing this to-disk
synchronization internally upon translator shutdown, but evidently it doesn't
in all cases.
+
+Apparently diskfs simply does not set filesystems as read-only:
+<http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00024.html>.
diff --git a/open_issues/syslog.mdwn b/open_issues/syslog.mdwn
index 778933a7..5fec38b1 100644
--- a/open_issues/syslog.mdwn
+++ b/open_issues/syslog.mdwn
@@ -1,7 +1,45 @@
IRC, unknwon channel, unknown date.
- <tschwinge> scolobb: In wiki edit 60accafa79f645ae61b578403f7fc0c11914b725 I see that you intend(ed) to use syslog for logging debug messages. I thought I'd point you to http://lists.gnu.org/archive/html/bug-hurd/2007-02/msg00042.html -- no idea if that's still an issue or what went wrong at that time. Perhaps you can have a look?
- <scolobb> tschwinge: Thanks for information! Currently I'm logging some debug messages to a simple file, but I'll now check whether the issue you've pointed out is still present.
- <scolobb> tschwinge: I am getting absolutely abnormal results: when I call syslog() from a simple C program for the first time, the message goes to the system log. However, any further calls to syslog() do just nothing... I am able to send something to syslog only after reboot (it doesn't help if I restart syslogd).
+ <tschwinge> scolobb: In wiki edit 60accafa79f645ae61b578403f7fc0c11914b725
+ I see that you intend(ed) to use syslog for logging debug messages. I
+ thought I'd point you to
+ http://lists.gnu.org/archive/html/bug-hurd/2007-02/msg00042.html -- no
+ idea if that's still an issue or what went wrong at that time. Perhaps
+ you can have a look?
+ <scolobb> tschwinge: Thanks for information! Currently I'm logging some
+ debug messages to a simple file, but I'll now check whether the issue
+ you've pointed out is still present.
+ <scolobb> tschwinge: I am getting absolutely abnormal results: when I call
+ syslog() from a simple C program for the first time, the message goes to
+ the system log. However, any further calls to syslog() do just
+ nothing... I am able to send something to syslog only after reboot (it
+ doesn't help if I restart syslogd).
+IRC, freenode, #hurd, 2011-08-08
+
+ < pinotree> wow, `logger` + a simple C udp server can cause havoc
+ < pinotree> youpi: ever seen something like
+ http://paste.debian.net/hidden/72cf4b77/ ?
+ < pinotree> and then also other servers (like pflocal, pfinet, few more)
+ start becoming crazy (using 100% cpu)
+ < youpi> nope
+ < pinotree> iirc in one of the few tries i got the message "Resource lost."
+ from the closed ssh connection
+ < pinotree> i was trying to see why syslog doesn't work, but this basically
+ surprised me...
+ < pinotree> oh, i found an apparently working syslog daemon
+ < pinotree> dsyslog
+ < gg0> have you tried syslog-ng? IIRC it writes in /var/log/messages by
+ default.
+ < pinotree> yeah, it seems to stop receiving messages are few
+ < pinotree> gg0: are you using syslog-ng?
+ < gg0> pinotree: I should fire hurd vm up. I seem I kept dirty-patched
+ busybox syslog, I don't even know if it works, at least it starts
+ http://bugs.debian.org/636162
+ < pinotree> maintainer said "not really"
+ < gg0> well, if all other syslogs use shm and sems, they won't work too,
+ right?
+ < youpi> shm should work with the latest libc
+ < youpi> what won't is sysv sem
+ < youpi> (i.e. semget)
diff --git a/open_issues/time.mdwn b/open_issues/time.mdwn
index eda5b635..ab239aef 100644
--- a/open_issues/time.mdwn
+++ b/open_issues/time.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2011 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
@@ -53,3 +53,17 @@ GNU time's *elapsed* value is off by some factor.
As above; also here all the running time should be attriuted to *user* time.
This is probably a [[!taglink open_issue_gnumach]].
+
+
+# 2011-09-02
+
+Might want to revisit this, and take Xen [[!tag open_issue_xen]] into account
+-- I believe flubber has already been Xenified at that time.
+
+
+## IRC, freenode, #hurd, 2011-09-02
+
+While testing some [[performance/IPC_virtual_copy]] performance issues:
+
+ <tschwinge> And I can confirm that with dd if=/dev/zero of=/dev/null bs=4k
+ running, a parallel sleep 10 takes about 20 s (on strauss).
diff --git a/open_issues/translate_fd_or_port_to_file_name.mdwn b/open_issues/translate_fd_or_port_to_file_name.mdwn
index 485fb985..bd9abcf9 100644
--- a/open_issues/translate_fd_or_port_to_file_name.mdwn
+++ b/open_issues/translate_fd_or_port_to_file_name.mdwn
@@ -83,4 +83,5 @@ A related issue:
http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00097.html
<braunr> i see
-Also see email thread starting at `id:"20110714082216.GA8335@sceen.net"`.
+Also see email thread starting at [[!message-id
+"20110714082216.GA8335@sceen.net"]].
diff --git a/open_issues/translators_set_up_by_untrusted_users.mdwn b/open_issues/translators_set_up_by_untrusted_users.mdwn
index edc92796..97f48bba 100644
--- a/open_issues/translators_set_up_by_untrusted_users.mdwn
+++ b/open_issues/translators_set_up_by_untrusted_users.mdwn
@@ -272,3 +272,76 @@ License|/fdl]]."]]"""]]
to solve security issues at all
<antrik> and as braunr already pointed out, this wouldn't help with DoS
problems
+
+
+# Linux kernel, Symlink/Hardlink Attack
+
+Even though not directly comparable, the issues described at [Symlink
+Protection](https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#Symlink_Protection)
+and [Hardlink
+Protection](https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#Hardlink_Protection)
+do bear some similarity with the issue we're discussing here.
+
+
+# IRC, freenode, #hurd, 2011-08-31
+
+ <antrik> I don't see any problems with following only translators of
+ trusted users
+ <youpi> where to store the list of trusted users?
+ <youpi> is there a way to access the underlying node, which for /dev
+ entries belongs to root?
+ <ArneBab> youpi: why a list of trusted users? Does it not suffice to
+ require /hurd/trust set by root or ourselves?
+ <youpi> ArneBab: just because that's what antrik suggests, so I ask him for
+ more details
+ <ArneBab> ah, ok
+ <antrik> youpi: probably make them members of a group
+ <antrik> of course that doesn't allow normal users to add their own trusted
+ users... but that's not the only limitation of the user-based
+ authentication mechanism, so I wouldn't consider that an extra problem
+ <antrik> ArneBab: we can't set a translator on top of another user's
+ translator in general
+ <antrik> root could, but that's not very flexible...
+ <antrik> the group-based solution seems more useful to me
+ <ArneBab> antrik: why can’t we?
+ <antrik> also note that you can't set passive translators on top of other
+ translators
+ <antrik> ArneBab: because we can only set translators on our own nodes
+ <ArneBab> active ones, too?
+ <antrik> yes
+ <ArneBab> antrik: I always thought I could…
+ <ArneBab> but did not test it
+ <ArneBab> antrik: so I need a subhurd to change nodes which do not belong
+ to me?
+ * ArneBab in that case finally understands why you like subhurds so much:
+ That should be my normal right
+ <antrik> it should be your normal right to change stuff not belonging to
+ you? that's an odd world view :-)
+ <antrik> subhurds don't really have anything to do with it
+ <ArneBab> change it in a way that only I see the changes
+ <antrik> you need local namespaces to allow making local modifications to
+ global resources
+ <youpi> it should be one's normal right to change the view one has of it
+ <antrik> we discussed that once actually I believe...
+ <antrik> err... private namespaces I mean
+
+IRC, freenode, #hurd, 2011-09-10:
+
+ <cjuner_> I am rereading Neal Walfield's and Marcus Brinkman's critique of
+ the hurd on mach. One of the arguments is that a file system may be
+ malicious (by DoS its clients with infinitely deep directory
+ hierarchies). Is there an answer to that that does not require programs
+ to be programmed defensively against such possibilities?
+
+IRC, freenode, #hurd, 2011-09-14:
+
+ <antrik> cjuner: regarding malicious filesystems: the answer is to do
+ exactly the same as FUSE on Linux: don't follow translators set up by
+ untrusted users by default
+ <cjuner> antrik, but are legacy programs somehow protected? What about
+ executing `find`? Or is GNU's find somehow protected from that?
+ <antrik> cjuner: I'm talking about a global policy
+ <cjuner> antrik, and who would implement that policy?
+ <antrik> cjuner: either glibc or the parent translators
+
+Continued discussion about [[resource_management_problems/pagers]].
diff --git a/open_issues/tty_activitiy_vs_disk_io.mdwn b/open_issues/tty_activitiy_vs_disk_io.mdwn
new file mode 100644
index 00000000..26382d56
--- /dev/null
+++ b/open_issues/tty_activitiy_vs_disk_io.mdwn
@@ -0,0 +1,81 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+IRC, freenode, #hurd, 2011-07-25
+
+ < youpi> Mmm, typing something on the mach console triggers a write on the
+ disk
+ < youpi> because the /dev/console node gets updated
+ < youpi> I don't really see why
+ < youpi> (yes, just typing at the bash prompt, not even running something)
+ < youpi> typing during the sleep command (i.e. mere tty echo) doesn't
+ trigger it, however
+ < youpi> running bash's echo does trigger it
+ < braunr> during sleep, the glibc stream functions handle I/O, while with
+ bash, its readline takes care of it, right ?
+ < youpi> /bin/echo too
+ < youpi> during sleep it's the tty process which handles I/O
+ < braunr> the write may be due to a write time update on the inode
+ < braunr> modification* time
+ < youpi> probably yes, but how so?
+ < youpi> ext2fs is only supposed to pass the thing to the console
+ translator
+ < braunr> not sure
+ < youpi> actually, ext2fs even isn't supposed to come into play when it's
+ about typing at the bash prompt
+ < youpi> once it's opened, isn't the port for /dev/console supposed to be
+ directly to the translator there?
+ < braunr> i think so
+ < youpi> (s/tty/term/ in what I said)
+ < braunr> well, it's certain
+ < youpi> so I don't see how ext2fs can be triggered to write an atime or
+ mtime
+ < braunr> what does rpctrace say ?
+ < youpi> io_read_request and io_write_request
+ < youpi> braunr: it doesn't happen at the login prompt
+ < youpi> interestingly, atime is always 3-4 secs earlier than ctime & mtime
+ < youpi> doesn't happen with dash
+ < braunr> we should implement relatime and experiment with it
+ < braunr> it shouldn't be hard
+ < youpi> well, there's noatime already
+ < youpi> but my point is that this update shouldn't happen
+ < youpi> and I believe it's the source of the i_file_acl e2fsck warning
+ < braunr> i wasn't saying that concerning this problem, it was just a
+ separate idea (noatime is more problematic than relatime)
+ < braunr> and i agree, it shouldn't happen :)
+ < youpi> ok, it's set_node_times which gets called
+
+IRC, freenode, #hurd, 2011-07-27
+
+ < antrik> BTW, I'm not sure it's still relevant; but the reason accessing
+ translators such as the console modifies the underlying node is that most
+ stat information is generally passed through
+ < antrik> (in some cases it might be unintentional though, simply using the
+ default implementation from trivfs carelessly...)
+ < youpi> I know
+ < youpi> I've seen that in the code
+ < antrik> OK
+ < youpi> it is still relevant: I still find it useless to write it on the
+ disk
+ < youpi> though w uses it to show idle time over reboot
+ < braunr> is it useful to keep the information across reboots ?
+ < youpi> for some value of "useful" for w
+ < braunr> i wonder what would break if this was entierly kept in memory
+ < youpi> nothing, probably
+ < youpi> note that it doesn't overload ext2fs so much, it just adds a write
+ every ~5s
+ < youpi> (at worse, i.e. when keeping showing text, for instance)
+ < braunr> indeed, the behaviour seems the same on linux
+ < antrik> ah... that explains why the disk doesn't spin down while IRC is
+ active... always wondered about that :-)
+ < youpi> that's not very power-saving, yes
+ < youpi> well, we might want to put /dev on ram someday
diff --git a/open_issues/unit_testing.mdwn b/open_issues/unit_testing.mdwn
index 0def95fa..dd1e465c 100644
--- a/open_issues/unit_testing.mdwn
+++ b/open_issues/unit_testing.mdwn
@@ -29,8 +29,8 @@ abandoned).
* used by the [[GCC testsuite|gcc]], [[GDB testsuite|gdb]],
[[binutils testsuite|binutils]], etc.
- * The [[glibc_testsuite]] has a home-grown system (Makefile-based), likewise
- does the [[Open_POSIX_Test_Suite]].
+ * The [[glibc testsuite|glibc]] has a home-grown system (Makefile-based),
+ likewise does the [[Open_POSIX_Test_Suite]].
* [Kyua](http://code.google.com/p/kyua/) (and its predecessor [ATF](http://www.NetBSD.org/~jmmv/atf/)).
diff --git a/open_issues/user-space_device_drivers.mdwn b/open_issues/user-space_device_drivers.mdwn
index b8061f71..e929f2bf 100644
--- a/open_issues/user-space_device_drivers.mdwn
+++ b/open_issues/user-space_device_drivers.mdwn
@@ -33,6 +33,16 @@ Also see [[device drivers and IO systems]].
to IRQs. However, at least in GNU Mach, that code (`kern/eventcount.c`)
doesn't seem functional at all and isn't integrated properly in the kernel.
+ * IRC, freenode, #hurd, 2011-07-29
+
+ < antrik> regarding performance of userspace drivers, there is one
+ thing that really adds considerable overhead: interrupt
+ handling. whether this is relevant very much depends on the hardware
+ in question. when sending many small packets over gigabit ethernet,
+ it might be noticable; in most other cases it's irrelevant
+ < youpi> some cards support interrupt coalescin
+ < youpi> could be supported by DDE too
+
## DMA
* Security considerations.
@@ -52,6 +62,32 @@ Also see [[device drivers and IO systems]].
* [[GNU Mach|microkernel/mach/gnumach]] is said to have a high overhead when
doing RPC calls.
+## System Boot
+
+IRC, freenode, #hurd, 2011-07-27
+
+ < braunr> btw, was there any formulation of the modifications required to
+ have disk drivers in userspace ?
+ < braunr> (which would obviously need something like
+ initrd/initramfs/whatever and may also need the root file system not to
+ be the first task started)
+ < braunr> hm actually, we may not need initrd
+ < braunr> the boot loader could just load more modules
+ < antrik> braunr: I have described all that in my thesis report... in
+ German :-(
+ < braunr> and the boot scripts could be adjusted to pass around the right
+ ports
+ < Tekk_> braunr: yeah, we could probably load a module that kciks us into
+ userspace and starts the disk driver
+ < braunr> modules are actualy userspace executables
+ < Tekk_> ah
+ < Tekk_> so what's the issue?
+ < Tekk_> oh! I'm thinking the ext2fs server, which is already in userspce
+ < braunr> change the file systems to tell them which underlying disk driver
+ to use
+ < Tekk_> mhm
+ < braunr> s/disk/storage/
+
# Plan
diff --git a/open_issues/virtualbox.mdwn b/open_issues/virtualbox.mdwn
new file mode 100644
index 00000000..9440284f
--- /dev/null
+++ b/open_issues/virtualbox.mdwn
@@ -0,0 +1,99 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+
+[[!tag open_issue_gnumach]]
+
+Running GNU Mach in VirtualBox crashes during initialization.
+
+IRC, freenode, #hurd, 2011-08-15
+
+ <BlueT_> HowTo Reproduce: 1) Use `reboot` to reboot the system. 2) Once
+ you see the Grub menu, turn off the debian hurd box. 3) Let the box boot
+ normally, and wait for the error/crash/reboot. 4) The error/crash will
+ happen twice and it's reboot automatically. The 3rd boot will success.
+
+ <BlueT_> root@dhurd:/boot# addr2line -f -e gnumach-1.3.99-486-dbg-copy 0x106c93 0x1556a5 0x152c54
+ <BlueT_> copyoutmsg
+ <BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../i386/i386/locore.S:1289
+ <BlueT_> exec_load
+ <BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../kern/elf-load.c:80
+ <BlueT_> user_bootstrap
+ <BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../kern/bootstrap.c:756
+
+ i386/i386/locore.S:1289 is
+
+ movl $USER_DS,%eax /* use user data segment for accesses */
+ => mov %ax,%es
+
+ State is
+
+ cs: 0x8
+ ds: 0x10
+ es: 0x10
+ fs: 0
+ gs: 0
+ ss: 0x10
+ eax: 0x1f
+ ecx: 0x8048000
+ edx: 0x15fb7f
+ ebx: 0x1001000
+ esp: 0x75e47e08
+ ebp: 0x75e47e6c
+ esi: 0x1002000
+ edi: 0x8048000
+ eip: 0x106c93
+ efl: 0x10206
+
+ <youpi> oh, wait, it's not even the data access which poses problem
+ <youpi> but the use of $USER_DS
+ <youpi> ew
+ <youpi> looks like a gdt initialization emulation issue in virtualbox...
+
+
+ <BlueT_> just found that at the second crash, the address is different
+ <BlueT_> 2nd time:
+ <BlueT_> addr2line -f -e gnumach-1.3.99-486-dbg-copy 0x1068bd 0x152c74
+ <BlueT_> _kret_popl_es
+ <BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../i386/i386/locore.S:527
+ <BlueT_> user_bootstrap
+ <BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../kern/bootstrap.c:765
+
+ i386/i386/locore.S:527 is:
+
+ _return_from_kernel:
+ _kret_popl_gs:
+ popl %gs /* restore segment registers */
+ _kret_popl_fs:
+ popl %fs
+ _kret_popl_es:
+ => popl %es
+ _kret_popl_ds:
+
+ cs: 0x8
+ ds: 0x10
+ es: 0x10
+ fs: 0
+ gs: 0
+ ss: 0x10
+ eax: 0x106c95
+ ecx: 0x6aab096c
+ edx: 0x106cec
+ ebx: 0x75e47f04
+ esp: 0x75e47f0c
+ ebp: 0x75e47fac
+ esi: 0x75e47f8c
+ edi: 0x7fffff3c
+ eip: 0x1068bd
+ efl: 0x10216
+
+ <youpi> looks again like a $USER_DS issue
+ <youpi> what's interesting is that that one means that $USER_DS did load in
+ %es fine at least once
+ <youpi> and it's the reload that fails
diff --git a/open_issues/wine.mdwn b/open_issues/wine.mdwn
index 85d35c9c..65e6c584 100644
--- a/open_issues/wine.mdwn
+++ b/open_issues/wine.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -19,3 +19,51 @@ requirements Wine has: only libc / POSIX / etc., or if there are
[[Samuel|samuelthibault]] suspects that *there's some need for LDT table
allocation. There is kernel support for this,* however.
+
+
+IRC, freenode, #hurd, 2011-08-11
+
+ < arethusa> I've been trying to make Wine work inside a Debian GNU/Hurd VM,
+ and to that end, I've successfully compiled the latest sources from Git
+ after installing the libc (devel) packages from experimental and
+ personally patching Wine with http://pastebin.com/rg6dx09G
+
+[[rg6dx09G.patch]]
+
+ < arethusa> my question is, when trying to launch Wine, I'm seeing "wine
+ client error:0: sendmsg: (os/kern) invalid address" from the client side,
+ whereas the wineserver seems to be starting and running correctly, how
+ could I debug this issue further? using rpctrace doesn't seem to help, as
+ the trace just hangs when run on the Wine loader instead of yielding
+ insight
+ < kilobug> arethusa: isn't there a wine debuguer that can start a gdb when
+ wine encounters an error or something like that ?
+ < arethusa> it's too early for that
+ < kilobug> or least give you a full traceback of the wine code where the
+ error occur ?
+ < arethusa> the error is happening during initial connect to the
+ wineserver, in dlls/ntdll/server.c
+ < arethusa> but that doesn't help me figure out why sendmsg would error out
+ in this way
+ < arethusa>
+ http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/server.c#l361
+ < azeem_> arethusa: probably some of the msghdr entries are not supported
+ by the Hurd's glib
+ < azeem_> c
+ < pinotree> haha, socket credentials, which we don't support yet
+ < azeem_> yep
+ < pinotree> youpi: ↑ another case ;)
+ < azeem_> arethusa: just implement those and it should work
+ < kilobug> in pflocal ? or glibc ?
+ < pinotree> pflocal
+ < arethusa> azeem_: hmm, okay, thanks
+ < pinotree> arethusa: their lack is a known issue, and makes things like
+ dbus and gamin not work
+ < arethusa> it's
+ https://www.gnu.org/software/hurd/open_issues/sendmsg_scm_creds.html and
+ related links I assume?
+
+[[sendmsg_scm_creds]]
+
+ < youpi> yes
+ < pinotree> (but that patch is lame)
diff --git a/open_issues/wine/rg6dx09G.patch b/open_issues/wine/rg6dx09G.patch
new file mode 100644
index 00000000..510ff23f
--- /dev/null
+++ b/open_issues/wine/rg6dx09G.patch
@@ -0,0 +1,116 @@
+diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
+index 42b3639..7484608 100644
+--- a/dlls/ntdll/directory.c
++++ b/dlls/ntdll/directory.c
+@@ -3145,14 +3145,14 @@ static void WINAPI read_changes_user_apc( void *arg, IO_STATUS_BLOCK *io, ULONG
+ static NTSTATUS read_changes_apc( void *user, PIO_STATUS_BLOCK iosb, NTSTATUS status, void **apc )
+ {
+ struct read_changes_info *info = user;
+- char data[PATH_MAX];
++ char data[4096];
+ NTSTATUS ret;
+ int size;
+
+ SERVER_START_REQ( read_change )
+ {
+ req->handle = wine_server_obj_handle( info->FileHandle );
+- wine_server_set_reply( req, data, PATH_MAX );
++ wine_server_set_reply( req, data, 4096 );
+ ret = wine_server_call( req );
+ size = wine_server_reply_size( reply );
+ }
+diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
+index 6c8e8e2..e949227 100644
+--- a/dlls/ntdll/signal_i386.c
++++ b/dlls/ntdll/signal_i386.c
+@@ -180,6 +180,36 @@ __ASM_GLOBAL_FUNC(vm86_enter,
+
+ #endif /* linux */
+
++#ifdef __GNU__
++
++typedef ucontext_t SIGCONTEXT;
++
++#define EAX_sig(context) ((context)->uc_mcontext.gregs[REG_EAX])
++#define EBX_sig(context) ((context)->uc_mcontext.gregs[REG_EBX])
++#define ECX_sig(context) ((context)->uc_mcontext.gregs[REG_ECX])
++#define EDX_sig(context) ((context)->uc_mcontext.gregs[REG_EDX])
++#define ESI_sig(context) ((context)->uc_mcontext.gregs[REG_ESI])
++#define EDI_sig(context) ((context)->uc_mcontext.gregs[REG_EDI])
++#define EBP_sig(context) ((context)->uc_mcontext.gregs[REG_EBP])
++#define ESP_sig(context) ((context)->uc_mcontext.gregs[REG_ESP])
++
++#define CS_sig(context) ((context)->uc_mcontext.gregs[REG_CS])
++#define DS_sig(context) ((context)->uc_mcontext.gregs[REG_DS])
++#define ES_sig(context) ((context)->uc_mcontext.gregs[REG_ES])
++#define SS_sig(context) ((context)->uc_mcontext.gregs[REG_SS])
++#define FS_sig(context) ((context)->uc_mcontext.gregs[REG_FS])
++#define GS_sig(context) ((context)->uc_mcontext.gregs[REG_GS])
++
++#define EFL_sig(context) ((context)->uc_mcontext.gregs[REG_EFL])
++#define EIP_sig(context) ((context)->uc_mcontext.gregs[REG_EIP])
++#define TRAP_sig(context) ((context)->uc_mcontext.gregs[REG_TRAPNO])
++#define ERROR_sig(context) ((context)->uc_mcontext.gregs[REG_ERR])
++
++#define FPU_sig(context) ((FLOATING_SAVE_AREA *)&(context)->uc_mcontext.fpregs.fp_reg_set.fpchip_state)
++#define FPUX_sig(context) NULL
++
++#endif /* __GNU__ */
++
+ #ifdef BSDI
+
+ #include <machine/frame.h>
+diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c
+index 9649df8..cdd1798 100644
+--- a/dlls/shell32/shfldr_unixfs.c
++++ b/dlls/shell32/shfldr_unixfs.c
+@@ -369,7 +369,7 @@ static inline BOOL UNIXFS_is_pidl_of_type(LPCITEMIDLIST pIDL, SHCONTF fFilter) {
+ static BOOL UNIXFS_get_unix_path(LPCWSTR pszDosPath, char *pszCanonicalPath)
+ {
+ char *pPathTail, *pElement, *pCanonicalTail, szPath[FILENAME_MAX], *pszUnixPath, has_failed = 0, mb_path[FILENAME_MAX];
+- WCHAR wszDrive[] = { '?', ':', '\\', 0 }, dospath[PATH_MAX], *dospath_end;
++ WCHAR wszDrive[] = { '?', ':', '\\', 0 }, dospath[MAX_PATH], *dospath_end;
+ int cDriveSymlinkLen;
+ void *redir;
+
+diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
+index ad8e08b..a8d6329 100644
+--- a/dlls/winex11.drv/xrender.c
++++ b/dlls/winex11.drv/xrender.c
+@@ -2440,8 +2440,8 @@ void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev)
+ return;
+ }
+
+-BOOL XRender_AlphaBlend( X11DRV_PDEVICE *devDst, X11DRV_PDEVICE *devSrc,
+- struct bitblt_coords *dst, struct bitblt_coords *src, BLENDFUNCTION blendfn )
++BOOL XRender_AlphaBlend( X11DRV_PDEVICE *devDst, struct bitblt_coords *dst,
++ X11DRV_PDEVICE *devSrc, struct bitblt_coords *src, BLENDFUNCTION blendfn )
+ {
+ FIXME("not supported - XRENDER headers were missing at compile time\n");
+ return FALSE;
+diff --git a/libs/wine/ldt.c b/libs/wine/ldt.c
+index 3098061..b3fee13 100644
+--- a/libs/wine/ldt.c
++++ b/libs/wine/ldt.c
+@@ -96,6 +96,11 @@ static inline int set_thread_area( struct modify_ldt_s *ptr )
+ #include <i386/user_ldt.h>
+ #endif
+
++#ifdef __GNU__
++#include <mach/i386/mach_i386.h>
++#include <mach/mach_traps.h>
++#endif
++
+ /* local copy of the LDT */
+ #ifdef __APPLE__
+ struct __wine_ldt_copy wine_ldt_copy = { { 0, 0, 0 } };
+@@ -203,6 +208,9 @@ static int internal_set_entry( unsigned short sel, const LDT_ENTRY *entry )
+ #elif defined(__APPLE__)
+ if ((ret = i386_set_ldt(index, (union ldt_entry *)entry, 1)) < 0)
+ perror("i386_set_ldt");
++#elif defined(__GNU__)
++ if ((ret = i386_set_ldt(mach_thread_self(), sel, (descriptor_list_t)entry, 1)) != KERN_SUCCESS)
++ perror("i386_set_ldt");
+ #else
+ fprintf( stderr, "No LDT support on this platform\n" );
+ exit(1); \ No newline at end of file
diff --git a/open_issues/xattr.mdwn b/open_issues/xattr.mdwn
index 8b08ef1e..40222f78 100644
--- a/open_issues/xattr.mdwn
+++ b/open_issues/xattr.mdwn
@@ -23,5 +23,14 @@ IRC, freenode, #hurd, 2011-06-01
these instead of our Hurd-specific passive translator information in
inodes.
-If interested in working on this, see [[!GNU_Savannah_task
-#5503]]/[[!GNU_Savannah_patch #5126]], and talk to [[tschwinge]].
+If interested in working on this, talk to [[tschwinge]], and see these resources:
+
+ * [[!GNU_Savannah_task 5503]], [[!GNU_Savannah_patch 5126]]
+
+ * <http://lists.gnu.org/archive/html/bug-hurd/2006-02/threads.html#00115>,
+ <http://lists.gnu.org/archive/html/bug-hurd/2006-01/threads.html#00180>,
+ <http://lists.gnu.org/archive/html/bug-hurd/2006-05/threads.html#00042>
+
+ * <http://www.spinics.net/lists/linux-ext4/msg07260.html>,
+ <http://www.spinics.net/lists/linux-ext4/msg07259.html>,
+ <http://www.spinics.net/lists/linux-ext4/msg07261.html>
diff --git a/persistency.mdwn b/persistency.mdwn
index 36f90c8a..d45ebacc 100644
--- a/persistency.mdwn
+++ b/persistency.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -17,3 +17,26 @@ processes and [[capabilities|capability]] also survive reboot. To a
process, it generally only looks as if it had not been
scheduled for a long time; the rest of its environment
remains essentially the indistinguishable.
+
+
+# GNU/Hurd
+
+The GNU/Hurd is not a persistent system: there are no persistent
+[[capabilities|capability]]. All data that is stored in files in the file
+system, is serialized.
+
+
+# Further Reading
+
+[[!toggleable id=shapiro_capintro_1999 text="""[[!template id=note
+text="*[[shapiro\_capintro\_1999|capability]]*:
+{{$capability#shapiro_capintro_1999}}.
+{{$capability#shapiro_capintro_1999_text}}."]]"""]]
+
+ * Section *Writing Things Down* in [[!toggle id=shapiro_capintro_1999
+ text="[shapiro\_capintro\_1999]"]].
+
+
+[[!tag open_issue_documentation]] <!--
+<http://www.eros-os.org/essays/Persistence.html>
+-->
diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn
index 4e2cf357..9ade863e 100644
--- a/rules/savannah_group.mdwn
+++ b/rules/savannah_group.mdwn
@@ -1,13 +1,13 @@
-[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2011 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]]."]]"""]]
<http://savannah.gnu.org/projects/hurd/>
@@ -27,13 +27,3 @@ the [[contributing/questionnaire]].
The list of members can be seen at
<http://savannah.gnu.org/project/memberlist.php?group=hurd>.
-
-<a name="copyright_assignment">
-## Copyright assignment
-</a>
-
-If you have pieces of code or documentation to contribute, then, in order to
-install them into our [[source_repositories]], you have to assign the copyright
-of your changes to the [Free Software Foundation](http://www.fsf.org/).
-
-Please [[contact_us]] to request the needed forms.
diff --git a/shortcuts.mdwn b/shortcuts.mdwn
index 563bbe08..b62b2981 100644
--- a/shortcuts.mdwn
+++ b/shortcuts.mdwn
@@ -85,3 +85,8 @@ ikiwiki will include your shortcut in the standard underlay.
* [[!shortcut name=GNU_Savannah_task url="http://savannah.gnu.org/task/?%s" desc="GNU Savannah task #%s"]]
* [[!shortcut name=FF_project url="http://www.fossfactory.org/project/p%s" desc="FOSS Factory bounty (p%s)"]]
+
+
+## Notmuch'n'Gmane.
+
+ * [[!shortcut name=message-id url="http://thread.gmane.org/%s" desc="""`id:"%s"`"""]]
diff --git a/source_repositories.mdwn b/source_repositories.mdwn
index 610bc01b..9f2f2e71 100644
--- a/source_repositories.mdwn
+++ b/source_repositories.mdwn
@@ -1,13 +1,13 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2010 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011 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]]."]]"""]]
This page is meant to give some guidelines. Please use good sense or ask on
[[mailing_lists/bug-hurd]] if there are any questions.
@@ -23,13 +23,16 @@ This page is meant to give some guidelines. Please use good sense or ask on
* hurd.git -- Hurd meta package; no real content yet
* [[hurd/glibc.git|glibc]] -- [[/glibc]] maintenance
* hurd/gnumach.git -- [[GNU Mach|microkernel/mach/gnumach]]
- * hurd/hurd.git -- [[/Hurd]]
+ ([[microkernel/mach/gnumach/building]])
+ * hurd/hurd.git -- [[/Hurd]] ([[hurd/building]])
* [[hurd/incubator.git|incubator]] -- the great next stuff
* hurd/libpthread.git -- [[POSIX threading library|libpthread]]
* hurd/mig.git -- [[microkernel/mach/MIG]]
+ ([[microkernel/mach/mig/gnu_mig/building]])
* hurd/procfs.git -- [[hurd/translator/procfs]]
- * hurd/unionfs.git -- -- [[hurd/translator/unionfs]]
- * hurd/viengoos.git -- [[microkernel/Viengoos]]
+ * hurd/unionfs.git -- [[hurd/translator/unionfs]]
+ * hurd/viengoos.git -- [[microkernel/Viengoos]]
+ ([[microkernel/viengoos/building]])
* hurd/web.git -- [[contributing/Web_pages]]
@@ -132,8 +135,7 @@ mainline changes.
Merging from working branches into the mainline branches will usually be done
by one of the project administrators, unless negotiated otherwise. For this to
happen, the copyright of your changes has to be assigned to the Free Software
-Foundation; read about the
-[[copyright assignment_process|rules/savannah group#copyright_assignment]].
+Foundation; read about the [[contributing/copyright_assignment]] process.
It is explicitly encouraged to *merge* changes from working branches into the
mainline branches (as opposed to *rebase* them on top), as the former mode
diff --git a/toolchain/cross-gnu.mdwn b/toolchain/cross-gnu.mdwn
index 62c55a04..280569ae 100644
--- a/toolchain/cross-gnu.mdwn
+++ b/toolchain/cross-gnu.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -9,10 +9,12 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
+[[!tag stable_URL]]
+
[[Thomas_Schwinge|tschwinge]] has written a shell script for building a
complete cross-build environment for GNU/Hurd systems.
-Find it in the [[source_repositories/incubator]], *cross-gnu* branch.
+Find it in the [[source_repositories/incubator]], *cross-gnu/master* branch.
# Using
@@ -31,6 +33,8 @@ differences, as well as towards pushing all patches upstream.
## Supported Versions of Source Packages
+/!\ This is outdated. Contact [[tschwinge]].
+
The following ones are known to work. Others may work as well, but no
guarantee is given. Always the preferred version is listed first.
@@ -117,6 +121,10 @@ guarantee is given. Always the preferred version is listed first.
$ cd libpthread/
$ git checkout origin/tschwinge/Peter_Herbolzheimer
+ Prepare:
+
+ $ ( cd libpthread/ && autoreconf -vi )
+
* [[`src/glibc`|glibc]]
* Git `tschwinge/Roger_Whittaker` branch
@@ -147,9 +155,11 @@ guarantee is given. Always the preferred version is listed first.
## Preparation
+The raw source code trees are about 1 GiB.
+
Unpack the tarballs if you downloaded any.
-Create a directory where the cross build shall be rooted in and a `src`
+Create a directory where the cross build shall be rooted in, and a `src`
subdirectory in there. Then create symbolic links for every of the above
packages: from `src/PACKAGE` to where you stored or unpacked it. If you don't
intend to build several cross compilers or use the source trees otherwise, you
@@ -162,11 +172,11 @@ Either make sure that `cross-gnu-env` and `cross-gnu` are found in `$PATH`
(`~/bin/`, for example) or alternatively remember to use their full paths in
the following.
-The system you're running the script on (the *build* system) needs to have a
-basic compiling environment installed, i.e., a C compiler with the basic
-libraries and `make`. You might also need `flex` and `bison`. For building
-recent version of GCC (4.3 onwards)
-you'll need to have development packages of GMP and MPFR installed.
+The system you're running the script on (the *build* system) needs to have
+basic development tools installed, that is, a C compiler with libraries,
+`make`, and several more packages. If anything is missing, the *cross-gnu*
+build will abort, and you have to install the missing dependencies and resume
+the *cross-gnu* build.
## Setting Up the Environment
@@ -183,12 +193,14 @@ will be set by the script, `$PATH` will be adjusted, etc. See the
their default values. `$ROOT` will be made an absolute path if it isn't
already.
-Later, you'll be able to do things like `../configure --host="$TARGET"` and the
+Later, you'll be able to do things like `../configure --host="$TARGET"`, and the
cross compiler will be found automatically.
## Creating the Cross Build Environment
+This will need an additional 2 GiB.
+
After setting up the environemt, just run `cross-gnu` and watch the messages
flow by. In the end you should see a message: *[...]/cross-gnu: Everything
should be in place now.*
diff --git a/toolchain/elfosabi_gnu.mdwn b/toolchain/elfosabi_gnu.mdwn
index bdc7e542..16b7d342 100644
--- a/toolchain/elfosabi_gnu.mdwn
+++ b/toolchain/elfosabi_gnu.mdwn
@@ -14,6 +14,12 @@ GNU/Hurd uses the `ELFOSABI_GNU` value for operating system/ABI identification.
This is shared with GNU/Linux.
+# Open Issues
+
+The [[/glibc]] patch is currently to be found in [[Savannah
+glibc|source_repositories/glibc]] TopGit branch `t/elfosabi_gnu`.
+
+
# History
* [[!debbug 630180]], [[!debbug 632686]]
diff --git a/unix/file_descriptor.mdwn b/unix/file_descriptor.mdwn
index 6f8533c5..b40db67f 100644
--- a/unix/file_descriptor.mdwn
+++ b/unix/file_descriptor.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011 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
@@ -11,6 +11,7 @@ License|/fdl]]."]]"""]]
A *file descriptor* is a [[concept]] of [[UNIX]], and represents a
non-[[persistent|persistency]] handle to an object (a file, for example). With
respect to specific aspects, it is comparable to a [[capability]].
+This is detailed in {{$capability#wikipedia_capability-based_security}}.
In a GNU Hurd system, the concept of file descriptors is based on object
handles (through [[Mach ports|microkernel/mach/port]]), and is [[implemented in
diff --git a/user/El_Dream_Machine.mdwn b/user/El_Dream_Machine.mdwn
index f6f03779..fe8b5a9c 100644
--- a/user/El_Dream_Machine.mdwn
+++ b/user/El_Dream_Machine.mdwn
@@ -8,6 +8,10 @@ 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]]."]]"""]]
+**September 19, 2011** - Two pages of available comics about the Hurd [http://art9libre.tuxfamily.org/gaetan-01-en.php](http://art9libre.tuxfamily.org/gaetan-01-en.php)
+
+**September 9, 2011** - The second page is done ! For instance, it's in french. English version soon as it's possible... Follow this link [http://art9libre.tuxfamily.org/gaetan-02.php](http://art9libre.tuxfamily.org/gaetan-02.php)or have a look on the last message.
+
**May 19, 2011** - Very difficult to do my comic on the Hurd I encountered problems of inspiration... I missed the second page but I started again [http://art9libre.tuxfamily.org/gaetan-02.php](http://art9libre.tuxfamily.org/gaetan-02.php)
I project to share the scenario (CC-BY-SA/Licence Art Libre).
@@ -18,9 +22,9 @@ It happened on january,7 2011, a very nice day... Thanks to [http://www.paranoia
[A testimony](http://www.sites.google.com/site/hurdexperiences/en-hurd-vdi-tar-lzma) of this install and a video capture [Hurd operating.](http://www.dailymotion.com/video/xgl3nr_hurd-screenscat-ffmpeg-01_webcam)
-**October 14, 2010** - Here's the [french version.](http://art9libre.tuxfamily.org/gaetan/TheCallOfTheHurd-01-fr-png.jpg)
+**October 14, 2010** - Here's the [french version.](http://art9libre.tuxfamily.org/gaetan-01.php)
-**October 13, 2010** - Page 1 out ! The beginning of the [the comics is here :](http://eldreammachine.free.fr/gaetan/TheCallOfTheHurd-01.jpg)
+**October 13, 2010** - Page 1 out ! The beginning of the [the comics is here :](http://art9libre.tuxfamily.org/gaetan-01-en.php)
Hope it will pleased for you.
**October 3, 2010** - I just try to become an end user of The Hurd. In 2004, I was able to install K9 on an old computer.
diff --git a/user/El_Dream_Machine/discussion.mdwn b/user/El_Dream_Machine/discussion.mdwn
new file mode 100644
index 00000000..e4ae858b
--- /dev/null
+++ b/user/El_Dream_Machine/discussion.mdwn
@@ -0,0 +1,10 @@
+[[!meta copyright="Copyright © 2011 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]]."]]"""]]
+J'espère avoir l'énergie de constituer un scénario modifiable sur un wiki par exemple...
diff --git a/user/arnuld.mdwn b/user/arnuld.mdwn
index 1f913a2b..d26a543f 100644
--- a/user/arnuld.mdwn
+++ b/user/arnuld.mdwn
@@ -3,7 +3,7 @@
## General
* Name: arnuld uttre
-* Email: arnuld (at) ippimail (dot) com
+* Email: arnuld.mizong (at) gmail (dot) com
* Country: India
* Homepage: <http://www.lispmachine.wordpress.com>
diff --git a/user/jkoenig/java.mdwn b/user/jkoenig/java.mdwn
index 4ba7bace..e5d288cc 100644
--- a/user/jkoenig/java.mdwn
+++ b/user/jkoenig/java.mdwn
@@ -30,10 +30,6 @@ Feeling slightly behind schedule; but project is very ambitious, which has been
known from the beginning, and there is great progress, so there is no problem.
--[[tschwinge]], 2011-06-29.
-[[tschwinge]] will be on vacations in China starting July 26th, will have
-Internet access intermittently, but not regularely. We'll have to figure out
-some scheme.
-
### Apt repository
@@ -83,6 +79,20 @@ conformance. Patches posted on 2011-05-25, but there's a more recent one in
the modified hurd package (adds `_hurd_sigstate_delete` and removes the weak
symbols).
+IRC, freenode, #hurd, 2011-07-27:
+
+ < jkoenig> the glibc patches are pending review and inclusion in Debian (I
+ think youpi wants to check my latest additions before we go ahead with
+ that)
+ < jkoenig> when it's in Debian and the sky does not fall, I intend to
+ resubmit a full series to libc-alpha for inclusion upstream.
+
+IRC, freenode, #hurd, 2011-08-24:
+
+ < youpi> jkoenig: I'll probably commit your siginfo/globalsig patches soon
+ < youpi> I'm building the ant package atm, seems to proceed great
+ < jkoenig> youpi, great!
+
Another issue which came up with OpenJDK is the expansion
by the dynamic linker of `$ORIGIN` in the `RPATH` header,
see below.
@@ -158,6 +168,23 @@ for broader testing.
`si_pid_not_implemented`, to ensure compilation failures for programs
which use them. Or perhaps a linker warning is possible.
+ IRC, freenode, #hurd, 2011-08-20:
+
+ < youpi> jkoenig: I was considering renaming the fields of siginfo
+ < youpi> to catch applications which need those which we haven't
+ yet
+ < jkoenig> youpi, makes sense AFAICT
+ < youpi> one issue we'll get is some application which previously
+ built without SA_SIGINFO, and will now want some information
+ we're not yet able to provide
+ < youpi> but at least we'll know
+ < jkoenig> youpi, yes it would still be better than having them
+ crash at runtime because of it
+
+ IRC, freenode, #hurd, 2011-08-21:
+
+ < youpi> jkoenig: actually we need the fields for waitid
+
* The FPU state is not included in the `ucontext_t` passed to the signal
handler. On the other hand, `ucontext_t` is actually being somewhat
deprecated: the functions to restore it are no longer in POSIX.
@@ -198,6 +225,111 @@ This can be worked around by defining
the `LD_ORIGIN_PATH` environment variable.
(which have I used to build and test OpenJDK so far.)
+IRC, freenode, #hurd, 2011-07-27:
+
+ < jkoenig> if you have the latest hurd/libc in my repository, you should be
+ able to run /usr/lib/jvm/java-7-openjdk/bin/java without defining
+ LD_ORIGIN_PATH manually
+ < braunr> java: error while loading shared libraries: libjli.so: cannot
+ open shared object file: No such file or directory
+ < jkoenig> braunr, this one is expected, it's the symlink problem.
+ < braunr> oh ok
+ < jkoenig> (ie. thus far, if java is accessed as /usr/bin/java, the ld
+ origin ends up as /usr/bin)
+
+ < jkoenig> *sigh*... it seems I'm going to have to reimplement realpath()
+ in elf/dl-origin.c.
+ < braunr> why ?
+ < jkoenig> using it from there results in duplicate symbols when linking
+ elf/librtld.map.o
+ < braunr> from where ?
+ < braunr> dl-origin ?
+ < jkoenig> apparently this part of the code uses a different allocator
+ (elf/dl-minimal.c)
+ < braunr> oh
+ < braunr> depndency issues ?
+ < braunr> or bootstrapping ones ?
+ < jkoenig> http://paste.debian.net/124310/
+ < jkoenig> dl-origin is what provides the $ORIGIN value for RPATH (now
+ sysdeps/mach/hurd/dl-origin.c, in our case)
+ < braunr> but what's the problem ?
+ < braunr> what prevents you from using the existing implementation ?
+ < jkoenig> you mean copy-and-paste the code ? Well I'll end up doing that I
+ guess... not that it feels right.
+ < braunr> not really
+ < braunr> link against what provides it
+ < braunr> i'm really not familiar with glibc :/
+ < jkoenig> also I'd like to understand what's happening precisely before I
+ resort to such blasphemy :-)
+ < braunr> :)
+ < jkoenig> maybe I could make {file,exec,_hurd}_exec_file_name()
+ canonicalize it instead.
+ < jkoenig> for some reason it does not feel right, though.
+ < braunr> why ?
+ < jkoenig> I'm not sure, loss of information maybe?
+ < jkoenig> (that I ran /usr/bin/java as opposed to /usr/lib/jvm/...)
+ < braunr> i guess you should explain the issue more clearly, i feel like
+ there is something i'm really missing :/
+ < braunr> but it can wait
+ < jkoenig> that ld.so actually needs the canonical file name to substitute
+ $ORIGIN is its own problem, not that of exec or _hurd_exec_file_name..
+ < jkoenig> Ok, so.. Initially the shell (indirectly) runs
+ _hurd_exec_file_name(..., "/usr/bin/java", ...), which then calls
+ file_exec_file_name() on the file in question, passing it its own
+ filename
+ < jkoenig> which is transmitted to exec_exec_file_name()
+ < jkoenig> (until now it's all pochu's patch)
+ < jkoenig> which then makes it available to the newly created process
+ through exec_startup_get_info_2() (my own addition)
+ < braunr> oh
+ < braunr> wasn't it available before oO ?
+ < jkoenig> no, exec only has access to a port to the executable file.
+ < braunr> how was argv[0] handled then ?
+ < jkoenig> argv[0] is handled like any other argument
+ < braunr> ok, so the file path is duplicated ?
+ < jkoenig> the shell (or whomever calls _hurd_exec) provide whatever they
+ want.
+ < braunr> ok
+ < jkoenig> well argv[0] is not necessarily the file path (at least not the
+ full path)
+ < braunr> right
+ < jkoenig> so exec() does some guesswork with $PATH but obviously that's
+ limited.
+ < braunr> so what you changed is that get_info_2 now receives a canonical
+ path ?
+ < jkoenig> right
+ < jkoenig> (or whatever was specified to _hurd_exec_file_name(), for this
+ reason and others we shouldn't use it for setuid programs.)
+ < jkoenig> well, not a canonical path. A path. (hence the problem)
+ < braunr> ok
+ < jkoenig> now both the filesystem and exec might run under another root so
+ they're not an option for canonicalization
+ < jkoenig> _hurd_exec_file_name (in libc) might be a better spot.
+ < braunr> resolution from the client, yes
+
+IRC, freenode, #hurd, 2011-08-03:
+
+ < jkoenig> so my RPATH patches are polished and built, and I'll post them
+ soon, is the good news
+
+IRC, freenode, #hurd, 2011-08-17:
+
+ < jkoenig> also fixed a fakeroot-induced deadlock in my dl-origin patches
+ (namely, under fakeroot, realpath() uses a socket (through stat), so we
+ need to use it when _hurd_dtable_lock is not held)
+ < jkoenig> also I'll post my dl-origin patches shortly
+ < youpi> dl-origin is about the environment variable that java needs,
+ right?
+ < jkoenig> about the environment variable it shouldn't need, yes :-)
+ < youpi> ah :)
+ < youpi> but ok, I vaguely remember what that refers to
+ < jkoenig> $LD_ORIGIN_PATH is used as an override (much like
+ LD_LIBRARY_PATH), but ideally ld.so uses whatever directory the loaded
+ binary is from.
+ < youpi> ok
+ < jkoenig> (as a substitution for $ORIGIN in RPATH)
+
+
#### Plans
I intend to fix the RPATH issue
@@ -219,6 +351,27 @@ have so far prevented me from testing it.
>
> --[[jkoenig]] 2011-06-29
+IRC, freenode, #hurd, 2011-08-03:
+
+ < jkoenig> and I'm battleing to update my OpenJDK patches to b147, and
+ merge the with the kFreeBSD ones.
+ < braunr> b147 ?
+ < jkoenig> but that thing is seriously huge and touches about everything,
+ so it's taking more time than I'd have hoped
+ < jkoenig> braunr, the latest release of IcedTea / OpenJDK 7 and the
+ current Debian version (in experimental of course)
+ < braunr> ok
+ < jkoenig> I'm trying to make this clean so that hopefully we can get them
+ integrated at some level of upstream (probably IcedTea, at least at
+ first)
+
+IRC, freenode, #hurd, 2011-08-10:
+
+ < jkoenig> well actually I've finished merging my patches with the freebsd
+ ones, and updating them to the new openjdk-7,
+ < jkoenig> but now a new version of both is out :-P
+
+
##### Upstream Submission
On 2011-07-15, *gnu_andrew* talked to us in the #hurd channel (freenode IRC),
@@ -239,6 +392,19 @@ than some huge patchset). Send patches to <distro-pkg-dev@openjdk.java.net>.
* [[java-access-bridge]] (not critical; JVM appears to work without)
+ * IRC, freenode, #hurd, 2011-07-27:
+
+ < jkoenig> there's a bug with java.nio when running javadoc, you might
+ run into it.
+
+ * [[`SCM_CREDENTIALS`|open_issues/sendmsg/scm_creds]]
+
+ IRC, freenode, #hurd, 2011-08-03:
+
+ < jkoenig> wrt. peer credentials, openjdk also uses file modes for
+ security, and my guess is that it's sufficient, at least on Hurd, so
+ I've reduced my priority for this at least in the meantime
+
* They seem to have a rather heavy-weight process for such projects: confer
<http://mail.openjdk.java.net/pipermail/announce/2011-January/000092.html>,
for example. Do we need this, too?
@@ -275,6 +441,19 @@ The code is at <http://github.com/jeremie-koenig/hurd-java>.
Doxygen-generated documentation is available at
<http://jk.fr.eu.org/hurd-java/doc/html/>; or run `make doc` yourself.
+IRC, freenode, #hurd, 2011-07-27:
+
+ < jkoenig> I need to be able to read/write individual data items from
+ messages, in order to implement deallocation correctly, so I'm working on
+ that when I'm waiting for things to build, but it's not my primary focus
+ right now.
+
+IRC, freenode, #hurd, 2011-08-17:
+
+ < jkoenig> so, weekly status report: I have made some progress on the java
+ bindings, I hope to have a safe version mach_msg soon, after which I can
+ begin experimenting with mig.
+
#### Plans
diff --git a/user/jkoenig/java/java-access-bridge.mdwn b/user/jkoenig/java/java-access-bridge.mdwn
index 6f860709..57c87068 100644
--- a/user/jkoenig/java/java-access-bridge.mdwn
+++ b/user/jkoenig/java/java-access-bridge.mdwn
@@ -76,3 +76,17 @@ Trying to build it:
make[1]: Leaving directory `/media/erich/home/thomas/tmp/libaccess-bridge-java-jni/java-access-bridge-1.26.2'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
+
+
+IRC, freenode, #hurd, 2011-08-10:
+
+ < jkoenig> and with my latest fix (hardwire os.name as "Linux"),
+ java-access-bridge actually built \o/
+ < youpi> I wouldn't call it a "fix" :)
+ < jkoenig> true, but pretty much everything assumes we're either solaris,
+ linux or windows :-/
+ < jkoenig> also we're actually using the Linux code which it is used to
+ select throughout the JDK
+ < jkoenig> if it's any consolation, os.version stays "GNU-Mach
+ 1.3.99/Hurd-0.3" :-)
+ < youpi> ideally it should simply be changed to "GNU"