diff options
40 files changed, 1105 insertions, 215 deletions
@@ -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/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. @@ -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]] diff --git a/glibc/debugging/ld_so_console.mdwn b/glibc/debugging/ld_so_console.mdwn index d36317b6..b3d1762f 100644 --- a/glibc/debugging/ld_so_console.mdwn +++ b/glibc/debugging/ld_so_console.mdwn @@ -15,3 +15,6 @@ 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/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/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn index d2b7b776..1dd8a4db 100644 --- a/hurd/running/debian/patch_submission.mdwn +++ b/hurd/running/debian/patch_submission.mdwn @@ -28,20 +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` -Please also add + * The first lines of the mail's body (the so-called *pseudo-header*): -`X-Debbugs-CC: debian-hurd@lists.debian.org` + 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 -in the mail headers, so that the mailing list knows about your report. +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/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn index 01bbea42..135b4a88 100644 --- a/hurd/translator/procfs/jkoenig/discussion.mdwn +++ b/hurd/translator/procfs/jkoenig/discussion.mdwn @@ -207,3 +207,9 @@ IRC, freenode, #hurd, 2011-07-25 < 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/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 afcfac74..427fb083 100644 --- a/microkernel/mach/gnumach/building.mdwn +++ b/microkernel/mach/gnumach/building.mdwn @@ -21,7 +21,7 @@ enabled) is around 50 MiB. You can either use the git repository (see <http://git.savannah.gnu.org/cgit/hurd/>), - $ git clone git.savannah.gnu.org:/srv/git/hurd/gnumach.git + $ git clone http://git.savannah.gnu.org/cgit/hurd/gnumach.git/ ... or get the Debian sources, if you're using Debian. (See [here](http://packages.debian.net/source/unstable/gnumach).) 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/memory_object/discussion.mdwn b/microkernel/mach/memory_object/discussion.mdwn index c874b255..a2a1514b 100644 --- a/microkernel/mach/memory_object/discussion.mdwn +++ b/microkernel/mach/memory_object/discussion.mdwn @@ -63,3 +63,5 @@ IRC, freenode, #hurd, 2011-09-05: 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 cd588341..e7d3c150 100644 --- a/microkernel/mach/mig/gnu_mig/building.mdwn +++ b/microkernel/mach/mig/gnu_mig/building.mdwn @@ -19,7 +19,7 @@ using a pre-built package, follow these instructions. You can chose between getting the [sources from the developers' RCS](http://git.savannah.gnu.org/cgit/hurd/): - $ git clone git://git.savannah.gnu.org:/srv/git/hurd/mig.git + $ git clone http://git.savannah.gnu.org/cgit/hurd/mig.git/ ... 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): diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index 7f02628d..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. @@ -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/gcc.mdwn b/open_issues/gcc.mdwn index b4cbef9e..04c111fd 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -172,6 +172,40 @@ Last reviewed up to the [[Git mirror's 3d83581faf4eaf52c1cf52cc0d11cc7dd1264275 `check_effective_target_pie` should include `*-*-gnu*`, too. + * [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 + *id:"AANLkTinY1Cd4_qO_9euYJN8zev4hdr7_ANpjNG+yGRMn@mail.gmail.com"*, + *id:"20110328225532.GE5293@synopsys.com"*, + *id:"4D52D522.1040804@gmail.com"*. Can simply configure the first GCC with + `--disable-decimal-float`. + + 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 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..0130aceb --- /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 `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_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/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_migrating_threads.mdwn b/open_issues/mach_migrating_threads.mdwn index 5a70aac5..c14ce95a 100644 --- a/open_issues/mach_migrating_threads.mdwn +++ b/open_issues/mach_migrating_threads.mdwn @@ -13,3 +13,5 @@ License|/fdl]]."]]"""]] <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/multithreading.mdwn b/open_issues/multithreading.mdwn index 4309494d..1fc2c318 100644 --- a/open_issues/multithreading.mdwn +++ b/open_issues/multithreading.mdwn @@ -47,7 +47,8 @@ Tom Van Cutsem, 2009. * [[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/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/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/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> |