From 74083dc7ace2c4cc14f1034d2673ff8bea34d419 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 10 Jan 2013 10:38:18 +0100 Subject: open_issues/llvm: llvm 792d08f44e4386ea671c1313cad9dfc9fc853794 (2013-01-09), clang 1d2e1d18ae77b1949a31203ed7001b5817f29b09 (2013-01-09), compiler-rt b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08) --- open_issues/llvm.mdwn | 32 +++++++++++++++++++------------- toolchain/logs | 2 +- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn index ac52b7c8..3ce42281 100644 --- a/open_issues/llvm.mdwn +++ b/open_issues/llvm.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2011, 2012, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -39,10 +40,10 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C --> Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm -llvmf85ec865f0f803273ab38e3b1a19fe185c7e88ac (2012-12-23), clang -debc018be39668db5cefb6418cd210aa716d6e7a (2012-12-23), compiler-rt -cab6133c5d7478e96882cb54467e29b3716c0d89 (2012-12-23), test-suite -1451ba86fc87d067ed3d244352e4025a8134b0a7 (2012-12-23). +7bf2e1b9ef797fda5de53956a1d2aea900ce794f (2013-01-09), clang +35eb8c3e12cac22f91d1cd4c74ae092ebc94fc40 (2013-01-09), compiler-rt +b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite +a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08). * Configure fragments that have `*linux*` cases might/should often contain those for us (and GNU/k*BSD) as well. @@ -61,10 +62,10 @@ cab6133c5d7478e96882cb54467e29b3716c0d89 (2012-12-23), test-suite Here's a log of a LLVM build run; this is from our [[Git repository's sources|source_repositories/llvm]], llvm -llvmf85ec865f0f803273ab38e3b1a19fe185c7e88ac (2012-12-23), clang -debc018be39668db5cefb6418cd210aa716d6e7a (2012-12-23), compiler-rt -cab6133c5d7478e96882cb54467e29b3716c0d89 (2012-12-23), test-suite -1451ba86fc87d067ed3d244352e4025a8134b0a7 (2012-12-23), run on kepler.SCHWINGE +792d08f44e4386ea671c1313cad9dfc9fc853794 (2013-01-09), clang +1d2e1d18ae77b1949a31203ed7001b5817f29b09 (2013-01-09), compiler-rt +b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite +a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08), run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -79,9 +80,14 @@ harmonized. Passing `--enable-debug-symbols`, the GNU/Hurd build terminates with a SIGBUS when linking `Release+Debug+Asserts/bin/clang` (which is bigger than 500 MiB -for the corresponding GNU/Linux build). - -This takes up around 3 GiB, and needs roughly 1.75 h on kepler.SCHWINGE and +for the corresponding GNU/Linux build). Using `--enable-debug-symbols +--enable-shared`, the GNU/Hurd build hang after `make[1]: Leaving directory +[...]/tools/llvm-shlib`, after (successfully) linking +`Release+Debug+Asserts/lib/libLLVM-3.3svn.so` (which is bigger than 250 MiB for +the corresponding GNU/Linux build). Also there is a separate +`--enable-debug-runtime`. + +This takes up around 3 GiB, and needs roughly 1.25 h on kepler.SCHWINGE and 4.25 h on coulomb.SCHWINGE. +Defunct GNU/Hurd distributions: -# Issues - -
[[SoftwareLicensing]]
-
The copyright and license information for software that is distributed with the Hurd software is important. Debian has its DFSG guidelines. Other distributions will need to address these same issues.
- -[[GnuDebianRelationship]] - - -## Installation - -
-
Install Instructions
-
Currently, Debian's installation instructions are the most up-to-date. [[Hurd/InstallNotes]] is an errata companion document with more helpful hints that have not yet been incorporated.
-
- -
-
[[CrossInstall]]
-
Another way to install a system.
-
- -
-
Release Information
-
About the latest CD release. Includes errata, known bugs and fixes. See [[CDNotesHome]] and [[TarballNotesHome]] for summaries
-
- -
-
[[GRUB]]
-
A quick reference and explanation.
-
- -
-
[[InstallTips]]
-
Info on how to install without a cd drive or linux installed as well as a few tips.
-
- -Another installation method is using an emulated environment. The [[BochsEmulator]] was originally the recommended virtual machine solution, however most have switched over to QEMU, as it runs faster. - -* [[hurd/running/QEMU]] - A guide on how to use QEMU to run the hurd. -* [[BochsFAQ]] - Common questions you should read. -* [[VmWare]] - Why using it is discouraged. - -
-
Debian Installer
-
Work has been started by James Morrison and Glenn McGrath to [[PortDebootstrap]]. There is also a [[NewDebianInstaller]]. Why should Hurd folks care? It's important because this is the next generation installer that is intended to be used by all ports when Sarge is released.
-
+ * Bee GNU/Hurd. Castellano distribution, pkgsrc package based. # Using @@ -81,69 +35,8 @@ about getting applications to work (if possible).
What does it take to move a piece of Debian packaged software to the GNU/Hurd port?
-
-
[[BuildingTheHurd]]
-
A summary by the Gentoo folks, thanks Jon Portnoy - avenj@gentooNOSPAM.org
-
- -
-
Debian Infrastructure
-
Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[debian/patch_submission]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd & turtle efforts.
-
- -
-
Uninstallable packages
-
Many packages depend on these uninstallable packages. So building one of them will allow other to be build too.
-
- -
-
Technical References
-
There are many standards and documents that might be applicable for those interested in developing software.
-
- -* GNU [Coding Standards](http://www.gnu.org/prep/standards.html) -* [[TestSuites]] - Posix, Perl, results feedback, etc. -* [[Documentation]] -* [[System_API_Limitations]] -* [[CodeAnnouncements]] - Recent coding projects related to the Hurd - -
-
Debian Developer's Corner
-
The following references are provided as a starting point for those interested in helping to package software for Debian GNU/Hurd and Debian GNU/Linux.
-
- -* [Policy Manual](http://www.debian.org/doc/debian-policy/) -* Developer's [Reference](http://www.debian.org/doc/developers-reference/) -* New Maintainers [Guide](http://www.debian.org/doc/maint-guide/) -* There are many Debian email lists - -
-
Debian Todo
-
Packages needing attention. A possible use of this site could be to help track similar needs via [[HurdWnpp]]. This is not yet implemented.
-
- -
-
[[GnuDistributionRumors]]
-
There are some discussions and several rumors circulating about creating a completely new distribution, not using a Debian architecture.
-
# Misc. -
-
Why a separate section of the website for this?
-
There are fundamentally different issues about distributions compared with coding. Distributions are concerned with final default configurations of packaged software and system integration as they use many software packages and help give users a sense of using an OS "product."
-
- -
-
[[WhyDebian]]
-
A one page document focused on Debian aimed at users to answer their question "Why Debian?"
-
- -
-
[[DebianProductSheet]]
-
Technical description of Debian aimed at those interested in Debian.
-
- -* [Misc. Docs @Etherhogz](http://www.etherhogz.org/doc/) (broken) * [Ognyan Kulev Collection](http://debian.fmi.uni-sofia.bg/~ogi/hurd/links/index.html) of links (unsupported) * [2000 Jim Franklin Collection](http://angg.twu.net/the_hurd_links.html) of links diff --git a/hurd/translator/ext2fs/hurd-specific_extensions.mdwn b/hurd/translator/ext2fs/hurd-specific_extensions.mdwn index 774f1cf3..0a1380da 100644 --- a/hurd/translator/ext2fs/hurd-specific_extensions.mdwn +++ b/hurd/translator/ext2fs/hurd-specific_extensions.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -21,3 +21,13 @@ License|/fdl]]."]]"""]] well, also a fourth set of permission bits, and an "author" field right both very obscure features that better never existed... + +The fourth set of permission bits is for unknown users. + +In order to take advantage of these features, the owner/creator of the +partition must be set to *hurd*. `mke2fs`, unless specifically overridden on +the command line (`-o hurd`, for example), will set the default to whatever +system it is running on. At least the root filesystem must be of *hurd* type, +as it has to store various passive translator settings. Even if a file system +is not of the native type, others may still use it; they just may not be able +to use certain extensions. diff --git a/index/discussion.mdwn b/index/discussion.mdwn index f369ed35..4ac16414 100644 --- a/index/discussion.mdwn +++ b/index/discussion.mdwn @@ -1,12 +1,14 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + # TODO @@ -23,47 +25,7 @@ I would like to see the contributions page modified to include hardware needed, and proabably make links to that on w.d.o - tschwinge: also a top-level "How can I help Hurd development" paragraph would be nice - - -we have "how to set-up Hurd consoles" and "how to set up Xorg in Hurd" but we do not have any -general after-installation problems page e.g. networking problem, upgrade problem. later -with that information we can make a page named: Technical FAQs. --[[arnuld]] - - -I'd like an RSS or Atom feed of the changes to the Wiki. Is there a way that there could be one? -- ThomasThurman - -> I'm discussing this with upstream. It is not as trivial as one might think, -> as it -- I suppose -- means rendering the RecentChanges page to static HTML, -> but I also don't see why it shouldn't be possible. --[[tschwinge]] - ->> This has now been done, see [[recent_changes]]. --[[tschwinge]] - -> Upstream, Joey Hess, says that the RecentChanges page *is not static for -> speed reasons mostly*. What we can do -- which is also what [[ikiwiki]] [is -> doing](http://ikiwiki.info/download/) -- is that *commits to this git -> repository are fed into [CIA](http://cia.vc/), and can be browsed, subscribed -> to etc on its [project page](http://cia.vc/stats/project/ikiwiki)*. I'll try -> to take care about that. --[[tschwinge]] - - ## How to Rearrange [[Hurd]] and [[Distrib]] are a messy conglomeration of everything and should be cleaned and re-ordered. --[[tschwinge]] - - -The three of [[Xfree86]], [[DebianX]], [[DebianXorg]] should be merged into -one. - - - tschwinge: maybe we should discuss wiki page naming policies WRT Debian - I'd rather have something like /Debian, /DebianInstall, /DebianFAQ, /DebianInstallCrosshurd etc. - than the current distrib - - -What to do with [[GNU]]? --[[tschwinge]] - - -Someone could work on getting us some nice style-sheets; see [[local.css]]. ---[[tschwinge]] diff --git a/open_issues/some_todo_list.mdwn b/open_issues/some_todo_list.mdwn index 1f6f5002..82822a29 100644 --- a/open_issues/some_todo_list.mdwn +++ b/open_issues/some_todo_list.mdwn @@ -1,13 +1,13 @@ -[[!meta copyright="Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] @@ -23,8 +23,6 @@ The tools provided by the psmisc package are linux centric. Killall and pstree, * unionfs/stowfs * supermount translator -Related: [[KnownHurdLimits]] - From Marcus, 2002: * xkb driver for console (for international users) diff --git a/qemu.mdwn b/qemu.mdwn index d7cea5ad..cc85ee10 100644 --- a/qemu.mdwn +++ b/qemu.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2005, 2007, 2008, 2009, 2010 Free Software +[[!meta copyright="Copyright © 2005, 2007, 2008, 2009, 2010, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -11,7 +11,7 @@ License|/fdl]]."]]"""]] QEMU is free software written by Fabrice Bellard that implements a fast processor [[emulator|emulation]], allowing a user to run one operating system -within another one. It is similar to projects such as [[Bochs]] and VMware +within another one. It is similar to projects such as Bochs and VMware Workstation, but has several features these lack, including increased speed and support for multiple architectures. By using dynamic translation it achieves a reasonable speed while being easy to port on new host CPUs. diff --git a/unsorted/BochsEmulator.mdwn b/unsorted/BochsEmulator.mdwn deleted file mode 100644 index 8c9f5cfe..00000000 --- a/unsorted/BochsEmulator.mdwn +++ /dev/null @@ -1,20 +0,0 @@ -# Bochs IA-32/x86-64 Emulator - -[Bochs](http://bochs.sf.net) is a very cool emulator, similar to Plex86 and the commercial product [[VmWare]] which virtualizes the PC hardware. However, Bochs does not virtualize, it _emulates_ the IA32 on the instruction level. It's currently the best alternative if you want to take the Hurd for a quick test drive without needing to repartition your hard drive or read complicated installation manuals. - -* [Debian package](http://packages.qa.debian.org/bochs) - -Note that Bochs is quite slow, so installing GNU inside its virtual machine will probably take you a lot of time. There are several pre-installed bochs images available. - -## Images - -* The Bochs project hosts a [preinstalled GNU image](http://sourceforge.net/project/showfiles.php?group_id=12580). It has network, Xfree86 and the console server installed and configured (X has some problems though). If you want to try it out, please read the [[BochsFAQ]] for setting up a GNU guest first. -* [Another 2GB image](http://www.gnuhurd.org/) distributed in rar format without apologies. -* Bee has a [bochs version](http://bee.es.gnu.org/) of it's distribution - -## Articles - -* [Bruno Bonfils wrote an article.](http://www.asyd.net/docs/hurd/bochs-hurd.html) -* [Julien PUYDT wrote another article on setting up Hurd in Bochs.](http://lists.debian.org/debian-hurd/2003/debian-hurd-200303/msg00065.html) - * [Lucas Nussbaum added some details.](http://lists.debian.org/debian-hurd/2004/debian-hurd-200401/msg00078.html) -* [Marcus Brinkmann shares his experience in running GNU/Hurd on Bochs](http://lists.debian.org/debian-hurd/2004/debian-hurd-200402/msg00057.html). He [mentions qemu](http://lists.debian.org/debian-hurd/2004/debian-hurd-200402/msg00059.html) too, and [PUYDT Julien suggests using /dev/loop0.](http://lists.debian.org/debian-hurd/2004/debian-hurd-200402/msg00064.html) diff --git a/unsorted/BochsFAQ.mdwn b/unsorted/BochsFAQ.mdwn deleted file mode 100644 index 474bbed5..00000000 --- a/unsorted/BochsFAQ.mdwn +++ /dev/null @@ -1,83 +0,0 @@ -# GNU pre0.3-J2 for Bochs mini-FAQ - ----- - -## What do you mean "GNU", the GNU Hurd? - -Yes and no. See - -## Where are...? - -Latest version of this FAQ: [[Distrib/BochsFAQ]] - -Latest GNU image for Bochs: [http://sourceforge.net/project/showfiles.php?group\_id=12580](http://sourceforge.net/project/showfiles.php?group_id=12580) - -## Disk line for .bochsrc? - -for Bochs 2.0 or later: - - ata0-master: type=disk, path="gnu.img", cylinders=1024, heads=16, spt=63 - -for older versions: - - diskc: file="gnu.img", cyl=1024, heads=16, spt=63 - -## My PATH and prompt are weird, and X clients fail - -The profile is not loaded properly, do it manually with `". /etc/profile"` - -## How can i change terminals? - -The Mach default console lack have multi-terminal capability, and up 'til recently we recommended the "screen" program. However, the new console server is installed and configured with 6 terminals. You can launch it with the ncursesw driver: - - console -d ncursesw /dev/vcs - -Switching is done via `C-w 1` (or 2, 3, ...). you can exit it with `C-w x` - -See the original posting to debian-hurd, , or [[Hurd/HurdConsole]] for more details. - -**_IMPORTANT:_** Note that X doesn't work well while running the console server. - -## Does X work? - -Somewhat: - -* DRI and speedo modules won't load so they're deactivated. -* The VESA driver also failed so VGA is being used. -* more than 8 bpp won't work. -* for some weird reason the mouse server in `/dev/mouse` doesn't respond, so the mouse is inoperative. -* GNU is still an unstable OS which makes X crash often on it. - -To reconfigure it, see Distrib.Xfree86, or: - - dpkg-reconfigure xserver-xfree86 - -then apply a patch to fix the mouse section: - - patch /etc/X11/XF86config-4 /root/XF86Config-4.diff - -Installed clients are blackbox window manager and rxvt terminal emulator. - -## Is network configured? - -Yes, to change parameters use: - - settrans -apfg /servers/socket/2 /hurd/pfinet [options to pfinet] - -See `/hurd/pfinet --help` for details, or the [[Hurd/GetNetworkRunning]] topic. - -## How do i mount stuff? - - settrans -afg /hurd/ - -Where `node` is your mount point and `translator` is the filesystem server. Add `-p` to settrans if you want it to stay over reboots (fstab-like) - -## Anything neat to try? - -Yes! instead of `"su"` use `"sush"`, a more flexible version that manages multiple UIDs. - -You can also play with userspace filesystems for NFS and FTP in `/hurd/{nfs,ftpfs}` that you can run as user, debug with GDB, etc. - -## More questions? - -Read the FAQ () for a general overview on the GNU system. diff --git a/unsorted/CrossHurd.mdwn b/unsorted/CrossHurd.mdwn index d33d2a00..08e03c1f 100644 --- a/unsorted/CrossHurd.mdwn +++ b/unsorted/CrossHurd.mdwn @@ -47,8 +47,6 @@ The first two runs (reboots) you must run the Hurd in single-user mode! -T typed ${root} $(task-create) $(task-resume) module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) -The notation of Grub, and of the Hurd, can be somewhat bisarre on first sight. Consult the [[InstallNotes]] document and the Grub manual for a thorough explanation. - N.B. the '-s' on the kernel line, it is "single user mode", which you need for the first two reboots. OK, reboot now. @@ -94,6 +92,5 @@ Move around just like in Linux console, but with persistent scroll-back buffers ## References -* [[InstallNotes]] * [[Network]] * [[Console]] diff --git a/unsorted/DebianX.mdwn b/unsorted/DebianX.mdwn deleted file mode 100644 index 6d65a140..00000000 --- a/unsorted/DebianX.mdwn +++ /dev/null @@ -1,116 +0,0 @@ -# Setting up X on Debian GNU/Hurd - -This is a brief helper on how to setup X-Windows on Debian GNU/Hurd. - -Obviously this text is taken from the page but I was making such drastic changes, I didn't want to hack up that page. - -### Mouse & Keyboard - -See [[console]] for more details. - -You should instruct the Hurd console to repeat keyboard events to `/dev/cons/kbd`, and mouse events to `/dev/cons/mouse`: - - # console -d vga -d pc_kbd --repeat=kbd \ - -d pc_mouse --repeat=mouse --protocol=ps/2 -c /dev/cons /dev/vcs - -Symbolic links to repeaters should also be created: - - # ln -s /dev/cons/kbd /dev/kbd - # ln -s /dev/cons/mouse /dev/mouse - -### Selecting & Configuring Packages - -You will need several X packages. The `x-window-system-core` brings you most of what you need: - -* `xserver-xfree86` -* `xfonts-base` -* `xfonts-100dpi` -* `xfonts-75dpi` -* `xfonts-scalable` -* `xbase-clients` -* `xutils` -* `rxvt` -* ... as well as your window manager of choice: - * WindowMaker, `wmaker` - * FVWM, `fvwm` - * Blackbox, `blackbox` - * TWM, `twm` - -I know that twm and Window Maker work, however, I cannot attest to the other two. Also, Michael Banck has a working package for xfce4 for those of you that are interested. The link for the package is here: - - deb http://people.debian.org/~mbanck/hurd-xfce4/ ./ - -Thanks for that Michael!! - -You will probably need to create a .xsession file for xfce4 with the following command: - - exec /usr/bin/startxfce4 || exec xterm - -This will start the xfce4 desktop or dump to xterm if it fails to start. - -The recommended way of configuring X is using the `xserver-xfree86` debconf template, eg: - - # dpkg-reconfigure xserver-xfree86 - -It may be easier to just copy a working configuration from another operating system on the same computer and place it in `/etc/X11/XF86Config-4`, but this is discouraged as you would have to remove some sections by hand. - -**_IMPORTANT:_** when you configure X, make sure you do **NOT** enable the `speedo` and `dri` modules because they are currently broken. - -**_UPDATE 12/28/2004:_** Speedo is working on mine and is currently running. I do not have DRI enabled however. - -### Edit XF86Config-4 - -Now you have to edit the file manually to ensure that the mouse sections look like this: - - Section "InputDevice" - Identifier "Configured Mouse" - Driver "mouse" - Option "CorePointer" - Option "Device" "/dev/mouse" - Option "Protocol" "osmouse" - EndSection - - Section "InputDevice" - Identifier "Generic Mouse" - Driver "mouse" - Option "SendCoreEvents" "true" - Option "Device" "/dev/mouse" - Option "Protocol" "osmouse" - EndSection - -You may also enable the Emulate3Buttons option, but nothing else will work. - - Option "Emulate3Buttons" "true" - -**_WARNING:_** I cannot verify as of yet whether it was the "Emulate3Buttons" setting or the "ZAxisMapping" setting but I had to disable both in order to be able to move and resize windows. - -### Starting X - -Finally, run `startx` - -However, there are several caveats to be aware of: - -* `xterm` does not work correctly; try `rxvt`. - -**_UPDATE 12/28/2004_**: xterm works fine for me. - -* `update-menu` does not yet work. As such, there are no fine Debian menus. -* GNOME can now be ported with the new pthreads, but is still being worked on. Window Maker, TWM, Blackbox and FVWM all work. - -**_WARNING:_** If you get an error about opening the display or a permissions issue, you may need to run the following: - - # dpkg-reconfigure xserver-common - -change from "Console Users Only" to "Anybody" - -### Miscellaneous - -The dillo web browser does work, though it is not the greatest browser. - -For you xchat lovers like me, xchat will compile if you disable the python module. (The python module causes an assertion failure in pthreads if one of you guru's wants to fix and package. **hint,hint**) - -Good luck and enjoy! - ----- - --- [[Main/BarryDeFreese]] - 28 Dec 2004 diff --git a/unsorted/DebianXorg.mdwn b/unsorted/DebianXorg.mdwn deleted file mode 100644 index a1d77903..00000000 --- a/unsorted/DebianXorg.mdwn +++ /dev/null @@ -1,193 +0,0 @@ -# Setting up Xorg on Debian GNU/Hurd - -This is a brief helper on how to setup Xorg on Debian GNU/Hurd. - -Obviously this text is taken from the page but I was making such drastic changes, I didn't want to hack up that page. - -### Mouse & Keyboard - -See [[console]] for more details. - -You should instruct the Hurd console to repeat keyboard events to `/dev/cons/kbd`, and mouse events to `/dev/cons/mouse`: - - # console -d vga -d pc_kbd --repeat=kbd -d generic_speaker \ - -d pc_mouse --repeat=mouse --protocol=ps/2 -c /dev/vcs - -Symbolic links to repeaters should also be created: - - # ln -s /dev/cons/kbd /dev/kbd - # ln -s /dev/cons/mouse /dev/mouse - -### Selecting & Configuring Packages - -The `x-window-system-core` package brings you most of what you need for a base, plus you need to choose a window manager: - -* WindowMaker, `wmaker` -* FVWM, `fvwm` -* Blackbox, `blackbox` -* TWM, `twm` - -I know that Window Maker works, however, I cannot attest to the others. xfce4 might be temporarily broken. - -The recommended way of configuring X is using the `xserver-xorg` debconf template, eg: - - # dpkg-reconfigure xserver-xorg - -This currently seems to be broken in the Debian package so it may be easier to just copy a working configuration from another operating system on the same computer and place it in `/etc/X11/xorg.conf`. You need to edit the mouse settings by hand according to the below example, though. - -**_IMPORTANT:_** when you configure X, make sure you do **NOT** enable the `speedo` and `dri` modules because they are currently broken. - -**BDd: I cannot attest to this currently.** - -### Edit xorg.conf - -If you managed to get an xorg.conf autogenerated, make sure to have the mouse section read as follows: - - Section "InputDevice" - Identifier "Configured Mouse" - Driver "mouse" - Option "CorePointer" - Option "Device" "/dev/mouse" - Option "Protocol" "osmouse" - EndSection - -Do not set the "Emulate3Button" or "ZAxisMapping" options, they do not work and break things. - -Here is an example of an xorg.conf using VESA at 800x600 that works on my Dell laptop: - - # /etc/X11/xorg.conf (xorg X Window System server configuration file) - # - # This file was generated by dexconf, the Debian X Configuration tool, using - # values from the debconf database. - # - # Edit this file with caution, and see the /etc/X11/xorg.conf manual page. - # (Type "man /etc/X11/xorg.conf" at the shell prompt.) - # - # This file is automatically updated on xserver-xorg package upgrades *only* - # if it has not been modified since the last upgrade of the xserver-xorg - # package. - # - # If you have edited this file but would like it to be automatically updated - # again, run the following command: - # sudo dpkg-reconfigure -phigh xserver-xorg - - Section "Files" - FontPath "/usr/share/X11/fonts/misc" - FontPath "/usr/share/X11/fonts/cyrillic" - FontPath "/usr/share/X11/fonts/100dpi/:unscaled" - FontPath "/usr/share/X11/fonts/75dpi/:unscaled" - FontPath "/usr/share/X11/fonts/Type1" - FontPath "/usr/share/X11/fonts/CID" - FontPath "/usr/share/X11/fonts/100dpi" - FontPath "/usr/share/X11/fonts/75dpi" - # paths to defoma fonts - FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" - FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID" - EndSection - - Section "Module" - Load "GLcore" - Load "i2c" - Load "bitmap" - Load "ddc" - Load "extmod" - Load "freetype" - Load "glx" - Load "int10" - Load "type1" - Load "vbe" - EndSection - - Section "InputDevice" - Identifier "Generic Keyboard" - Driver "kbd" - Option "CoreKeyboard" - Option "XkbRules" "xorg" - Option "XkbModel" "pc104" - Option "XkbLayout" "us" - EndSection - - Section "InputDevice" - Identifier "Configured Mouse" - Driver "mouse" - Option "CorePointer" - Option "Device" "/dev/mouse" - Option "Protocol" "osmouse" - EndSection - - Section "InputDevice" - Identifier "Synaptics Touchpad" - Driver "synaptics" - Option "SendCoreEvents" "true" - Option "Device" "/dev/psaux" - Option "Protocol" "auto-dev" - Option "HorizScrollDelta" "0" - EndSection - - Section "Device" - Identifier "Videocard0" - Driver "vesa" - EndSection - - Section "Monitor" - Identifier "Monitor0" - VendorName "Dell" - HorizSync 31.5 - 90.0 - VertRefresh 59.0 - 85.0 - Option "DPMS" - EndSection - - Section "Screen" - Identifier "Screen0" - Device "Videocard0" - Monitor "Monitor0" - DefaultDepth 24 - SubSection "Display" - Depth 1 - Modes "800x600" - EndSubSection - SubSection "Display" - Depth 4 - Modes "800x600" - EndSubSection - SubSection "Display" - Depth 8 - Modes "800x600" - EndSubSection - SubSection "Display" - Depth 15 - Modes "800x600" - EndSubSection - SubSection "Display" - Depth 16 - Modes "800x600" - EndSubSection - SubSection "Display" - Depth 24 - Modes "800x600" - EndSubSection - EndSection - - Section "DRI" - Mode 0666 - EndSection - -### Starting X - -Finally, run `startx` - -However, there are several caveats to be aware of: - -* `update-menu` does not yet work. As such, there are no fine Debian menus. - -**_WARNING:_** If you get an error about opening the display or a permissions issue, you may need to run the following: - - # dpkg-reconfigure x11-common - -change from "Console Users Only" to "Anybody" - -Good luck and enjoy! - ----- - --- [[Main/BarryDeFreese]] - 02 Mar 2006 diff --git a/unsorted/InstallNotes.mdwn b/unsorted/InstallNotes.mdwn deleted file mode 100644 index f3ac58d1..00000000 --- a/unsorted/InstallNotes.mdwn +++ /dev/null @@ -1,291 +0,0 @@ -Items of interest during install not mentioned elsewhere include the following. Arranged in the same order as Neal Walfield's [install guide](http://web.walfield.org/papers/hurd-installation-guide/english/hurd-install-guide.html) - (link is currently broken - see below for current instructions). - -**_Currently, [Debian's installation instructions](http://www.debian.org/ports/hurd/hurd-install) are the most up-to-date._**
Note the mirrors mentioned on debian.org have no hurd iso's. The iso's can be found [Here](http://ftp.gnuab.org/pub/gnu.iso) - -## 1. Overview - Where we are going - -There are currently four methods to install GNU - -1. Tarball - The current documentation, for the tarball method, are [Debian's installation instructions](http://www.debian.org/ports/hurd/hurd-install), based on the original guide by Neal Walfield. The GNU official [installation page](http://www.gnu.org/software/hurd/install.html) is the canonical reference. See [[Distrib/TarballNotesHome]] for more info. -2. [[Distrib/BochsEmulator]] is an x86 emulator similar to the propietary [[Distrib/VmWare]] (which is not supported). See the [[Distrib/BochsEmulator]] page for more info. The Bochs project hosts a preinstalled GNU image that is periodicaly updated. You can get the latest one [here](http://sourceforge.net/project/showfiles.php?group_id=12580). -3. [CD-ROM iso images](http://www.debian.org/ports/hurd/hurd-cd) CD-ROM installs are becoming more and more popular. The CDs are based on the most current tarball at release time. See [[Distrib/CDNotesHome]] for more info. -4. The [crosshurd](http://packages.debian.org/crosshurd/) Debian package, which can be used instead of a tarball to install the base system. This is the recommended way to proceed. - -* References to a `cross-install` script can nowadays be completely ignored by anyone not a maintainer. It is only used when creating a new tarball. - -## 2. Real Estate or Finding A Home - -For those who do not happen to have an available partition or an extra hard drive, this can be the longest step. In this case, we will need to repartition the hard drive. One solution is to use GNU's partition editor, Parted. It features not only basic partition editing, but also partition resizing and moving functions. It can be found at . The manual is quite complete and includes several tutorials. Also there's a frontend called [nparted](http://packages.debian.org/unstable/utils/nparted.html) to simplify usage. - -The Hurd can only support partition sizes of up to approximately one gigabyte; anything much larger than this will not work. This limitation is a design decision that was made several years ago in which the file system server maps the entire partition into virtual memory. As the amount of virtual memory available on an ia32 is only four gigabytes of which only two gigabytes are available to the application and, of that, a significant portion is reserved for the code, the stack and the heap, the final, maximum contiguous virtual memory area that is left is generally about one gigabyte. This limitation is scheduled to be remove. Several other items, however, currently have a slightly higher priority. - -Having said that, a single one gigabyte partition is more than enough for a working system. Many, however, prefer at least two partitions: one for a root partition and another for a home partition. This latter scheme is highly advised for developers interested in debugging Hurd servers. - -The Hurd supports several extensions to the ext2fs file system format. Foremost among these are passive translators and a fourth set of permission bits for unknown users. In order to take advantage of these features, however, the owner of the partition must be set to Hurd. `mke2fs`, unless specifically overridden on the command line, will set the owner to whatever system core it is running on. As the Hurd will diligently respect this setting, we must be careful to set this appropriately or the Hurd may fail in subtle ways. Be aware that even if a file system is owned by a particular system core, others may still use it; they just may not be able to use certain extensions. - -To create a file system, we use `mke2fs` and pass it `-o hurd` to designate the Hurd as the owner of the new file system. For instance: - - mke2fs -o hurd /dev/DEVICE - -**_Note:_** You may wish to add a `-b 4096` option to `mke2fs` (the default is chosen depending on the size of the partition, and the support for block size 1024 is buggy). The command to check the block size is `tune2fs -l /dev/hda9` under GNU/Linux. - -## 3. The Boot Loader - Getting GRUB - -GRUB is the bootloader of the GNU system, and it's currently the only one that supports the multiboot standard, necessary to boot the Hurd. - -A word about GRUB. Unlike traditional boot loaders on the x86, such as LILO, GRUB is very powerful. It has a command line interface, bootp, dummy terminal support and a plethora of other features. In addition, it can boot most any operating system. If you have ever booted an alpha or sparc, you will understand what GRUB can do. Therefore, do not be scared: GRUB is better. You will like it. You will not go back. - -To find GRUB, visit . Here, there is a source tarball and a floppy image. If you choose to download the tarball, it is a normal configure, make and make install. Included is a wonderfully complete manual on how GRUB works. Read it. If, on the other hand, you choose to download the floppy image, it is sufficient to dump it to a floppy disk to get a working GRUB: - - dd if=grub-boot-VERSION.image of=/dev/fd0 - -You can always install GRUB onto your hard drive at a later date. - -For instructions on using GRUB, see either the info documentation or the quick reference notes on this wiki: - -* [[GRUB]] - quick reference - -## 4. Cross Install - Cross Installing GNU - -The recommended way to cross install the Hurd is by using the [crosshurd](http://packages.debian.org/crosshurd) Debian package. Unfortunately, it's broken right now (2003-10-10), so you'll have to use the old tarball method. - -Download the base system `gnu.tar.gz` from . - -The tarball is setup to extract everything into the current directory. After mounting the partition and changing to the mount point, we just need to extract the archive. In the following example, we assume that the root partition is mounted on `/gnu`. - - cd /gnu - tar --same-owner -xvzpf ~/gnu.tar.gz - -**_NOTE:_** This should NOT be confused with the `cross-install` script method. It is only used by maintainers when creating a new tarball. - -## 5. Booting GNU - -Now things are setup to boot GNU for the first time. Verify that the GRUB boot disk is in the drive and reboot. If all goes well, a GRUB menu will be displayed. Hit c for the GRUB command line. - -First, the root file system needs to be set. GRUB uses a partition nomenclature that is a bit different from either GNU or GNU/Linux: both IDE and SCSI drives are named `(hdN)`. `N` is the drive number (zero based) as reported by the BIOS. That is, GRUB makes no distinction between IDE and SCSI disks. The partitions, like the disks, are also indexed numerically from zero: `(hdN,M)`. If this sounds bad, relax: GRUB is also helpful. - -To determine on which file system a particular file resides, one method is to use the find command. When issued this command, GRUB searches on each file system for the specified file and prints where is was found. Here we search for the kernel, `/boot/gnumach.gz`. - - grub> find /boot/gnumach.gz - (hd0,0) - -As we can see, GRUB is indicating that `/boot/gnumach.gz` is on `(hd0,0)`. Thus, we set the root respectively: - - grub> root (hd0,0) - Filesystem type is ext2fs, partition type 0x83 - -Next, GNU Mach needs to be loaded. In addition to loading the binary, at least one option, the root partition, must be specified. This will be used by the Hurd itself. As such, it must be in terms that the Hurd can understand. - -GNU Mach labels disks starting at zero. IDE drives are prefixed with hd, while SCSI disks are prefixed with sd. Like GNU/Linux, drives are number by their position on the controller. For instance, the primary master is `hd0` and the secondary slave is `hd3`. Partitions use the BSD slice naming convention, and append `sM` to the drive name to indicate a given partition. Note that `M` is a one, not zero, based index. The slice number is simple to calculate: just increment what you used for GRUB by one. - -Since the Hurd has not yet been configured, it must be run in single user mode. Adding a `-s` to the kernel command line is all that is required. - -Thus, continuing with the above example and assuming that the first drive in the master on the secondary controller, we would have: - - grub> kernel /boot/gnumach.gz root=device:hd2s1 -s - [Multiboot-elf, ...] - -NOTE: If after running this command you see GRUB Error 28, according to the [GRUB Troubleshooting](http://www.gnu.org/software/grub/manual/grub.html#Troubleshooting) documentation, you may need to tell grub that you have more memory by using the uppermem command. For example, if you have 256MB of RAM and running **displaymem** within GRUB shows that you have less memory than that, you can type **uppermem 262144** to tell GRUB about the additional memory. - -Next, the root file system server and the exec server must be loaded. This is done using GRUB's boot module capability. The parameters are the semantics by which the kernel passes some important values to the servers. - - grub> module /hurd/ext2fs.static \ - --multiboot-command-line=${kernel-command-line} \ - --host-priv-port=${host-port} \ - --device-master-port=${device-port} \ - --exec-server-task=${exec-task} -T typed ${root} \ - $(task-create) $(task-resume) - - [Multiboot-module 0x1c4000, 0x2cfe6a bytes] - grub> module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - [Multiboot-module 0x494000, 0x27afe bytes] - -**_Important:_** each module string should be asingle separate line _or_ line wrapped with a backslash at the end of each line. Remember to make sure there are **_no trailing spaces!_** Adding this to GRUB's `menu.lst` file as soon as possible is advised. - -Finally, GNU can be booted: - - grub> boot - -Sit back and watch the messages. This is actually more important than one might think as there is a bug in GNU Mach whereby hitting a key during the boot process causes the kernel to panic. - -If GNU fails to boot, it could be due to shared IRQs: GNU Mach does not play well with these. You can verify your situation by looking at, for instance, the `/proc/interrupts` file under GNU/Linux. Also, as GNU Mach does not support loadable kernel modules, many of the drivers are compiled into the default kernel. If you have old peripherals, this can be a significant problem: a device may respond badly to a probe intended for a different device. Building a new kernel with only the required devices drivers will usually solve this problem. GNU Mach is easily cross compiled. If you are running Debian, try the `gcc-i386-gnu` package. - -If this does not help, explore the resources listed at the end of this document. Finally, ask on the appropriate mailing list. - -There are some cavaets to the boot process: - -* **IMPORTANT!** Remember when first booting into your freshly un-tarred distribution, you must pass the `-s` option to `/boot/gnumach.gz`. Failure to do so means that you won't get single-user mode. -* **IMPORTANT2!** Add the `--readonly` flag to the file system server in your GRUB `menu.lst` file. This is a work-around to get `fsck` working properly. Don't forget, everything must be on ONE line, or ended with a backslash! -* **IMPORTANT3!** If you have created the filesystem with a later version of e2fsprogs than the one installed in the tarball, it **might** happen that fsck fails and you can't boot multiuser. The workaround is to copy `/bin/true` into `/sbin/e2fsck` and `/sbin/fsck.ext2`, then boot multiuser and install the latest e2fsprogs. - - title GNU (kernel GNUmach 1.3) - root (hdX,Y) - kernel /boot/gnumach.gz root=device:hdXs(Y+1) - module /hurd/ext2fs.static --readonly \ - --multiboot-command-line=${kernel-command-line} \ - --host-priv-port=${host-port} \ - --device-master-port=${device-port} \ - --exec-server-task=${exec-task} \ - -T typed ${root} $(task-create) $(task-resume) - module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - -Where `hdX,Y` is the appropriate hard disk and partition number, in GRUB format. `hdXs(Y+1)` is the GNUmach format - because Mach partitions start at 1, unlike GRUB partitions that start on 0 (zero). - -It is important that each module string is only a single separate line, or by escaping the EOL (end of line) with a back slash. Remember though to make sure there are **_no trailing spaces!_** - -**_GRUB floppy and iso images:_** These are available from . These have been built with the correct strings and only the root and boot partitions names need to be editied. - -## 6. Native Install - Finishing the Installation - -Once a prompt comes up, and any time that the the Hurd is in single user mode, it is necessary to set the terminal type: - - export TERM=mach - -(Repeat this each time you boot in single user mode) - -Be warned that CONTROL-C and family will not work in single user mode. - -We can now run the native-install script. This will configure the packages and set up several important translators: - - ./native-install - -Right before the script terminates, it will indicate that it needs to be run a second time. Follow its instructions and reboot using the reboot command. Again, go into single user mode. - -Now it is advisable to enable swap. The mach kernel dislikes running without swap and is unlikely to last through the installation, especially on systems with little physical RAM. Although you can enable swap later on after running `./native-install` for the second time, turning swap on early increases your probability of getting there. - -This will start the default pager, create a device corresponding to the swap partition, and turn swap on on that partition: - - /hurd/mach-defpager - cd /dev - ./MAKEDEV hdXsY - swapon /dev/hdXsY - cd / - -**IMPORTANT!** When enabling swap please be very sure that the partition really is swap. If you point `swapon` to a data partition it will use that for swap, overwriting any data you may have there. - -Now run `./native-install` for the second time and go through a series of prompts. - -Next, edit `/etc/fstab` to add the home partition and swap space. By default, `nano` is the only editor installed by the the base distribution (not `ae` nor `vi`). It is very important that swap space be used: the Hurd will be an order of magnitude more stable. Note that the Hurd can transparently share a swap partition with Linux, the kernel, but will happily page to any device including a raw partition such as your home partition. - -Here is an example `/etc/fstab` file: - - # - /dev/hd2s1 / ext2 rw 0 1 - /dev/hd2s2 /home ext2 rw 0 2 - /dev/hd2s3 none swap sw 0 0 - -Remember to create any devices using the `MAKEDEV` command. - -When you first boot, your `/home` directory will _not_ be auto-mounted. You must set a passive translator on that node to access that partition. The correct syntax for this is:
`settrans -p /home /hurd/ext2fs /dev/hd2s2` - -To mount an nfs partition, use the nfs translator. When run as non-root, the translator will connect, for obvious reasons, to the nfs server on a port above 1024. For this to succeed under GNU/Linux, the insecure option must be added to the export line. Here is an example `/etc/exports` file: - - /home 192.168.1.2(rw,insecure) - -To mount this from a GNU box: - - settrans -cgap /home /hurd/nfs 192.168.1.1:/home - -## 7. Configuration - Making the System Usable - -See [[DebianAfterInstall]] for complete, up to date instructions. - -* After you install, you'll want to do several _important_ things: - * Run `passwd` to give the root user a password. By default, root does not have one. - * Run `adduser` to give yourself a user account. _Do not_ use root indiscriminately. - * Run `MAKEDEV` to create devices in `/dev` for your hard disk and other required devices. - * run `/etc/cron.daily/find` to allow `locate` to function. - -* [[GetNetworkRunning]] - * Hopefully Mach will recognize your hardware. If it doesn't you have to recompile in most cases. - * copy over your `/etc/resolv.conf` from GNU/Linux to allow your DNS to resolve correctly. - -* Prepare system for new packages. - * See [[DebianAfterInstall]] for up to date instruction on how to setup apt-get mirrors. - * There are some extremely useful cross-platform 'apt' tricks that can be used to get packages when using Debian GNU/Linux (possibly others) for installation on GNU. This is especially useful if your GNUMach doesn't recognize your network card. The steps are covered in the file `/usr/share/doc/apt-doc/offline` which has been used by several Hurd developers successfully. - * create an `/etc/apt/apt.conf.offline` like [[AptConfOffline]]. - * consider setting up a few [[CrossPlatformAliases]] for use under Debian GNU/Linux while the Debian GNU/Hurd partitions are mounted. - * select the `apt` method from within dselect. - -* [[Xfree86]] - -* New packages - Hopefully you are able to get your network working but since the default GNUMach is only configured for a few ethernet cards you may need to recompile your GNUMach to get it working with your network hardward. - * Install these extremely useful packages - * `dialog` -- Debconf uses this for interactivity. You should install this first to allow you to configure other packages as they are installed. - * It's a very good idea to bring your packages up to date by running: `apt-get update && apt-get dist-upgrade` - * Some recommended packages - * `screen` -- A terminal multiplexer was important because the Hurd didn't have virtual consoles. Now you can have the [[Hurd/HurdConsole]], but screen is still handy. - * `anacron` -- good to run cron jobs for a machine that is not on all the time. - * `emacs21` -- a powerful editor. - * `cvs` -- Concurrent Version System, you'll probably need this soon. - * `bzip2, zip, unzip` -- compression tools. - * `build-essential` -- preparing to build software. - * `gnu-standards` -- GNU coding and package standards. - -* Some packages use an erroneous dependency on `libc6-dev`. This is incorrect because libc6 is specific to GNU/Linux. The corresponding package for GNU is `libc0.3-dev`. If you find a package that is uninstallable due to a `libc6[-dev]` dependency, please send a bug report with a patch that fixes it. It is important that you don't hack your package system to workaround such problems, because that way you won't be able to spot them when they arrive. See the [[Distrib/PortingIssues]] for details about the problem and [[Distrib/BtsFiling]] for details on sending bug reports. -* Edit your `/etc/inetd.conf` and comment out all the services you don't need. Services that probably don't need to be running are `ftp`, `telnet`, `shell`, `login`, and `exec`. -* There appears to be a bug in `libnss-db` that causes networking to fail. To work around this edit `/etc/nsswitch.conf` and remove the `db` entries. (See ) - -* You may want to check the [[PackageTroubleshooting]] page if you are having trouble installing and making work some Debian packages. - -## 8. Final Words - The FAQ - -* [[FAQ]] - More than frequently asked questions - -* [Hurd FAQ](http://web.walfield.org/papers/hurd-faq/) - -* [[KnownHurdLimits]] - Limitations of the GNU operating system - -## 9. Works Cited - Referenced Materials - -On Sept 20, 2002 [[Main/DeepakGoel]] (a self-proclaimed newbie) posted a link to his personal [step-by-step installation](http://24.197.159.102/~deego/pub/hurd/install-guide/install.txt). The parent directory has additional material. - -Tarball Notes: [[Distrib/TarballNotes20020816]] [[Distrib/TarballNotes20020523]] - -CD-ROM Notes: [[Distrib/CDNotesJ2]] - -Others who wish to post summaries of their installation experiences are encouraged to do so. The installer methods, package dependencies and file locations frequently do change without warning. - ----- - -## Licensing - - This work is based on the hard work by [countless Hurd users](http://web.walfield.org/papers/hurd-installation-guide/THANKS), documented and maintained by Neal H. Walfield. See the original for both reference and its licensing at - -The license for Neals work is under the [GNU GPL](http://web.walfield.org/papers/hurd-installation-guide/COPYING). However, in the Hurd Wiki license all content under the GNU FDL. (Unless the topic is mostly code or otherwise stated in the text.) - -There are currently issues to be resolved around this matter, as far as I understand at least. Until an agreement can be reached this text, and the unclear status of this topic, will remain. The suggestion is to do something like this: - -
-
[[InstallGuide]]
-
Neals Install Guide in its original form
-
[[InstallNotes]]
-
Or [[InstallGuideErrata]] with all user input and additions
-
- -There are several obvious issues with this as I can see - -1. The [[InstallGuide]] must be kept editable by a select few people to avoid the current situation from repeating itself. -2. This loops back and kicks us in the butt because then we get: - 1. Synchronization problems with the original work - 2. Bottle necks: The people with edit access are too busy to synchronize with Neals guide - 3. Diverging guides -3. Annoyed users, we break the tradition of freely editable wiki content and we also have two guides saying different things. - --- [[Main/JoachimNilsson]] - 29 Dec 2002 - -## Blame annotations - - -- [[Main/SimonLaw]] - 29 May 2002
-- [[Main/GrantBow]] - 13 Oct 2002
-- [[Main/JoachimNilsson]] - 14 Nov 2002
-- [[Main/RobertMillan]] - 21 Nov 2002
- -First effort at straightening out the formatting mess ... added references to Neals' original, which this topic has become heavily based on. - --- [[Main/JoachimNilsson]] - 19 Dec 2002
- -Updated to the latest short-comings in the Hurd. - --- [[Main/OgnyanKulev]] - 11 Oct 2003 - --- [[Main/TWikiGuest]] - 07 Dec 2003 () - -Updated iso information diff --git a/unsorted/InstallTips.mdwn b/unsorted/InstallTips.mdwn index 262ec741..46b485ec 100644 --- a/unsorted/InstallTips.mdwn +++ b/unsorted/InstallTips.mdwn @@ -1,5 +1,3 @@ -Before reading these instructions, be sure you are familiar with the [[InstallNotes]]. - ## 1. Setting up the filesystems You will need to boot a linux capable of internet access and creating/mounting ext2 partitions. I recommend [tomsrtbt](http://www.toms.net/rb/) linux which fits nicely onto a floppy and although a bit old will work well. @@ -71,8 +69,6 @@ Now reboot without the floppy, be sure to use the option -s at the end of the gr You should have booted the kernel now, check output to see if it detects your network card. My smc card did not work so I switched to a 3com card. -You are now at step 6 of the [[InstallNotes]]. Follow these instructions to complete the installation. - ## 6. Final notes Be sure to issue @@ -94,8 +90,6 @@ My file is available but it uses a seri ## 7. Works Cited - Referenced Materials -[[InstallNotes]] -- Neal H. Walfield's Install Guide - [Grub Install Guide](http://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-natively.html) [tomsrtbt linux](http://www.toms.net/rb/) a general purpose linux distribution on 1 floppy. diff --git a/unsorted/KnownHurdLimits.mdwn b/unsorted/KnownHurdLimits.mdwn deleted file mode 100644 index 4e7b7620..00000000 --- a/unsorted/KnownHurdLimits.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -* ~1.5 GB ext2 file system size limit - * The problem is fixed in the Debian GNU/Hurd distribution but not the official sources, see [this email](http://lists.debian.org/debian-hurd/2007/07/msg00087.html) - * See [[ExtTwoSize]] - -* Many Unsupported Devices. - * See [[Mach/HardwareCompatabilityList]] - -* Entropy. Mach does not yet gather entropy and thus there are no /dev/random and /dev/urandom nodes. - There are needed by OpenSSH. - * In progress, see [[translator/random]] - -* Missing bits of POSIX - * See [[Distrib/SystemAPILimits]] - -* Stability issues - * [[ZallocPanics]] diff --git a/unsorted/SeenHurd.mdwn b/unsorted/SeenHurd.mdwn index 92be4224..79ee6ac2 100644 --- a/unsorted/SeenHurd.mdwn +++ b/unsorted/SeenHurd.mdwn @@ -48,7 +48,7 @@ Here's a page for links that specifically talk about the Hurd in some way. See a * [Radio CSJ](http://pagina.de/radiocsj) 104.5 FM discussions during "error 404" show - [Universidad Cat�olica de Chile](http://www.puc.cl) (Macul, Santiago, Chile), June 2002 * [New GNU Hurd Kernel Released](http://slashdot.org/article.pl?sid=02/05/30/1547250&mode=nested&tid=117) [_sic_] - Slashdot, May 30, 2002 * [GNU Mach 1.3 released!](http://www.debianplanet.org/article.php?sid=680&mode=thread&order=0&thold=0) - Debian Planet, May 29, 2002 -* [Running Hurd Under [[Distrib/BochsEmulator]] x86 Emulator](http://www.debianplanet.org/article.php?sid=673&mode=thread&order=0&thold=0) - Debian Planet, May 12, 2002 +* [Running Hurd Under Bochs x86 Emulator](http://www.debianplanet.org/article.php?sid=673&mode=thread&order=0&thold=0) - Debian Planet, May 12, 2002 * [Hurd-i386 gets new GLibc core](http://www.debianplanet.org/article.php?sid=668&mode=thread&order=0) by Jeff Bailey - Debian Planet, May 3, 2002 * [IDG](http://www.idg.net/ic_829012_4394_1-3921.html) - IDG, March 11, 2002 * [Interview with Neal Walfield](http://kerneltrap.org/article.php?sid=375) - Kernel Trap, Nov 12, 2001 diff --git a/unsorted/VmWare.mdwn b/unsorted/VmWare.mdwn deleted file mode 100644 index 6f4c3cba..00000000 --- a/unsorted/VmWare.mdwn +++ /dev/null @@ -1,22 +0,0 @@ -## Why not vmware? - -**_Q:_** GNU won't work in [[VmWare]], it hangs when reaching the Hurd bootstrap. - -**_A:_** Note that Vmware is not supported software to run the Hurd on it. Reasons include: - -1. Vmware is not [free software](http://www.gnu.org/philosophy/free-sw.html), which is against our philosophy. -2. Obtaining a licensed copy to debug it costs (at least) $300. (However, the player is "free" as in beer. This doesn't lessen the other concerns, however). -3. Vmware's sources and specification are not publicly available, which makes debugging tasks really painful. -4. GNU is not in [Vmware's official supported operating systems page](http://www.vmware.com/support/ws3/doc/ws32_guestos2.html#1034043). - -We recommend to use [free](http://www.gnu.org/philosophy/free-sw.html) alternatives, like the [[BochsEmulator]]. Also check QEMU: [[HurdOnQEMU]]. - --- [[Main/RobertMillan]] - 23 Jul 2002 - -I have been able to install Debian/Hurd K2 on [[VmWare]] ... - -* [[VmWare]] 3.02 complains a lot about a missing **console** and shows a lot of errors - * They can be solved by manually creating the devices -* I have tried **Bochs 2.0**, Debian/Hurd K2 installs with no problems at all. -* [[VmWare]] 4.0.0 works fine ... just follow the Hurd install instructions.-- [[TWiki/AndreaSterbini]] - 22 Apr 2003 -* Here using "free" (as in beer) vmware-player 1.0.2.29634 on Gentoo. Hurd K14 installs and runs smoothly, but seems to hang on shutdown. -- [[Main/DeviceRandom]] - 20 Jan 2007 diff --git a/unsorted/Xfree86.mdwn b/unsorted/Xfree86.mdwn deleted file mode 100644 index 6fffff81..00000000 --- a/unsorted/Xfree86.mdwn +++ /dev/null @@ -1,97 +0,0 @@ -# Setup XFree86 in GNU - -This is a brief helper on how to setup X-Window on GNU. - -### Mouse & Keyboard - -See [[console]] for more details. - -First, set up the keyboard translator. Using `/hurd/kbd` and `/hurd/mouse` is not supported. You should instruct Hurd console to repeat keyboard events to `/dev/cons/kbd`, and mouse events to `/dev/cons/mouse`: - - # console -d vga -d pc_kbd --repeat=kbd -d generic_speaker \ - -d pc_mouse --repeat=mouse --protocol=ps/2 --console-node=/dev/cons /dev/vcs - -Symbolic links to repeaters should be created too: - - # ln -s /dev/cons/kbd /dev - # ln -s /dev/cons/mouse /dev - -### Selecting & Configuring Packages - -You will need several X packages. The `x-window-system-core` brings you most of what you need: - -* `xserver-xfree86` -* `xfonts-base` -* `xfonts-100dpi` -* `xfonts-75dpi` -* `xfonts-scalable` -* `xbase-clients` -* `xutils` -* `rxvt` -* ... as well as your window manager of choice: - * WindowMaker, `wmaker` - * FVWM, `fvwm` - * Blackbox, `blackbox` - * TWM, `twm` - -The recommended way of configuring X is using the `xserver-xfree86` debconf template, eg: - - # dpkg-reconfigure xserver-xfree86 - -It may be easier to just copy a working configuration from another operation system on the same computer and place it in `/etc/X11/XF86Config-4`, but this is discouraged as you would have to remove some sections by hand. - -**_IMPORTANT:_** when you configure X, make sure you do **NOT** enable the `speedo` and `dri` modules because they are currently broken. - -### Edit XF86Config-4 - -Now you have to edit the file manually to ensure that the mouse sections look like this: - - Section "InputDevice" - Identifier "Configured Mouse" - Driver "mouse" - Option "CorePointer" - Option "Device" "/dev/mouse" - Option "Protocol" "osmouse" - EndSection - - Section "InputDevice" - Identifier "Generic Mouse" - Driver "mouse" - Option "SendCoreEvents" "true" - Option "Device" "/dev/mouse" - Option "Protocol" "osmouse" - EndSection - -You may also enable the Emulate3Buttons option, but nothing else will work. - - Option "Emulate3Buttons" "true" - -### Starting X - -Finally, run - -`startx` - -However, there are several caveats to be aware of: - -* `xterm` does not work correctly; try `rxvt`. -* `update-menu` does not yet work. As such, there are no fine Debian menus. -* GNOME can now be ported with the new pthreads, but is still being worked on. [[WindowMaker]], [[TWM]], [[Blackbox]] and [[FVWM]] all work. - -### Graphical Environment - -See [[GNOME]] in Hurd . (?) - ----- - -Created. -- [[Main/RobertMillan]] - 21 Nov 2002 - -Some text formatting. -- [[Main/OgnyanKulev]] - 05 Dec 2002 - -Dito. -- [[Main/JoachimNilsson]] - 12 Jan 2003 - -`/hurd/kbd` is no longer supported. -- [[Main/OgnyanKulev]] - 11 Aug 2004 - -`/hurd/mouse` is deprecated. -- [[Main/OgnyanKulev]] - 21 Sep 2004 - --c /dev/cons is now --console-note=/dev/cons -- Sven 01 May 2005 -- cgit v1.2.3 From ca763b70ea6250bcb4911d979461719b78e73c32 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 10 Jan 2013 23:31:29 +0100 Subject: hurd/running/gnu: Clean up. --- history.mdwn | 7 +- hurd/faq/old-stuff.mdwn | 2 +- hurd/running/distrib.mdwn | 2 +- hurd/running/gnu.mdwn | 68 +--------- hurd/running/gnu/create_an_image.mdwn | 98 --------------- hurd/running/gnu/gnu.mdwn | 27 ---- hurd/running/gnu/history.mdwn | 7 -- hurd/running/gnu/manifesto.mdwn | 5 - hurd/running/gnu/names.mdwn | 8 -- hurd/running/gnu/richardstallman.mdwn | 6 - hurd/running/gnu/setup.mdwn | 84 ------------- hurd/running/gnu/softwareprojects.mdwn | 8 -- hurd/running/gnu/todo.mdwn | 6 - hurd/running/gnu/universal_package_manager.mdwn | 158 ------------------------ hurd/running/qemu.mdwn | 6 +- 15 files changed, 11 insertions(+), 481 deletions(-) delete mode 100644 hurd/running/gnu/create_an_image.mdwn delete mode 100644 hurd/running/gnu/gnu.mdwn delete mode 100644 hurd/running/gnu/history.mdwn delete mode 100644 hurd/running/gnu/manifesto.mdwn delete mode 100644 hurd/running/gnu/names.mdwn delete mode 100644 hurd/running/gnu/richardstallman.mdwn delete mode 100644 hurd/running/gnu/setup.mdwn delete mode 100644 hurd/running/gnu/softwareprojects.mdwn delete mode 100644 hurd/running/gnu/todo.mdwn delete mode 100644 hurd/running/gnu/universal_package_manager.mdwn diff --git a/history.mdwn b/history.mdwn index 0abcbd52..8cde0a33 100644 --- a/history.mdwn +++ b/history.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 1998, 1999, 2001, 2002, 2007, 2008, 2009, 2011 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 1998, 1999, 2001, 2002, 2007, 2008, 2009, 2011, +2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -12,7 +12,8 @@ License|/fdl]]."]]"""]] [[!tag stable_URL]] Richard Stallman (RMS) started GNU in 1983, as a project to create a -complete free operating system. In the text of the GNU Manifesto, he +complete free operating system. In the text of the [GNU +Manifesto](http://www.gnu.org/gnu/manifesto.html), he mentioned that there is a primitive kernel. In the first GNUsletter, Feb. 1986, he says that GNU's kernel is TRIX, which was developed at the Massachusetts Institute of Technology. diff --git a/hurd/faq/old-stuff.mdwn b/hurd/faq/old-stuff.mdwn index 84e76490..078607a7 100644 --- a/hurd/faq/old-stuff.mdwn +++ b/hurd/faq/old-stuff.mdwn @@ -3,7 +3,7 @@ In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCf If you still have problems, do not hesitate to make use of the [[mailing lists]] or the [[IRC]]. * **_You say GNU, don't you mean GNU/Hurd?_** - * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. Also see [[GNU/GnuNames]] + * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. * **_What editor can I use?_** * `nano` is the default editor on a fresh install, not `ae`, but a lot of editors are available. diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn index 988703aa..ff5c05cb 100644 --- a/hurd/running/distrib.mdwn +++ b/hurd/running/distrib.mdwn @@ -7,11 +7,11 @@ GNU/Hurd distributions in early stages of development: * [[Arch|arch_hurd]] (features a LiveCD) * [[Nix]] * [[Gentoo]] -* [[GNU]] Defunct GNU/Hurd distributions: * Bee GNU/Hurd. Castellano distribution, pkgsrc package based. + * [[GNU]] # Using diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 94012ef5..ae34a7c3 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -8,75 +8,13 @@ System is one of the goals of the [GNU Project](http://www.gnu.org/), which was [Richard Stallman](http://www.stallman.org/). +## Resources -[[gnu/GNU]]. - -It is our wish and goal to establish a new direction for the GNU system distribution. To that end, this page will begin setting some direction. This was spawned by several discussions over a few days on the Hurd mailing lists and IRC. - -This is not intended to detract from Debian GNU/Hurd and we should help them where we can. - -I really want this to be more of a community driven effort in the spirit of say, Ubuntu. We all have different motivations and skill levels but we need a common goal to get this system going. - -These are just some quick notes I am making late at night. Let's clean this up. - -## Motivations - -1. There is a possibility that Debian drops support for GNU/Hurd. -2. Other GNU/Linux distributions do not support the Hurd infrastructure well. -3. Benefiting from the Hurd design and using a microkernel. -4. Freedom. - -## Community + * [[mailing_lists/gnu-system-discuss]] mailing list -1. Let's establish some ground rules. -2. We need infrastructure - * Wiki for community documentation - * Mailing lists like gnu-system-discuss exists for mostly technical items - * IRC channels like #hug and ##hurd - * Perhaps less formal and less intimidating channels and mailing lists would involve broader parts of the community -3. We need a community vision and direction. - * Let's work together for a common goal - * Let's establish goals and priorities and get resources on them. (More later) - * Major goal to create a system making full use of Hurd features? - * We should never hesitate to throw away existing stuff whenever it hinders us to make good use of Hurd features - * However, we should try to reuse existing stuff (from Debian for example) as long as it doesn't limit our possibilities or impose considerable overhead - * Let's have fun. It's GNU and it's important but let's enjoy ourselves. ## Download - * Official GNU snapshot * Extended GNU distribution -## Tools - -1. Developer Needs - * RPC Trace -2. Installer - * Native installer would be preferred but we can bootstrap GNU/Linux for now if necessary -3. Package Management - * There is a proposal to use stowfs. Let's get this going and test it out. Can it be made to work? How long will it take? - * Repository for packages - * Probably we can host it on the GNU servers - * Bug / Issue tracking - * Probably we should set up a Savannah project - * How to handle experimental patches to the core packages (Hurd, Mach, libc etc.) that are not in official CVS yet? - -## Resources - - * [[Universal_package_manager]] - * How to [[set_up_GNU|setup]] and archiver for GNU - * [[Create_an_image]] - -## Todo - -1. AMS had made a GNU release. We can try it and test it to good use. We can fix broken things in it, and enhance it. - * The snapshot is very old. Probably better to build something from current stuff, even if it means more work - * ams said that he would like to get a new snapshot out that would be on a Live CD and using stowfs. I think what we need to do is start using/fixing GNU System Creator (GSC) to build packages for this effort. -2. GNU is all about freedom AND ease of use. So, given installers are by nature quite complex, how should we install GNU on users's computers? I think ams's GSC comes into play here, maybe ams or sdschulze could (re-)write specifications of GSC. -3. Until we have an installer ready, we could go the Gentoo-like route, and have every part manually installed. A good installation documentation may help. Our next milestone may be just this (in case ams hasn't already done it): - * have a good installation document out, with all the required packages hosted at gnu.org or savannah.org - * get stowfs working -4. Maybe try to use hacked Debian packages until we get native ones? -5. Move on, start coding, documenting, packaging. - -I tried refactoring this page, but didn't get far. -- [[Main/AaronHawley]] - 18 Feb 2006 + As of 2013-01, the latest image provided there is from 2006. diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn deleted file mode 100644 index 98af99eb..00000000 --- a/hurd/running/gnu/create_an_image.mdwn +++ /dev/null @@ -1,98 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2012 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -Creating a bootable qemu image from a root filesystem and bootloader - -1. Create a hard disk image - - qemu-img create -f qcow G - -2. Use a live CD (better to have a lighter OS like system rescue CD to make the - process faster) and the image created to boot. - - qemu -m 512 -cdrom /dev/cdrom -drive cache=writeback,index=0,media=disk,file= -boot d - -3. Once system is booted use a partition editing tool (like fdisk, cfdisk, - parted, gparted, qtparted ...) to partition the image. - - cfdisk - - create the necessary partitions (root and swap partitions boot, home ... if - required) - -4. Create a file system for the root partition - - mke2fs /dev/hda1 - -5. Mount the partition - - mkdir disk - mount /dev/hda1 disk - -6. Copy the file system from the host machine to the mounted directory (use a - compressed file system to make the copying faster) - - Grab the GNU snapshot from ams' site - - - scp @: disk - -7. Uncompress the files - - cd disk - tar -jxvf - -8. Unmount the mounted partition - - cd .. - umount disk - -9. power off the guest OS. - - poweroff - -10. To make the file system bootable download a grub floppy image - - - -11. Run qemu to boot into your brand new system - - qemu -m 512 -drive cache=writeback,index=0,media=disk,file= -fda grub.img -boot a - -Happy Hacking !! - - -Make your new system boot from the hard disk - -1. Mount your grub image - - mkdir floppy - mount -t ext2 -o loop grub.img floppy - -2. Use previous steps 2 and 5 to boot from a liveCD and mount the partition - - cd disk/boot - scp -r @:/boot/grub - -3. Poweroff the guest - - poweroff - -4. Boot new system using floppy image previous step 11 - - use install to hard disk option if you used the above grub image - - or go to grub command line and type - - root (hd0,0) - setup (hd0) - - Now you have a bootable system image. Enjoy Maadi !! diff --git a/hurd/running/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn deleted file mode 100644 index 3ee5f657..00000000 --- a/hurd/running/gnu/gnu.mdwn +++ /dev/null @@ -1,27 +0,0 @@ -## GNU, FSF & RMS - -GNU stands for GNU's Not [[Unix]]. It is a project announced in 1983 by -[[RichardStallman]] (RMS). The Free Software Foundation -([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent -organization for GNU and many other projects. GNU and some non-GNU projects -are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to -SourceForge.net. - -
-
[[History]]
-
Background information about the GNU Project.
-
[[Names]]
-
A page describing the name GNU itself and it's usage.
-
[[Manifesto]]
-
A founding document that still influences the system's technical design and moral philosophy.
-
FAQ Link
-
What is the relation between GNU and Hurd?
-
Assisting
-
If you would like to help the GNU movement visit the official site at http://www.gnu.org.
-
[[SoftwareProjects]]
-
Information about other GNU projects.
-
gnu-system-discuss
-
Mailing list for discussion about the GNU system.
-
- -[[TODO]]. diff --git a/hurd/running/gnu/history.mdwn b/hurd/running/gnu/history.mdwn deleted file mode 100644 index f321c961..00000000 --- a/hurd/running/gnu/history.mdwn +++ /dev/null @@ -1,7 +0,0 @@ -The GNU project has a long history. For software projects, it is exceptionally long. For social movements it is quite short. Although, its history is incomplete, and is being made now (to which you could contribute). - -* [Announcement](http://www.gnu.org/gnu/initial-announcement.html): The original announcement made in 1983 by [[RichardStallman]]. -* [The GNU Project](http://www.gnu.org/gnu/gnu-history.html): A summary by [[RichardStallman]]. -* [History of the GNU Project](http://www.gnu.org/gnu/thegnuproject.html): About the GNU Project, by [[RichardStallman]]. - -Page started from links at [[GNU]]. -- [[Main/AaronHawley]] - 17 Feb 2006 diff --git a/hurd/running/gnu/manifesto.mdwn b/hurd/running/gnu/manifesto.mdwn deleted file mode 100644 index c2a3294f..00000000 --- a/hurd/running/gnu/manifesto.mdwn +++ /dev/null @@ -1,5 +0,0 @@ -Written early in the life of the GNU project, the GNU manifesto still influences the design of the GNU system. - -* [The GNU Manifesto](http://www.gnu.org/gnu/manifesto.html) - -Started page. -- [[Main/AaronHawley]] - 17 Feb 2006 diff --git a/hurd/running/gnu/names.mdwn b/hurd/running/gnu/names.mdwn deleted file mode 100644 index fcab6a11..00000000 --- a/hurd/running/gnu/names.mdwn +++ /dev/null @@ -1,8 +0,0 @@ -The GNU stands for GNU's Not [[Unix]]. It is a project as described in [[GNU]]. - -What can be confusing is the usage. GNU can stand for: - -* an entire system as envisioned in 1983. GNU/Hurd is a synonym. -* GNU components when used with the Linux kernel: GNU/Linux This term has been adopted by the [Debian project](http://www.debian.org) but is not recognized as widely as the FSF would like. - --- [[Main/GrantBow]] - 03 Mar 2004 diff --git a/hurd/running/gnu/richardstallman.mdwn b/hurd/running/gnu/richardstallman.mdwn deleted file mode 100644 index d6688850..00000000 --- a/hurd/running/gnu/richardstallman.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -Richard Stallman (or ''RMS'') is the found of the GNU project, the Free Software Foundation and author of numerous GNU software packages. More useful information about Richard is available from his Wikipedia entry or his personal Web site. - -* [Wikipedia: Richard Stallman](http://en.wikipedia.org/wiki/Richard_Stallman/): Entry at Wikipedia -* [Stallman dot org](http://www.stallman.org/): Personal Web site. - -Page started. This seems like the appropriate Wiki to have the page. -- [[Main/AaronHawley]] - 17 Feb 2006 diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn deleted file mode 100644 index 2fb30c7b..00000000 --- a/hurd/running/gnu/setup.mdwn +++ /dev/null @@ -1,84 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008 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]]."]]"""]] - -Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [gnu-system-discuss](http://lists.gnu.org/mailman/listinfo/gnu-system-discuss)), just follow these steps ... - -## Step 1: Find a home for GNU - -create a partition with minimum of 800 MB (if you want to install programs later you might need to allocate more space) - -It comes with GNU Emacs 21.4, gcc 4.0, gdb 6.3, parted, wget and many more - -Note: 2GB limit for partitions is no more there, it is fixed - -## Step 2: Create GNU Hurd filesystem on the partition - - # mke2fs -o hurd /dev/hdd6 - -## Step 3: Grab a snapshot of the GNU - -from or Extended GNU from - -## Step 4: Extract the snapshot to the newly created partition - - # mount /dev/hdd6 /mnt - # cd /mnt - # tar -jxvf /GNU--2006-01-08.tar.bz2 - -Wait for the extraction to complete, depending on the system configuration the time varies. The compressed image is 178MB and it uncompresses to about 750MB - -## Step 5: Configure grub to boot GNU - -This can be tricky since the partition naming is different for linux, grub and hurd - -My configuration look like this ... - - title GNU (also known as GNU/Hurd)(Single user) - root (hd0,5) - kernel /boot/gnumach.gz root=device:hd3s6 -s - module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) - module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - - title GNU (also known as GNU/Hurd)(Multi-user) - root (hd0,5) - kernel /boot/gnumach.gz root=device:hd3s6 - module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) - module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - - grub linux hurd - hd0,5 hdd6 hd3s6 - -If you have only one harddisk it will be hd0 for grub wherever you connect it. -But linux and hurd names depend on whether you connect it as primary master -(hda or hd0), primary slave (hdb or hd1) [this is my cdrom drive], secondary - master (hdc or hd2) or secondary slave (hdd or hd3) [this is my precious -Maxtor 2GB hard disk]. - -The partition naming of hurd is similar to BSD slices. hda1 is hd0s1, hda2 is - hd0s2 ... - -In my case the root device is hd0s6 (hdd6) - -## Step 6: Now boot into your brand new GNU System. - -It will do some initial setup and you will get a prompt. -Now reboot into your configured GNU System. - - # reboot - -## Step 7: Start using your GNU system - -Here is the GNU/Hurd users guide. It starts from the basics. - -*Warning! : It is not yet ready for normal use, it is a developer's release.* - -So when you encounter bugs report it to bug-hurd@gnu.org - -Join us on gnu-system-discuss to help finish the GNU System. diff --git a/hurd/running/gnu/softwareprojects.mdwn b/hurd/running/gnu/softwareprojects.mdwn deleted file mode 100644 index 4790c5c9..00000000 --- a/hurd/running/gnu/softwareprojects.mdwn +++ /dev/null @@ -1,8 +0,0 @@ -Some of the GNU software effects the Hurd development directly or indirectly. Here's a place for notes about these changes. The official sources are the GNU software [Directory](http://www.gnu.org/directory/) (sponsored by the UN!), [Projects](http://www.gnu.org/projects/), [Packaging](http://www.gnu.org/software/packaging/) and [savannah](http://savannah.gnu.org/) pages, but this page is for Hurd related notes about them. - -
-
GCC
-
deb packages of gcc-{3.2,3.3} are available for testing from http://people.debian.org/~mbanck/hurd-gcc-4.0/ ./
-
- -* [[Universal_package_manager]] and archiver for GNU diff --git a/hurd/running/gnu/todo.mdwn b/hurd/running/gnu/todo.mdwn deleted file mode 100644 index e2dc2e89..00000000 --- a/hurd/running/gnu/todo.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -There are varying things to be done for the operating system requiring a variety of effort, and skills. The following are todo lists with a focus on meeting needs for releasing the GNU system. - -* [Alfred Szmidt's todo list](http://lists.gnu.org/archive/html/gnu-system-discuss/2006-06/msg00056.html) - Post to gnu-system-discuss on 21 Jun 2006. -* [Hurd Task list](http://savannah.gnu.org/task/?group=hurd) - Maintained on the GNU Savannah list. - -Page started. -- [[Main/AaronHawley]] - 29 Jun 2006 diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn deleted file mode 100644 index bf1b92e0..00000000 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ /dev/null @@ -1,158 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009 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]]."]]"""]] - -## Mission - -"To enable the GNU System to install packages of any format like rpm, deb, -ebuild... so that GNU System will be able to use softwares packaged by projects like Debian and Gentoo" - -## Features - -Basically all package management schemes follow similar approach, it will have a single binary archive containing the actual software and some metadata like packages it requires, what all it provides ... So when we install an rpm package this tool will help rpm tool to recognise the packages installed by stow and it will be stowed instead of the normal rpm way of installing in /usr. - -There can be both aproaches - - * Re-implement rpm, dpkg... to recognise stow as backend instead of its own data store. In that case we will have to re-implement, apt-rpm, yum ... - * Implement a translator which reads stow and show it as an rpm data store for yum, deb data store for apt-get ... - -One goal is obviously choice of packaging and hence availability of more packages. Also this gives maintainers a choice to continue building packages for GNU in the format they are already familiar with. The second goal is to demonstrate the flexibility GNU offers in implementing functionality in filesystems (open/read/write interface). - -## Why? - - * The GNU Hurd provides a lot of advanced features and functionalities. We aim to exploit those features. - * Combining translators with UnionFS gives a very exciting package manager. - * We could use the good features of existing packaging systems like deb, rpm, ebuilds, ports ... plus unionfs and hurd translator is a compelling combination. - -With the increased flexibility in implementing filesystems as per the requirements, we can implement the functionality similar to apt-get, emerge or yum... (dependency tracking, versions tracking...) in the filesystem itself. - -## What? - - * Have a basic filesystem based package manager - * Write translators to convert between GNU's packaging format and the existing one's like rpm, deb ... - -## How? - - * Installation of a package is just drag the package (be it a tgz, rpm, deb or an exe) and drop it to the package manager. - - * apt-cache search vim --> ls -al /packages/meta/ |grep vim - * apt-get install vim --> install vim - -Just a sample script. - - $ cd /packages/meta/vim/current/depends - $ for i in `ls *` - $ do - $ if [ -f /packages/binary/$i ] - $ then - $ echo "$i is installed" - $ else - $ install $i - $ fi - $ done - -The same can be achieved using any of the languages or front ends or even manual copying. - -If all the dependencies are there - - $ cp -r /ftp/ftp.gnu.org/packages/binary/vim/7.0 /packages/binary/vim/7.0 - -## Implementation Details - -Lets take the example of rpm, it is simply a cpio archive with software and -meta data as its contents. Just extract it to stow directory with a name -package-version. When apt-get or yum asks for information about already -installed packages read the stow tree and return back the requested data. - -Same case for ebuild. We can provide these details to any packaging system -in the way it wants using a translator. So support for a new format is -just writing the new translator. - -## Initial idea - -A bit more complex than the earlier scheme but it is more exciting and we can look at this scheme seriously once we have the simple scheme working. - -All packages are installed at -`/packages/binary//`. - -For example vim 6.4 version can be installed from source like - - # cd vim64 - # ./configure --prefix=/packages/binary/vim/6.4 - # make - # make install - -Now if you have another vim version, say 7.0 then just follow the steps - - # cd /packages/source/vim - # CP //vim-7.0.tar.bz2 - # tar -jxvf vim-7.0.tar.bz2 - # mv vim70 7.0 - # ./configure --prefix=/packages/binary/vim/7.0 - # make - # make install - -You have 2 versions of vim and how can you specify which one is the current version? You can symlink the current version to select the version you would like to see as default - - # ln -s /packages/binary/vim/7.0 /packages/vim/current - -## Metadata: /packages/meta - -Dependency information is stored as a symbolic link to the required packages in a subdirectory called depends. - -## Requirement - -We will require unionfs support if we chose to go through path 2 (which is what I like because we can really show off with translators.) - - * Developing status - planning - * Near term goal - implement stow backend for dpkg - * High priority task - make unionfs work on boot. Mail from AMS to gnu-system-discuss on problem statement - -## Developer Guidelines. - - * GNU coding standards - - -## FAQ - Frequently asked questions - - 1. How can I join this project? - -OK. I will give you steps. - -i. Install a GNU System by folowing [[these_instructions|setup]] - -ii. Read about GNU Design: [[Towards_a_New_Strategy_of_OS_Design|hurd-paper]] - -iii. Read about translators - -iv. Try out these cool [[translator_examples|translator/examples]] - -v. Add your name below and give a shout in the list. - - -## Comments?? - -Add your comments here - -## Interested? - -To join the project just list your name below. - - 1. PraveenA - 2. IsaacPraveen - 3. VikramVincent - 4. MaheshM - 5. Nidhin Raghavan - 6. Ajish.B - 7. Ambili.B - 8. Abhradip Mukherjee - 9. Ermenegildo Fiorito - 10. Oltion Doda - 11. Russell James diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index 3648c7d6..a0b9e6da 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, +2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -180,8 +180,6 @@ Partitioning `/dev/hd0`: All files in one partition. Once you have finished installing the base system (might take some time) the system is rebooted and next boot will be from the hard disk. Now you are able to log in to your newly installed GNU/Hurd system. -Also see another text about how to [[gnu/create_an_image]] for the -[[GNU_system|gnu]]. ## Running the installed system -- cgit v1.2.3 From 53e5e4c139e1b239760434d10e74addd0e89593d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 10 Jan 2013 23:36:01 +0100 Subject: hurd/running/gentoo: Remove. --- hurd/running/distrib.mdwn | 4 +++- hurd/running/gentoo.mdwn | 34 ---------------------------------- 2 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 hurd/running/gentoo.mdwn diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn index ff5c05cb..5f54e08c 100644 --- a/hurd/running/distrib.mdwn +++ b/hurd/running/distrib.mdwn @@ -6,12 +6,14 @@ GNU/Hurd distributions in early stages of development: * [[Arch|arch_hurd]] (features a LiveCD) * [[Nix]] -* [[Gentoo]] Defunct GNU/Hurd distributions: * Bee GNU/Hurd. Castellano distribution, pkgsrc package based. * [[GNU]] + * Unofficial port to Gentoo and the portage system. It was + [announced](http://forums.gentoo.org/viewtopic.php?t=41939&postdays=0&postorder=asc&start=0) + March 17, 2003 in the Gentoo forums, but development stopped at some point. # Using diff --git a/hurd/running/gentoo.mdwn b/hurd/running/gentoo.mdwn deleted file mode 100644 index ef72bfad..00000000 --- a/hurd/running/gentoo.mdwn +++ /dev/null @@ -1,34 +0,0 @@ -* [Archived try at a Gentoo GNU/Hurd](http://www.mundurat.net/ggh/) - -Unofficial port to Gentoo and the portage system. It was -[announced](http://forums.gentoo.org/viewtopic.php?t=41939&postdays=0&postorder=asc&start=0) -March 17, 2003 in the Gentoo forums. There's a #gentoo and a #gentoo-hurd IRC channel similar to -[[IRC]]. - -### State of the GGH, 2009-05 - -> *Did you work a bit more on the Gentoo GNU/Hurd?* - -I tried to resume my work 3-4 months ago but I found some problems with -portage and python functions not implemented on Hurd so I stopped. I think -that back in 2006 with portage 2.0.54 those functiones weren't necessary. - -> *And do you have some information which might help others advance what you began?* - -I just have all the ebuilds and binary packages I merged online on -[http://www.mundurat.net/ggh/portage](http://www.mundurat.net/ggh/portage). - -To continue my work just take a Debian/Hurd and install portage by hand. - -Once there take the profile and start bootstraping portage and all the -ebuild it needs (patch, python, bzip2...). - -The major problems are: - -- combine the perfect gcc/binutils/glibc/gnumach/hurd and to be able to boot -- lack of development on gnumach/hurd and current 'degraded' status. - -I don't think I can help much right now, but if you have any other -question just write me. - -MiKeL -- cgit v1.2.3 From c570f70846cacf8e5746d6bf4bac0cc46abb6d7a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 16 Jan 2013 12:43:50 +0100 Subject: open_issues/code_analysis: GCC plugins; CTraps. --- open_issues/code_analysis.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn index 98b9b1d5..290bee42 100644 --- a/open_issues/code_analysis.mdwn +++ b/open_issues/code_analysis.mdwn @@ -172,6 +172,20 @@ There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks. Not yet [[ported to the Hurd|community/gsoc/project_ideas/gcc_asan]]. + * [GCC plugins](http://gcc.gnu.org/wiki/plugins) + + * [CTraps](https://github.com/blucia0a/CTraps-gcc) + + > CTraps is a gcc plugin and runtime library that inserts calls to runtime + > library functions just before shared memory accesses in parallel/concurrent + > code. + > + > The purpose of this plugin is to expose information about when and how threads + > communicate with one another to programmers for the purpose of debugging and + > performance tuning. The overhead of the instrumentation and runtime code is + > very low -- often low enough for always-on use in production code. In a series + > of initial experiments the overhead was 0-10% in many important cases. + * Input fuzzing Not a new topic; has been used (and a paper published) for early UNIX -- cgit v1.2.3 From 72de6be9b8a814e2e918714323d5cf99f7698ae2 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Mon, 21 Jan 2013 17:00:11 +0100 Subject: open_issues/glibc: minor additions --- open_issues/glibc.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index 4111700b..d726c009 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -677,6 +677,8 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 the fact that EXEC_PAGESIZE is not defined on hurd, libio/libioP.h switches the allocation modes from mmap to malloc + [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]]. + * `LD_DEBUG` IRC, freenode, #hurd, 2012-11-22 @@ -1371,6 +1373,9 @@ There is quite a baseline of failures. * `tst-strtod-round.out` + strtold (-0x0.7p-16445) returned -0x0.0000000000008p-16385 not -0x0.000000000000001p-16385 (FE_DOWNWARD) + strtold (-0x0.7p-16494) returned -0x0.0000000000008p-16385 not -0x0.000000000000001p-16385 (FE_DOWNWARD) + TODO * `tst-timer2.o` -- cgit v1.2.3 From da35c4ced4626e68d99e46714bf7bfe1af5b27f3 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 2 Feb 2013 12:08:47 +0100 Subject: Add slides --- community/meetings/fosdem_2013.mdwn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/community/meetings/fosdem_2013.mdwn b/community/meetings/fosdem_2013.mdwn index ac678b5e..2030ffaf 100644 --- a/community/meetings/fosdem_2013.mdwn +++ b/community/meetings/fosdem_2013.mdwn @@ -29,8 +29,6 @@ Bruxelles. [Announcement](https://lists.fosdem.org/pipermail/microkernel-devroom/2012-October/000054.html). -Talk proposal: - title: The GNU/Hurd architecture, nifty features, and latest news Full name: Samuel Thibault @@ -54,5 +52,8 @@ virtualization container support on GNU/Hurd, will also be presented. We will also present recent developments, notably in terms of DDE device drivers run as userland processes, and discuss about maintenance of DDE. +Slides: +http://people.debian.org/~sthibault/hurd-i386/2013-02-02-fosdem.pdf + Duration: -30m, 45m? +50m -- cgit v1.2.3 From f5567842f7bc6eba5a2534ea647c06ce26ba6a1b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 20:16:58 +0100 Subject: Add hacking entries for people who just miss code entry paths for diving into the code --- contributing.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/contributing.mdwn b/contributing.mdwn index b8a28088..99dd0985 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -74,6 +74,21 @@ For more reading resources, please see these web pages, for example, documents. +## Hacking entries + +Here is a list of small hacks, which can serve as entries to the Hurd code for +people who would like to dive into the code. + +* Make pfinet OK with the ethernet device going away. This would be a very nice +feature: being able to just restart the ethernet driver; we've just not taken +the time to fix it yet, but it shouldn't be very hard. The code begins at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. +* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an example in the `gnumach` source tree for how to add a kernel trap. +* Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics. It would be far better to let `exec` simply set the name. `thread_create` can be used as an example in the `gnumach` source tree for how to add an RPC. glibc needs to be recompiled against the updated mach.defs to get access to it from userland. +* Write a partfs translator, to which one gives a disk image, and which exposes the partitions of the disk image, using parted, and the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed part:1:file:/home/samy/tmp/foo`) +* Write virtio drivers for KVM. Ideally they would be userland. +* Port valgrind. There is a +[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this. + ## Porting Packages -- cgit v1.2.3 From fd7f83203b64a203a5818ad4fa4ac949aba21d47 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 20:26:36 +0100 Subject: More information --- contributing.mdwn | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/contributing.mdwn b/contributing.mdwn index 99dd0985..b36d4333 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -74,20 +74,37 @@ For more reading resources, please see these web pages, for example, documents. -## Hacking entries - -Here is a list of small hacks, which can serve as entries to the Hurd code for -people who would like to dive into the code. - -* Make pfinet OK with the ethernet device going away. This would be a very nice -feature: being able to just restart the ethernet driver; we've just not taken -the time to fix it yet, but it shouldn't be very hard. The code begins at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. -* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an example in the `gnumach` source tree for how to add a kernel trap. -* Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics. It would be far better to let `exec` simply set the name. `thread_create` can be used as an example in the `gnumach` source tree for how to add an RPC. glibc needs to be recompiled against the updated mach.defs to get access to it from userland. -* Write a partfs translator, to which one gives a disk image, and which exposes the partitions of the disk image, using parted, and the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed part:1:file:/home/samy/tmp/foo`) +## Small hack entries + +Here is a list of small hacks, which can serve as entries into the Hurd code for +people who would like to dive into the code but just lack a "somewhere to begin +with". + +* Make pfinet OK with the ethernet device going away. This would be a very +nice feature: being able to just restart the ethernet driver; we've just not +taken the time to fix it yet, but it shouldn't be very hard. The code begins +at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which +produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO +when using it, and in that case re-open the device. +* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking +primitives, including inter-process primitives. `vm_allocate` can be used as an +example in the `gnumach` source tree for how to add a kernel trap. +* Add a `task_set_name` RPC to GNU Mach. Currently the Mach +debugger keeps `arg[0]` from the stack with ugly heuristics (see +`gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be +far better to let `exec` simply set the name and record it in `task_t`. +`thread_create` can be used as an example in the `gnumach` source tree for how +to add an RPC. glibc needs to be recompiled against the updated mach.defs to get +access to it from userland. exec would probably call it from `hurd/exec/exec.c`, +`do_exec()`. +* Write a partfs translator, to which one gives a disk image, and +which exposes the partitions of the disk image, using parted, and +the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed +part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Write virtio drivers for KVM. Ideally they would be userland. -* Port valgrind. There is a -[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this. +* Port valgrind. There is a whole +[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the +basic port could be small. ## Porting Packages -- cgit v1.2.3 From c2abf411cb4e7fc53f3b163e277f80e374b40c1d Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 20:58:58 +0100 Subject: More items --- contributing.mdwn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contributing.mdwn b/contributing.mdwn index b36d4333..79ebdbda 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -88,7 +88,7 @@ produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. * Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an -example in the `gnumach` source tree for how to add a kernel trap. +example in the `gnumach` source tree for how to add a kernel trap. https://savannah.gnu.org/task/index.php?6231 * Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics (see `gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be @@ -105,6 +105,9 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Port valgrind. There is a whole [[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the basic port could be small. +* Add a `-E` option to `rpctrace` to specify environment variables: https://savannah.gnu.org/task/index.php?9331 +* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 + ## Porting Packages -- cgit v1.2.3 From 9310b53697a609500a7bacbcd3bce41b9e686028 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 21:19:02 +0100 Subject: Add item --- contributing.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/contributing.mdwn b/contributing.mdwn index 79ebdbda..a047b60a 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -107,6 +107,7 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. basic port could be small. * Add a `-E` option to `rpctrace` to specify environment variables: https://savannah.gnu.org/task/index.php?9331 * Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 +* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. https://savannah.gnu.org/bugs/?32770 -- cgit v1.2.3 From 1e8aafda7591b33a0a88405359ce4fc4be8fb2e4 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 Feb 2013 00:41:43 +0100 Subject: open_issues/gdb: Use GCC 4.7. --- open_issues/gdb.mdwn | 8 ++++---- toolchain/logs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/open_issues/gdb.mdwn b/open_issues/gdb.mdwn index f5daff48..d706c776 100644 --- a/open_issues/gdb.mdwn +++ b/open_issues/gdb.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012 Free Software +[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -75,7 +75,7 @@ commit ded7dfe6274b281d92a6ed76cedf29d06c918dec (2012-12-10), run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C - $ ../Ferry_Tagscherer/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 --disable-werror 2>&1 | tee log_build + $ ../Ferry_Tagscherer/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.7 CXX=g++-4.7 --disable-werror 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -87,7 +87,7 @@ There are several occurences of *error: dereferencing type-punned pointer will break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror` until that is resolved ([[strict_aliasing]]). -This takes up around 200 MiB and needs roughly 7 min on kepler.SCHWINGE and 23 +This takes up around 210 MiB and needs roughly 7 min on kepler.SCHWINGE and 23 min on coulomb.SCHWINGE. -Last reviewed up to the [[Git mirror's ded7dfe6274b281d92a6ed76cedf29d06c918dec -(2012-12-10) sources|source_repositories/gdb]]. +Last reviewed up to the [[Git mirror's 00e1c4298d2b6fe040a9a970e98349602b12ddbf +(2013-02-06) sources|source_repositories/gdb]]. * Globally @@ -71,7 +71,7 @@ Last reviewed up to the [[Git mirror's ded7dfe6274b281d92a6ed76cedf29d06c918dec Here's a log of a GDB build run; this is from our [[Git repository|source_repositories/gdb]]'s `tschwinge/Ferry_Tagscherer` branch, -commit ded7dfe6274b281d92a6ed76cedf29d06c918dec (2012-12-10), run on +commit 00e1c4298d2b6fe040a9a970e98349602b12ddbf (2013-02-06), run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -207,7 +207,7 @@ min on coulomb.SCHWINGE. $ make -k check 2>&1 | tee log_test [...] -This needs roughly 14 min on kepler.SCHWINGE and 110 min on coulomb.SCHWINGE. +This needs roughly 14 min on kepler.SCHWINGE and 120 min on coulomb.SCHWINGE. When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite the `tee` process does not terminate if there are still stray leftover @@ -222,6 +222,10 @@ GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown $ toolchain/logs/process gdb test + * `gdb.base/attach-pie-misread.exp` + + Is only run for GNU/Linux; needs [[prelink]]. + * Disabled * `gdb.base/readline.exp` @@ -276,9 +280,17 @@ GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown At this point, the system hangs; no new processes can be spawned, so perhaps an issue with the exec server. - * `UNSUPPORTED: gdb.threads/ia64-sigill.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c: unrecognized error` + * Linux syscall usage, `` + + * `UNSUPPORTED: gdb.threads/ia64-sigill.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c: unrecognized error` + + * `UNSUPPORTED: gdb.threads/siginfo-threads.exp: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/siginfo-threads.c: unrecognized error` + + * `gdb.threads/sigstep-threads.c` + + Also uses `tgkill`. - ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c:29:24: fatal error: asm/unistd.h: No such file or directory + * `UNSUPPORTED: gdb.threads/watchpoint-fork.exp: parent: multithreaded: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c: unrecognized error` * `UNSUPPORTED: gdb.threads/multi-create.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/multi-create.c: unrecognized error` ../../../master/gdb/testsuite/gdb.threads/multi-create.c: In function 'create_function': @@ -293,23 +305,53 @@ GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown ../../../master/gdb/testsuite/gdb.threads/staticthreads.c:52:37: error: 'PTHREAD_STACK_MIN' undeclared (first use in this function) ../../../master/gdb/testsuite/gdb.threads/staticthreads.c:52:37: note: each undeclared identifier is reported only once for each function it appears in - * `UNSUPPORTED: gdb.threads/watchpoint-fork.exp: parent: multithreaded: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c: unrecognized error` - - ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c:29:24: fatal error: asm/unistd.h: No such file or directory - * `UNSUPPORTED: gdb.threads/create-fail.exp: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/create-fail.c: unrecognized error` [...]/gdb.threads/create-fail.c:77: undefined reference to `pthread_attr_setaffinity_np' [...]/gdb.threads/create-fail.c:83: undefined reference to `pthread_create' - * `UNSUPPORTED: gdb.threads/siginfo-threads.exp: Couldn't compile ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/siginfo-threads.c: unrecognized error` - - ../../../Ferry_Tagscherer/gdb/testsuite/gdb.threads/sigstep-threads.c:22:24: fatal error: asm/unistd.h: No such file or directory - * `UNTESTED: gdb.base/longest-types.exp: longest-types.exp` ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/longest-types.c:20:8: error: size of array 'buf' is too large Also on GNU/Linux. + * `FAIL: gdb.base/jit.exp: PIE: one_jit_test-1: Can't run to main` + + (gdb) break main + Breakpoint 1 at 0xb84: file ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/jit-main.c, line 128. + (gdb) run + Starting program: /media/erich/home/thomas/tmp/gdb/tschwinge/Ferry_Tagscherer.build/gdb/testsuite/gdb.base/jit-main + Cannot access memory at address 0x393 + Cannot access memory at address 0x38f + (gdb) FAIL: gdb.base/jit.exp: PIE: one_jit_test-1: Can't run to main + + [[GCC/PIE]]. + + Is the following supposed to terminate in this way? + + (gdb) break main + Breakpoint 1 at 0x675: file ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/attach-pie-noexec.c, line 23. + (gdb) run + Starting program: /media/erich/home/thomas/tmp/gdb/tschwinge/Ferry_Tagscherer.build/gdb/testsuite/gdb.base/attach-pie-noexec + Cannot access memory at address 0x6c626172 + Cannot access memory at address 0x6c62616e + (gdb) testcase ../../../Ferry_Tagscherer/gdb/testsuite/gdb.base/attach-pie-noexec.exp completed in 3 seconds + + * `solib-event stop` + + Running ../../../Ferry_Tagscherer/gdb/testsuite/gdb.mi/mi-catch-load.exp ... + PASS: gdb.mi/mi-catch-load.exp: breakpoint at main + PASS: gdb.mi/mi-catch-load.exp: mi runto main + PASS: gdb.mi/mi-catch-load.exp: catch-load: auto-solib-add on + PASS: gdb.mi/mi-catch-load.exp: catch-load: catch load + FAIL: gdb.mi/mi-catch-load.exp: catch-load: solib-event stop + PASS: gdb.mi/mi-catch-load.exp: breakpoint at main + PASS: gdb.mi/mi-catch-load.exp: mi runto main + PASS: gdb.mi/mi-catch-load.exp: catch-unload: auto-solib-add on + PASS: gdb.mi/mi-catch-load.exp: catch-unload: catch unload + FAIL: gdb.mi/mi-catch-load.exp: catch-unload: solib-event stop + + *stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation fault",frame={addr="0x00014add",func="??",args=[],from="/lib/ld.so"},thread-id="4",stopped-threads="all" + TODO. diff --git a/toolchain/logs b/toolchain/logs index aa14697d..2ef56b87 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit aa14697d06d3044a7cbccc28678ab38ec10e7d6b +Subproject commit 2ef56b8765203fd37f483a311a05de02ea72447f -- cgit v1.2.3 From d4781e033c3102ad93d7b87e7796cb670521596b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 Feb 2013 15:08:34 +0100 Subject: open_issues/binutils: 944a6010b676b9f80f0a16c65183102b187822c5 (2013-02-08) --- open_issues/binutils.mdwn | 19 +++++++++++++------ toolchain/logs | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 5c309d47..757ebbe9 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012 Free Software +[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -39,8 +39,8 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C --> -Last reviewed up to the [[Git mirror's 7c102198e4a1ecee9cf175bd4ad87ee435956cae -(2012-12-16) sources|source_repositories/binutils]]. +Last reviewed up to the [[Git mirror's 944a6010b676b9f80f0a16c65183102b187822c5 +(2013-02-08) sources|source_repositories/binutils]]. * Globally @@ -118,16 +118,19 @@ Last reviewed up to the [[Git mirror's 7c102198e4a1ecee9cf175bd4ad87ee435956cae be helpful in the exec server, glibc, or elsewhere? Used in GDB (BFD) commit bdbd9758806ed855af89244870fdc52cf3ff09bc. + * `Add HOSTING_SCRT0 for PIE test`, 49cc20aa5c416ea4307931cccf6353247368187d + -- is for GNU/Linux only; but also seems unused. + # Build Here's a log of a binutils build run; this is from our [[Git repository|source_repositories/binutils]]'s `tschwinge/Paul_Desmond` branch, -commit 7c102198e4a1ecee9cf175bd4ad87ee435956cae (2012-12-16), run on +commit 944a6010b676b9f80f0a16c65183102b187822c5 (2013-02-08), run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C - $ ../Paul_Desmond/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build + $ ../Paul_Desmond/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.7 CXX=g++-4.7 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -196,7 +199,11 @@ This needs roughly 6 min on kepler.SCHWINGE and 42 min on coulomb.SCHWINGE. The testsuite isn't prepared for using `crt0.o` instead of `crt1.o` depending on whether a static or dynamic executable is created. Documented in `ld/configure.host`. Perhaps we should finally rewrite this messy code - in glibc? + in glibc? Or, something similar to commit + 49cc20aa5c416ea4307931cccf6353247368187d `Add HOSTING_SCRT0 for PIE test` + can be used. + + Same issue for `FAIL: Common symbol override ifunc *` ones? * `FAIL: ld-elf/64ksec` diff --git a/toolchain/logs b/toolchain/logs index 2ef56b87..c917bcd8 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 2ef56b8765203fd37f483a311a05de02ea72447f +Subproject commit c917bcd8dd4f1e989562b7767a99722eb615c946 -- cgit v1.2.3 From 8720ae28261550e8b7dd3f2d89e72a194aa9e712 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 9 Feb 2013 17:23:05 +0100 Subject: open_issues/glibc: Use GCC 4.7. Review testsuite failures, add some notes. --- open_issues/glibc.mdwn | 723 ++++++++++++++++--------------------------------- toolchain/logs | 2 +- 2 files changed, 237 insertions(+), 488 deletions(-) diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index 4111700b..bf240724 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012 Free Software +[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -367,6 +367,8 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 like posix/tst-waitid.c, you mean? yes + See `posix/tst-waitid.out` failure below. + * `getconf` things IRC, freenode, #hurd, 2012-10-03 @@ -893,7 +895,7 @@ fbeafedeea37e0af1984a6511018d159f5ceed6a (2012-11-03)) sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ export LC_ALL=C - $ ../Roger_Whittaker/configure AUTOCONF=: --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build + $ ../Roger_Whittaker/configure AUTOCONF=: --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.7 CXX=g++-4.7 2>&1 | tee log_build [...] $ make install_root=/INVALID 2>&1 | tee log_build_ [...] @@ -903,24 +905,14 @@ This takes up around 500 MiB, and needs roughly X min on kepler.SCHWINGE and ## Analysis - $ toolchain/logs/process gcc build fetch coulomb.SCHWINGE + $ toolchain/logs/process glibc build fetch coulomb.SCHWINGE TODO. @@ -1026,19 +1018,10 @@ min on coulomb.SCHWINGE. ## Analysis - $ toolchain/logs/process gcc install fetch coulomb.SCHWINGE + $ toolchain/logs/process glibc install fetch coulomb.SCHWINGE TODO. - - # Testsuite @@ -1051,37 +1034,31 @@ Specifying `fast-check=yes` disables the `conformtest` which takes 1.75 h (out of 2.75 h total) on coulomb.SCHWINGE, doesn't pass anyway, and clearly isn't our most critical issue to solve. - - ## Analysis - $ toolchain/logs/process gcc test fetch coulomb.SCHWINGE + $ toolchain/logs/process glibc test fetch coulomb.SCHWINGE -There is quite a baseline of failures. +Failures, mostly in order of appearance: - * `annexc.out` + * `check-abi`, `check-abi-libmachuser`, `check-abi-libhurduser`, + `check-abi-libBrokenLocale`, `check-abi-libm`, `check-abi-libdl`, + `check-abi-libcrypt`, `check-abi-libresolv`, `check-abi-librt`, + `check-abi-libnsl`, `check-abi-libutil`, `check-abi-libc`, `check-abi-ld`, + `c++-types.data` - TODO + Reference files are missing. - * `bug22.out` + * `math/test-float.out` - TODO + Two ULP failures. - * `bug-atexit3.out` + * `math/test-ldouble`, `math/test-ildoubl`, `math/test-ifloat`, + `math/test-idouble` - TODO + SIGSEGV. - * `bug-getcontext.out` + * `stdlib/bug-getcontext.out` getcontext failed, errno: 1073741902. @@ -1090,203 +1067,105 @@ There is quite a baseline of failures. for FP exceptions.*, in cba1c83ad62a11347684a9daf349e659237a1741 testing, it's back to the previous failure. - * `bug-regex31-mem`, `tst-error1-mem`, `tst-fnmatch-mem`, - `tst-fopenloc.check` + * `stdlib/tst-secure-getenv.out` - *output* files: some memory not freed. + open (/proc/self/exe): No such file or directory - Caused by different memory allocation way in libio, see also - [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]] + Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]]. - * `bug-ulimit1.out` + * `stdlib/tst-strtod-round.out` - Buggy sysdeps/unix/bsd/ulimit.c return values. + strtold (-0x0.7p-16445) returned -0x0.0000000000008p-16385 not -0x0.000000000000001p-16385 (FE_DOWNWARD) + strtold (-0x0.7p-16494) returned -0x0.0000000000008p-16385 not -0x0.000000000000001p-16385 (FE_DOWNWARD) - [[!message-id "201211182342.51619.toscano.pino@tiscali.it"]] + * `stdio-common/bug22.out` - * `check-execstack.out` + Timed out: killed the child process - $BUILDDIR/libc.so.phdr: *** executable stack signaled + Known problem. - * `check-local-headers.out` - - Most of the external headers used are: + * `libio/tst-atime.out`, `dirent/tst-fdopendir.out` - * `/usr/include/device/bpf.h` + `libio/tst-atime.out`: - * `/usr/include/device/device_types.h` + atime has not changed - * `/usr/include/device/net_status.h` + Due to `ext2fs --no-atime`. - * `/usr/include/cthreads.h` + `dirent/tst-fdopendir.out`: - * `/usr/include/hurd/hurd_types.h` - - * `/usr/include/hurd/ioctls.defs` + directory atime changed - * `/usr/include/hurd/ioctl_types.h` + Due to `ext2fs --atime` (default). - * `/usr/include/hurd/paths.h` + * `libio/tst-fopenloc.check`, `posix/bug-regex31-mem`, + `posix/tst-fnmatch-mem`, `misc/tst-error1-mem` - * `check-localplt.out` + Memory not freed: + ----------------- + Address Size Caller + 0x0807e268 0x8000 at 0x10c71c4 - Around 500 or so `Extra PLT reference`. + Caused by different memory allocation way in libio, see + [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]] - * `check-textrel.out` + * `dlfcn/bug-atexit3.out` - $BUILDDIR/libc.so.dyn: *** text relocations used + Originally: - * `opendir-tst1.out`, `tst-fdopendir2.out` + dlopen failed: libstdc++.so.6: cannot open shared object file: No such file or directory - `opendir` and `fdopendir` do not return `ENOTDIR` if `fd` is not a directory. + See [[!message-id "20090420002344.11798.qmail@s461.sureserver.com"]]. + Hacked around with `ln -s /usr/lib/i386-*gnu/libstdc++.so.6 + /lib/i386-*gnu/libpthread-stubs.so.0 /lib/i386-*gnu/libgcc_s.so.1 ./`. + This is a bug in the glibc test harness. Should probably use some + `configure` magic akin to the `fixincludes` stuff (`gcc-4.4 + -print-file-name=libstdc++.so.6`, etc.). - * `test-assert-perr.out` + Even if that that is being worked around, the tests nowadays + ([[packaging_libpthread]]) fail with: - TODO + dlopen failed: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libstdc++.so.6) - * `math/test-idouble`, `math/test-ifloat`, `math/test-ildoubl`, - `math/test-ldouble` + * `dlfcn/tststatic.out`, `dlfcn/tststatic2.out` SIGSEGV. - * `test-float.out` - - TODO - - * `test-lfs.out` - - TODO - - * `test-multiarch.out` - - Needs [[`/proc/cpuinfo`|hurd/translator/procfs/jkoenig/discussion]] - providing the `flags` line. - - * `tst-aio2`, `tst-aio3`, - `tst-mqueue3`, `tst-mqueue6`, - `tst-mqueue8`, `tst-thrlock`, `tst-timer3`, - `libnss_test1.so` - - Compilation: missing `pthread_attr_init`, `pthread_barrier_init`, - `pthread_create`, etc. - - * `tst-aio8.out`, `tst-aio9.out`, `tst-aio10` - - Compilation: missing `pthread_attr_init`, `pthread_barrier_init`, - `pthread_create`, etc. - - Most will compile and work (except `tst-aio`, `tst-aio9`, `tst-aio10`) with - [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] in libpthread. - - * `tst-array*` - - gcc-4.6 tst-array1.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out tst-array1.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out] Error 1 - gcc-4.6 tst-array2.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 tst-array2dep.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -fPIC -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc - gcc-4.6 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,defs -B[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/ -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -L[...]/tschwinge/Roger_Whittaker.build-gcc-4.6 - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out tst-array2.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out] Error 1 - gcc-4.6 tst-array3.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out tst-array1.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out] Error 1 - gcc-4.6 tst-array4.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out tst-array4.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out] Error 1 - - `tst-array5` passes. - - gcc-4.6 tst-array1-static.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4 - gcc-4.6 -nostdlib -nostartfiles -static -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crt0.o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crti - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static > [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out tst-array1.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out] Error 1 - - `tst-array5-static` passes. - - IRC, freenode, #glibc, 2012-11-01: - - tschwinge: I saw the array tests fail, built a new binutils and - a new compiler configured with new binutils and the failures went - away. - So they may depend on having new-enough GCC configured with - new-enough binutils, or something like that. - jsm28: Did you use gcc 4.7 or trunk? - tuliom: 4.7. - - [[!message-id "50950082.1070906@df1tl.local.here"]]. - - * `tst-audit1.out`, `tst-audit2.out` - - SIGKILL. - - * `tst-chk1.out` - - TODO - - * `tst-chk2.out` - - TODO + `LD_LIBRARY_PATH` doesn't contain the `mach` and `hurd` directories; yet + the test shouldn't just SIGSEGV. - * `tst-chk3.out` + * `dirent/opendir-tst1.out`, `dirent/tst-fdopendir2.out` - TODO + `dirent/opendir-tst1.out`: - * `tst-chk4.out` + `opendir' succeeded on a FIFO??? - TODO + `dirent/tst-fdopendir2.out`: - * `tst-chk5.out` + fdopendir with normal file descriptor did not fail - TODO + `opendir` and `fdopendir` do not return `ENOTDIR` if `fd` is not a + directory. - * `tst-chk6.out` - - TODO - - * `tst-cputimer1.o`, `tst-cputimer2.o`, `tst-cputimer3.o`, - `tst-timer4.o`, `tst-timer5.o` - - Missing `SIGRTMIN`. - - All these tests #include `tst-timer4.c`. - - * `tst-timer5.o` - - TODO - - * `tst-dlmopen1.out` - - TODO + * `posix/tst-waitid.out` - * `tst-ether_line.o` + Intermittent. - tst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function) + SIGCHLD for stopped status 0 + SIGCHLD for stopped pid -1 + SIGCHLD for killed code 1 + SIGCHLD for killed status 0 + SIGCHLD for killed pid -1 - Will either need a `hurd/netinet/if_ether.h` that includes - ``, or can do that in the generic `netinet/if_ether.h`? - See also [[!sourceware_PR 11142]]. - - * `tst-fdopendir.out` - - directory atime changed + * `posix/bug-glob2.out` - TODO + Timed out: killed the child process - * `tst-futimesat.out` + * `posix/annexc.out` - `futimesat` is a stub. + Failure ignored by the glibc testsuite. - * `tst-getconf.out` + * `posix/tst-getconf.out` Ends with: @@ -1300,98 +1179,7 @@ There is quite a baseline of failures. [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] and libpthread compiled as add-on. - * `tst-grantpt.out` - - posix_openpt(O_RDWR) failed - errno 1073741902 (Function not implemented) - - `posix_openpt` is a stub. - - grantpt(): expected: return = -1, errno = 1073741846 - got: return = -1, errno = -303 - - `grantpt` (actually `ptsname_r`), does not fail with `ENOTTY` when the `fd` - does not refer to a PTY master. - - * `tst-lfschk2.out` - - TODO - - * `tst-lfschk3.out` - - TODO - - * `tst-lfschk4.out` - - TODO - - * `tst-lfschk5.out` - - TODO - - * `tst-lfschk6.out` - - TODO - - * `tst-longjmp_chk2.out` - - TODO - - * `tst-mqueue5.o` - - Missing `SIGRTMIN`. - - * `tst-pselect.o` - - Missing `SA_NOCLDWAIT`. - - * `tst-secure-getenv.out` - - Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]]. - - * `tst-sprofil.out` - - Floating point exception - - * `tst-stackguard1.out` - - TODO - - * `tst-stackguard1-static.out` - - TODO - - * `tststatic2.out` - - TODO - - * `tststatic.out` - - TODO - - * `tst-strtod-round.out` - - TODO - - * `tst-timer2.o` - - Missing `SIGRTMIN`. - - * `tst-timer.out` - - TODO - - * `tst-tls9-static.out` - - TODO - - * `tst-unique3lib.so`, `tst-unique3lib2.so`, `tst-unique4lib.so` - - Only with GCC 4.4; no longer with 4.5 or 4.6: - - /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/elf/tst-unique3lib.os:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' - - * `tst-vfork3-mem` + * `posix/tst-vfork3-mem` + 0x0804cee0 Alloc 10 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + 0x0804cf90 Alloc 11 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] @@ -1441,135 +1229,207 @@ There is quite a baseline of failures. 0x0804cfa8 0x73 at 0x10df0c8 0x00000008 0 at 0x10df0c8 - TODO + Perhps because we implement `vfork` in terms of `fork` (`posix/vfork.c`)? - * `tst-waitid.out` + * `io/test-lfs.out` - Fails sometimes (is listed in Debian eglibc-2.13-21's - `expected-results-i486-gnu-libc`). + /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build/io/test-lfs: cannot write test string to large file: Invalid argument + * `io/tst-futimesat.out` -### Additional Failures Compared to Debian (OLD) + file created + futimesat failed - $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_test > log_test.filtered - $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/compare.sh ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/expected-results-i486-gnu-libc log_test.filtered + `futimesat` is a stub. - * `bug-atexit3.out`, `debug/tst-chk4`, `debug/tst-chk5`, `debug/tst-chk6`, - `debug/tst-lfschk4`, `debug/tst-lfschk5`, `debug/tst-lfschk6` + * `resource/bug-ulimit1.out` - dlopen failed: libstdc++.so.6: cannot open shared object file: No such file or directory + Result of ulimit (UL_SETFSIZE, 10000): 0 + Result of ulimit(UL_GETFSIZE): 10000 - See [[!message-id "20090420002344.11798.qmail@s461.sureserver.com"]]. - Hacked around with `ln -s /usr/lib/i386-*gnu/libstdc++.so.6 - /lib/i386-*gnu/libpthread-stubs.so.0 /lib/i386-*gnu/libgcc_s.so.1 ./`. - This is a bug in the glibc test harness. Should probably use some - `configure` magic akin to the `fixincludes` stuff (`gcc-4.4 - -print-file-name=libstdc++.so.6`, etc.). + Buggy sysdeps/unix/bsd/ulimit.c return values. - Even if that that is being worked around, the tests fail with: + [[!message-id "201211182342.51619.toscano.pino@tiscali.it"]] - dlopen failed: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libstdc++.so.6) - dlopen failed: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libgcc_s.so.1) + * `misc/tst-pselect.o` - [[packaging_libpthread]]. + tst-pselect.c: In function 'do_test': + tst-pselect.c:33:17: error: 'SA_NOCLDWAIT' undeclared (first use in this function) - * `io/ftwtest`, `posix/globtest`, `iconvdata/iconv-test`, `intl/tst-gettext`, - `malloc/tst-mtrace`, `elf/tst-pathopt`, `iconvdata/tst-tables`, - `grp/tst_fgetgrent`, `dlfcn/tststatic`, `dlfcn/tststatic2`, - `posix/wordexp-tst`, `localedata/bug-setlocale1.out`, `posix/tst-getconf` + * `gmon/tst-sprofil.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 + Floating point exception - Looking into `localedata/bug-setlocale1.c`, it is clear what it going on: - only the root of the build directory is added for `--library-path`, but - none of the other directories that are additionally used. This is a bug in - the glibc test harness. Hacked around by `ln -s mach/libmachuser.so.1 - hurd/libhurduser.so.0.3 ./`. Hopefully the other instances are similar. + * `nss//libnss_test1.so` - * `posix/tst-getconf` + [...]/nss/nss_test1.os: In function `_nss_test1_getpwent_r': + [...]/nss/nss_test1.c:60: undefined reference to `pthread_mutex_lock' + [...]/nss/nss_test1.c:85: undefined reference to `pthread_mutex_unlock' - It fails because of unimplemented pathconf cases: `_PC_ALLOC_SIZE_MIN`, - `_PC_REC_INCR_XFER_SIZE`, `_PC_REC_MAX_XFER_SIZE`, `_PC_REC_MIN_XFER_SIZE`, - `_PC_REC_XFER_ALIGN`, `_PC_SYMLINK_MAX`, `_PC_2_SYMLINKS`. + * `rt/tst-timer.out` - `_CS_GNU_LIBPTHREAD_VERSION` will be cleanly solved with - [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] and libpthread - compiled as add-on. + No message. - Ends with: + * `rt/tst-timer2.o` - getconf POSIX_ALLOC_SIZE_MIN /: /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/posix/getconf: pathconf: /: Invalid argument + tst-timer2.c: In function 'do_test': + tst-timer2.c:33:23: error: 'SIGRTMIN' undeclared (first use in this function) - * `dlfcn/tststatic`, `dlfcn/tststatic2` + * `rt/tst-aio2`, `rt/tst-aio3`, `rt/tst-aio9`, `rt/tst-aio10`, + `rt/tst-mqueue3`, `rt/tst-mqueue5.o`, `rt/tst-mqueue6`, `rt/tst-mqueue8`, + `rt/tst-timer3`, `rt/tst-timer4.o`, `rt/tst-timer5.o`, + `rt/tst-cputimer1.o`, `rt/tst-cputimer2.o`, `rt/tst-cputimer3.o`, + `elf/tst-thrlock` - No output, SEGFAULT. + [...]/rt/tst-aio2.o: In function `do_test': + [...]/rt/tst-aio2.c:62: undefined reference to `pthread_barrier_init' + [...]/rt/tst-aio2.c:94: undefined reference to `pthread_barrier_wait' + [...]/rt/tst-aio2.o: In function `thrfct': + [...]/rt/tst-aio2.c:35: undefined reference to `pthread_barrier_wait' - * `math/test-idouble`, `math/test-ifloat`, `math/test-ildoubl`, - `math/test-ldouble` + tst-mqueue5.c: In function 'rtmin_handler': + tst-mqueue5.c:50:14: error: 'SIGRTMIN' undeclared (first use in this function) - SIGSEGV. + [...]/rt/tst-mqueue6.o: In function `do_test': + [...]/rt/tst-mqueue6.c:127: undefined reference to `pthread_attr_init' + [...]/rt/tst-mqueue6.c:149: undefined reference to `pthread_attr_setguardsize' + [...]/rt/tst-mqueue6.c:211: undefined reference to `pthread_attr_setguardsize' + [...]/rt/tst-mqueue6.c:262: undefined reference to `pthread_attr_destroy' + [...]/rt/tst-mqueue6.c:128: undefined reference to `pthread_attr_setguardsize' + [...]/rt/tst-mqueue6.o: In function `fct': + [...]/rt/tst-mqueue6.c:79: undefined reference to `pthread_self' + [...]/rt/tst-mqueue6.c:79: undefined reference to `pthread_getattr_np' + [...]/rt/tst-mqueue6.c:88: undefined reference to `pthread_attr_getguardsize' + [...]/rt/tst-mqueue6.c:95: undefined reference to `pthread_attr_destroy' + [...]/rt/tst-mqueue6.c:95: undefined reference to `pthread_attr_destroy' - * `rt-tst-aio2`, `rt-tst-aio3`, `rt/tst-aio10`, `rt/tst-aio9` + [...]/elf/tst-thrlock.o: In function `do_test': + [...]/elf/tst-thrlock.c:38: undefined reference to `pthread_create' + [...]/elf/tst-thrlock.c:48: undefined reference to `pthread_join' - /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-aio8.out` - * `rt/tst-mqueue3`, `rt/tst-mqueue6`, - `rt/tst-mqueue8`, `elf/tst-thrlock`, `rt/tst-timer3`, - `nss//libnss_test1.so` + r = -1, e = 1073741902 (Function not implemented) - Compilation: missing `pthread_attr_init`, `pthread_barrier_init`, - `pthread_create`, etc. + Should work with [[!message-id + "201209302353.51055.toscano.pino@tiscali.it"]] in libpthread. - * `elf/tst-audit1`, `elf/tst-audit2` + * `debug/tst-chk1.out` - SIGKILL. + Intermittent. Timeout. Unknown. + + * `debug/tst-chk2.out`, `debug/tst-chk3.out`, `debug/tst-lfschk2.out`, + `debug/tst-lfschk3.out` + + Unknown. + + * `debug/tst-chk4.out`, `debug/tst-chk5.out`, `debug/tst-chk6.out`, + `debug/tst-lfschk4.out`, `debug/tst-lfschk5.out`, `debug/tst-lfschk6.out` + + [...]/debug/tst-chk4: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libstdc++.so.6) + [...]/debug/tst-chk4: [...]/libc.so.0.3: version `GLIBC_2.13_DEBIAN_31' not found (required by [...]/libgcc_s.so.1) + + * `debug/tst-longjmp_chk2.out` - * `inet/tst-ether_line` + SIGSEGV. + + not on alternate stack + in signal handler + on alternate stack + out of signal handler + on alternate stack + + It says *alternate stack*. + + * `inet/tst-ether_line.o` - tst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function) + tst-ether_line.c: In function 'do_test': + tst-ether_line.c:19:19: error: 'ETH_ALEN' undeclared (first use in this function) Will either need a `hurd/netinet/if_ether.h` that includes ``, or can do that in the generic `netinet/if_ether.h`? See also [[!sourceware_PR 11142]]. - * `gmon/tst-sprofil` + * `login/tst-grantpt.out` - Floating point exception + posix_openpt(O_RDWR) failed + errno 1073741902 (Function not implemented) - * `posix/bug-regex31-mem`, `posix/tst-fnmatch-mem`, `misc/tst-error1-mem`, - `libio/tst-fopenloc.check` + `posix_openpt` is a stub. - *output* files: some memory not freed. + grantpt(): expected: return = -1, errno = 1073741846 + got: return = -1, errno = -303 - [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]] + `grantpt` (actually `ptsname_r`), does not fail with `ENOTTY` when the `fd` + does not refer to a PTY master. - * `assert/test-assert.out` + * `elf/tst-stackguard1-static.out`, `elf/tst-stackguard1.out` - Fails sometimes... + differences 0 defaults 0 + stack guard canaries are not randomized enough + nor equal to the default canary value - * `stdlib/bug-getcontext.out` + * `elf/tst-tls9-static.out` - getcontext failed, errno: 1073741902. + SIGSEGV. - Is not implemented; see above. In 8958805c11c741d9211e20612c86271d906c9a0b - testing, `stdlib/bug-getcontext.out` now says: *Skipping test; no support - for FP exceptions.*, in cba1c83ad62a11347684a9daf349e659237a1741 testing, - it's back to the previous failure. + * `elf/tst-dlmopen1.out` + + SIGSEGV. + + * `elf/tst-audit1.out`, `elf/tst-audit2.out` + + SIGKILL. + + * `elf/check-textrel.out` + + $BUILDDIR/libc.so.dyn: *** text relocations used + + * `elf/check-execstack.out` + + $BUILDDIR/libc.so.phdr: *** executable stack signaled + + * `elf/check-localplt.out` + + Around 500 or so `Extra PLT reference`. + + * `check-local-headers.out` + + A lot. Including `/usr/include/device/*.h`, `/usr/include/mach/*.h`, + `/usr/include/hurd/*.h`. + +Earlier failures; no longer seen: + + * `test-assert-perr.out` + + Fails intermittently. Unknown. + + * `test-multiarch.out` - * `elf/tst-unique3lib.so`, `elf/tst-unique3lib2.so`, `elf/tst-unique4lib.so` + Needs [[`/proc/cpuinfo`|hurd/translator/procfs/jkoenig/discussion]] + providing the `flags` line. + + * `elf/tst-array*` + + No longer fail with GCC 4.7. + [[!message-id "50950082.1070906@df1tl.local.here"]]. + + * `io/ftwtest`, `posix/globtest`, `iconvdata/iconv-test`, `intl/tst-gettext`, + `malloc/tst-mtrace`, `elf/tst-pathopt`, `iconvdata/tst-tables`, + `grp/tst_fgetgrent`, + `posix/wordexp-tst`, `localedata/bug-setlocale1.out`, `posix/tst-getconf` + + /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486.O/io/ftwtest: error while loading shared libraries: libmachuser.so.1: cannot open shared object file: No such file or directory + + Looking into `localedata/bug-setlocale1.c`, it is clear what it going on: + only the root of the build directory is added for `--library-path`, but + none of the other directories that are additionally used. This is a bug in + the glibc test harness. Hacked around by `ln -s mach/libmachuser.so.1 + hurd/libhurduser.so.0.3 ./`. Hopefully the other instances are similar. - Only with GCC 4.4; no longer with 4.5 or 4.6: + * `assert/test-assert.out` - /home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/elf/tst-unique3lib.os:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' + Fails sometimes... * `math/test-fenv.out` @@ -1579,11 +1439,6 @@ There is quite a baseline of failures. 005b7594ffe209639dd1ef2b9ed9a4c22307dec1 causes it to passe -- very likely Jérémie's signaling work. - * `posix/tst-waitid.out` - - Fails sometimes (is listed in Debian eglibc-2.13-21's - `expected-results-i486-gnu-libc`). - * `elf/tst-unused-dep.out` (1f393a11f65dcaa1952bdcaf0317a65a5f8aff9d, [[!sourceware_PR 13706]], [[!message-id "4F4210C1.1090704@redhat.com"]]) @@ -1593,113 +1448,7 @@ There is quite a baseline of failures. As of 8958805c11c741d9211e20612c86271d906c9a0b, this test now passes -- correct? - * `stdlib/tst-secure-getenv.out` - - Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]]. +Compared to Debian: - * `elf/tst-array*` - - Failures also seen on GNU/Linux; [[!message-id - "50950082.1070906@df1tl.local.here"]]. - - gcc-4.6 tst-array1.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out tst-array1.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out] Error 1 - gcc-4.6 tst-array2.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 tst-array2dep.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -fPIC -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc - gcc-4.6 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,defs -B[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/ -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -L[...]/tschwinge/Roger_Whittaker.build-gcc-4.6 - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out tst-array2.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out] Error 1 - gcc-4.6 tst-array3.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out tst-array1.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out] Error 1 - gcc-4.6 tst-array4.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ - gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out tst-array4.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out] Error 1 - - `tst-array5` passes. - - gcc-4.6 tst-array1-static.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4 - gcc-4.6 -nostdlib -nostartfiles -static -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crt0.o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crti - [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static > [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out - cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out tst-array1.exp > /dev/null - make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out] Error 1 - - `tst-array5-static` passes. - - -## OLD - -`configure --without-cvs --prefix= --disable-profile --build=i486-gnu ---host=i486-gnu` - -`make -k check` changes from 538603af899057a9ef9583cc447804ec602a45e5 to -c9fd33ef070def49c078c94f8d9bc9f8a8e267f7. - -Configured with `--prefix=/usr` instead of `--prefix=`. - -Resolved failures: - - * localedata/tst_mblen.out - * localedata/tst_mbrlen.out - * localedata/tst_mbrtowc.out - * localedata/tst_mbsrtowcs.out - * localedata/tst_mbstowcs.out - * localedata/tst_mbtowc.out - * localedata/tst_swscanf.out - * localedata/tst_wcrtomb.out - * localedata/tst_wcsrtombs.out - * localedata/tst_wcstombs.out - * localedata/tst_wctob.out - * localedata/tst_wctomb.out - * localedata/bug-iconv-trans.out - * localedata/tst-wctype.out - * math/test-float.out - * math/test-double.out - * posix/tst-vfork3-mem - * io/tst-mkdirat.out - -New: - - * A lot of `error while loading shared libraries: libmachuser.so.1: cannot - open shared object file: No such file or directory`. Is it perhaps picking - that library up from `$prefix/lib/`? - - New failures; likely due to that: - - * iconvdata/iconv-test.out - * iconvdata/tst-tables.out - * malloc/tst-mtrace.out - * grp/tst_fgetgrent.out - * posix/globtest.out - * posix/wordexp-tst.out - * io/ftwtest.out - * elf/tst-pathopt.out - - Changed failures; likely due to that: - - * debug/tst-chk4.out / debug/tst-chk5.out - - -error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory - +error while loading shared libraries: libpthread-stubs.so.0: cannot open shared object file: No such file or directory - ---- - -Changes to b367d4f996512af6841c3cefdb943cb0a826a6a1: nothing interesting. - ---- - -Changes to b85c54a1f7e5241c1ef99dfeaecbd1bf4117564f: nothing interesting. - -New failures: - - * posix/bug-glob3.out (SEGFAULT; but also on Linux) - * wctype/bug-wctypeh.o (compile error; but also on Linux) + $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_test > log_test.filtered + $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/compare.sh ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/expected-results-i486-gnu-libc log_test.filtered diff --git a/toolchain/logs b/toolchain/logs index c917bcd8..6ca9984a 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit c917bcd8dd4f1e989562b7767a99722eb615c946 +Subproject commit 6ca9984afbe68e4fa144a82d9e3020acb5e7aa3e -- cgit v1.2.3 From ba683182f43036fc52f1087ada237e1d07854b0e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 9 Feb 2013 17:26:38 +0100 Subject: open_issues/llvm: llvm 0a109de14d0ced95d99b9ec60d4ef9479d6404d3 (2013-02-08), clang 4cdb7414a1862270bbf8ff2c345aea879a64a116 (2013-02-08), compiler-rt ed83584256249ee2c474fb18abf7df6aa73019b0 (2013-02-08), test-suite d1212efdb685151165a48d0f89cf3d40154468bc (2013-02-08) --- hurd/translator/procfs/jkoenig/discussion.mdwn | 14 +++ open_issues/llvm.mdwn | 168 ++++++++++++++++++++++--- shortcuts.mdwn | 6 + toolchain/logs | 2 +- 4 files changed, 170 insertions(+), 20 deletions(-) diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn index e71ea02b..aded4225 100644 --- a/hurd/translator/procfs/jkoenig/discussion.mdwn +++ b/hurd/translator/procfs/jkoenig/discussion.mdwn @@ -218,6 +218,20 @@ Needed by glibc's `pldd` tool (commit [[!message-id "alpine.LFD.2.02.1110111111260.2016@akari"]]. Needed by glibc's `stdlib/tst-secure-getenv.c`. +Is it generally possible to use something like the following instead? +Disadvantage is that every program using this needs to be patched. + + #include + [...] + Dl_info DLInfo; + int err = dladdr(&main, &DLInfo); + if (err == 0) + [...] + /* Pathname of shared object that contains address: DLInfo.dli_fname. */ + /* Filter it through realpath. */ + +This is used in `[LLVM]/lib/Support/Unix/Path.inc`. + # `/proc/[PID]/fd/` diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn index 3ce42281..983f0b03 100644 --- a/open_issues/llvm.mdwn +++ b/open_issues/llvm.mdwn @@ -23,6 +23,13 @@ example. Especially all the compiler magic is all the same. # [[General information|/llvm]] +## Rebuild of the Debian archive with clang + +From [[!message-id "20120305195308.GA1904@zouish.org"]]: +, +. + + # [[Sources|source_repositories/llvm]] @@ -35,37 +42,60 @@ For all of llvm, clang, compiler-rt, test-suite: git checkout reviewed git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C --cc ..upstream/master -i -/^commit |^merge:|^---$|hurd|linux|nacl|nptl|glibc|gs: +/^commit |^merge:|^---$|hurd|gnu|linux|nacl|nptl|glibc|[^e]gs:|/proc --> Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm -7bf2e1b9ef797fda5de53956a1d2aea900ce794f (2013-01-09), clang -35eb8c3e12cac22f91d1cd4c74ae092ebc94fc40 (2013-01-09), compiler-rt -b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite -a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08). - - * Configure fragments that have `*linux*` cases might/should often contain - those for us (and GNU/k*BSD) as well. +0f58dbae4ab2397dc310e19d171a4bc60fc6c9a7 (2013-02-08), clang +52635ff9fb530dfdfc6a94e52a2270bf1bb8346b (2013-02-08), compiler-rt +ed83584256249ee2c474fb18abf7df6aa73019b0 (2013-02-08), test-suite +f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08). * . - * [low] Some `PATH_MAX`/`MAXPATHLEN` things. + * [low] Some more `PATH_MAX`/`MAXPATHLEN` things. + + * `gs:` usage + + * `lib/Target/X86/`, `test/CodeGen/X86/`, `test/MC/X86/`. + + * `tools/clang/` + + tools/clang/docs/LanguageExtensions.rst: movl %gs:(%eax), %eax + tools/clang/test/Sema/asm.c: asm volatile ("movb %%gs:%P2,%b0" : "=q"(b) : "0"(0), "i"(5L)); + + * `compiler-rt` and `test-suite` not yet examined. + + * [low] Linuxisms + + * `test/`, `unittests`, `tools/clang/test/`, `tools/clang/unittests/` not + yet examined. + + * In clang's `test/Driver/` a lot of testing can be generalized from + *Linux* to *GNU environment*, adding GNU/Hurd testing, too. - * Review `gs:` usage in `[llvm]/lib/Target/X86/`, `[llvm]/test/CodeGen/X86/`, - `[llvm]/test/MC/X86/`. -./clang/tschwinge/Hank_Mobley/docs/LanguageExtensions.rst: movl %gs:(%eax), %eax -./clang/tschwinge/Hank_Mobley/test/Sema/asm.c: asm volatile ("movb %%gs:%P2,%b0" : "=q"(b) : "0"(0), "i"(5L)); + * `compiler-rt` and `test-suite` not yet examined. + + * `/proc` usage + + * `compiler-rt` and `test-suite` not yet examined. + + * `libc++` (not currently using) + + Some Hurd-porting work is said to have been done as Google Summer of Code + 2012 Debian project, + . # Build Here's a log of a LLVM build run; this is from our [[Git repository's sources|source_repositories/llvm]], llvm -792d08f44e4386ea671c1313cad9dfc9fc853794 (2013-01-09), clang -1d2e1d18ae77b1949a31203ed7001b5817f29b09 (2013-01-09), compiler-rt -b1d1ef27db5b6c7788cda3dfd5deb6037dd4a3b8 (2013-01-09), test-suite -a26cfd0ef760f09e753b76d3e633a6af9ed637f8 (2013-01-08), run on kepler.SCHWINGE +0a109de14d0ced95d99b9ec60d4ef9479d6404d3 (2013-02-08), clang +4cdb7414a1862270bbf8ff2c345aea879a64a116 (2013-02-08), compiler-rt +ed83584256249ee2c474fb18abf7df6aa73019b0 (2013-02-08), test-suite +d1212efdb685151165a48d0f89cf3d40154468bc (2013-02-08), run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -78,7 +108,8 @@ and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -Passing `--enable-debug-symbols`, the GNU/Hurd build terminates with a SIGBUS +Passing `--enable-debug-symbols`, the GNU/Hurd build on coulomb.SCHWINGE +terminates with a SIGBUS when linking `Release+Debug+Asserts/bin/clang` (which is bigger than 500 MiB for the corresponding GNU/Linux build). Using `--enable-debug-symbols --enable-shared`, the GNU/Hurd build hang after `make[1]: Leaving directory @@ -90,10 +121,17 @@ the corresponding GNU/Linux build). Also there is a separate This takes up around 3 GiB, and needs roughly 1.25 h on kepler.SCHWINGE and 4.25 h on coulomb.SCHWINGE. +Configuring without `--enable-optimized` even crashes mighty darnassus, +probably because of too-big files when linking. Configuring with +`--enable-optimized --enable-expensive-checks --disable-threads +--enable-debug-symbols --enable-debug-runtime` is fine. + @@ -165,4 +203,96 @@ coulomb.SCHWINGE. $ toolchain/logs/process llvm test -TODO + * `LLVM :: CodeGen/X86/mult-alt-generic-i686.ll`, `LLVM :: + CodeGen/X86/win_ftol2.ll` + + These, as well as a really large set of test from the test-suite fail on + coulomb.SCHWINGE no matter whether a GNU/Hurd or GNU/Linux system is booted + -- so all these are specific to the Athlon XP processor, hopefully. + + * `Clang :: Index/crash-recovery-modules.m` + + Also fails on GNU/Linux. Tested `--enable-optimized + --enable-expensive-checks --disable-threads --enable-debug-symbols + --enable-debug-runtime`. [[!LLVM_bug 11974]]. + + * `Clang :: Misc/dev-fd-fs.c` + + $ cat < [...]/test/Misc/dev-fd-fs.c | Release+Debug+Asserts+Checks/bin/clang -x c /dev/fd/0 -E + clang: error: no such file or directory: '/dev/fd/0' + clang: error: no input files + + Compare to: + + $ cat < [...]/test/Misc/dev-fd-fs.c | gcc -x c /dev/fd/0 -E + gcc: error: /dev/fd/0: (ipc/mig) bad request message ID + gcc: warning: '-x c' after last input file has no effect + gcc: fatal error: no input files + compilation terminated. + + These work: + + $ Release+Debug+Asserts+Checks/bin/clang -x c /dev/fd/0 -E < [...]/test/Misc/dev-fd-fs.c + [...] + int x; + $ gcc -x c /dev/fd/0 -E < [...]/test/Misc/dev-fd-fs.c + [...] + int x; + + * `Clang :: Tooling/clang-check-builtin-headers.cpp` + + Fails: `fatal error: 'stddef.h' file not found`; succeeds when ran + manually. + + * About 200 clang tests fail; they all seem similar. These are especially + the `Clang :: Index/*` and `Clang :: Modules/*` tests. Configuring with + `--enable-optimized --enable-expensive-checks --disable-threads + --enable-debug-symbols --enable-debug-runtime`, these FAILs go away. + + * With `--enable-optimized --enable-expensive-checks --disable-threads + --enable-debug-symbols --enable-debug-runtime`, there are a few new FAILs + for both GNU/Linux and GNU/Hurd: + + * `Clang :: Tooling/auto-detect-from-source-parent-of-cwd.cpp` + + * `Clang :: Tooling/auto-detect-from-source-parent.cpp` + + * `Clang :: Tooling/clang-check-autodetect-dir.cpp` + + For all three, the `clang-check` invocation fails. [[!LLVM_bug 15194]]. + + * Several tests are not considered on GNU/Hurd. + + * Differences in test-suite, that are not evidently floating-point issues, + GNU/Linux vs. GNU/Hurd on coulomb.SCHWINGE: + + gcc-4.6 -I/media/erich/home/thomas/tmp/llvm/tschwinge/Horace_Silver.build/projects/test-suite/SingleSource/UnitTests -I/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/SingleSource/UnitTests -I/home/thomas/tmp/llvm/tschwinge/Horace_Silver.build/projects/test-suite/../../../Horace_Silver/projects/test-suite/include -I../../include -I/home/thomas/tmp/llvm/tschwinge/Horace_Silver.build/include -I/home/thomas/tmp/llvm/tschwinge/Horace_Silver/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DNDEBUG -O3 /media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/SingleSource/UnitTests/2007-04-25-weak.c -lm -o Output/2007-04-25-weak.native -lstdc++ + +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/SingleSource/UnitTests/2007-04-25-weak.c:3:1: warning: 'weak_import' attribute directive ignored [-Wattributes] + +/tmp/ccWGwKvo.o: In function `main': + +2007-04-25-weak.c:(.text.startup+0x7): undefined reference to `test_weak' + +collect2: ld returned 1 exit status + +make[2]: [Output/2007-04-25-weak.native] Error 1 (ignored) + + On GNU/Linux, the clamav tests are compiled with `-DC_LINUX`. + + +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Applications/lambda-0.1.3/lambda.cc:63:12: error: use of undeclared identifier 'MAXPATHLEN' + + char buf[MAXPATHLEN+1]; + + ..., with follow-up failures. + + `projects/test-suite/MultiSource/Applications/obsequi` is not at all + considered for GNU/Hurd. + + +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Benchmarks/Olden/voronoi/newvor.c:178:25: warning: implicit declaration of function 'memalign' is invalid in C99 [-Wimplicit-function-declaration] + + char* base = (char*)memalign(align_size, alloc_size); + + ^ + +1 warning generated. + + +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Benchmarks/Prolangs-C/archie-client/get_vdir.c:213:20: error: use of undeclared identifier 'MAXPATHLEN' + + char l_name[MAX_DIR_LINESIZE]; + + ^ + +/media/erich/home/thomas/tmp/llvm/test-suite/tschwinge/Art_Blakey/MultiSource/Benchmarks/Prolangs-C/archie-client/pprot.h:39:37: note: expanded from macro 'MAX_DIR_LINESIZE' + +#define MAX_DIR_LINESIZE 160+MAXPATHLEN /* Max linesize in directory */ + + ^ + + ..., and several more. diff --git a/shortcuts.mdwn b/shortcuts.mdwn index 2f12f28f..c211bd30 100644 --- a/shortcuts.mdwn +++ b/shortcuts.mdwn @@ -115,3 +115,9 @@ ikiwiki will include your shortcut in the standard underlay. * [[!shortcut name=stackoverflow_question url="http://stackoverflow.com/questions/%s" desc="Stack Overflow question %s"]] + + +## [[LLVM]] + + * [[!shortcut name=LLVM_bug url="http://llvm.org/bugs/show_bug.cgi?id=%s" + desc="LLVM bug #%s"]] diff --git a/toolchain/logs b/toolchain/logs index 6ca9984a..06b147ee 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 6ca9984afbe68e4fa144a82d9e3020acb5e7aa3e +Subproject commit 06b147ee6351f7b664604438bb06ac4b5fc027b7 -- cgit v1.2.3 From 70e4358dca9cca2a5f820267895f4d21a6a215e9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 9 Feb 2013 21:42:26 +0100 Subject: open_issues/llvm: Use GCC 4.7. --- open_issues/llvm.mdwn | 2 +- toolchain/logs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn index 983f0b03..5d255504 100644 --- a/open_issues/llvm.mdwn +++ b/open_issues/llvm.mdwn @@ -102,7 +102,7 @@ and coulomb.SCHWINGE. $ (cd ../Horace_Silver/ && ln -sfn ../../../clang/tschwinge/Hank_Mobley tools/clang) $ (cd ../Horace_Silver/ && ln -sfn ../../../compiler-rt/tschwinge/Doug_Watkins projects/compiler-rt) $ (cd ../Horace_Silver/ && ln -sfn ../../../test-suite/tschwinge/Art_Blakey projects/test-suite) - $ ../Horace_Silver/configure --prefix="$PWD".install --enable-optimized SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build + $ ../Horace_Silver/configure --prefix="$PWD".install --enable-optimized SHELL=/bin/dash CC=gcc-4.7 CXX=g++-4.7 2>&1 | tee log_build $ make VERBOSE=1 2>&1 | tee log_build_ Different hosts may default to different shells and compiler versions; thus diff --git a/toolchain/logs b/toolchain/logs index 06b147ee..756acec9 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 06b147ee6351f7b664604438bb06ac4b5fc027b7 +Subproject commit 756acec9dfc00de250c9cca0ec745e38416b34e8 -- cgit v1.2.3 From 539546d75f4d3ba46b41c6f2869ef7d8500f6ecb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 12 Feb 2013 23:41:15 +0100 Subject: open_issues/glibc: t/pie-sbrk branch. --- open_issues/gcc/pie.mdwn | 9 +++++++-- open_issues/glibc.mdwn | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/open_issues/gcc/pie.mdwn b/open_issues/gcc/pie.mdwn index a4598d1e..52517a28 100644 --- a/open_issues/gcc/pie.mdwn +++ b/open_issues/gcc/pie.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -10,7 +10,7 @@ License|/fdl]]."]]"""]] [[!meta title="Position-Independent Executables"]] -[[!tag open_issue_gcc]] +[[!tag open_issue_glibc]] # IRC, freenode, #debian-hurd, 2012-11-08 @@ -38,3 +38,8 @@ License|/fdl]]."]]"""]] uh this causes the w3m build failure and (indirectly, due to elinks built with -pie) aptitude + + +## id:"20130211040854.GN5926@type.youpi.perso.aquilenet.fr" + +[[glibc]] `t/pie-sbrk` branch. diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index bf240724..0379dad4 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -52,6 +52,10 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 918b56067a444572f1c71b02f18255ae4540b043. [[!GCC_PR 53183]], GCC commit c05436a7e361b8040ee899266e15bea817212c37. + * `t/pie-sbrk` + + [[gcc/PIE]]. + * `t/sysvshm` ../sysdeps/mach/hurd/shmat.c: In function '__shmat': -- cgit v1.2.3 From 6e1496e240ae682648575ba79115197d85477a08 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 13 Feb 2013 09:19:34 +0100 Subject: open_issues/glibc: 60f4d2f33666d77ac018cb9956675dcad04bb996 (2013-02-12; fbeafedeea37e0af1984a6511018d159f5ceed6a (2012-11-03)) --- open_issues/glibc.mdwn | 12 +++++++----- toolchain/logs | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index 0379dad4..ac4d7d12 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -894,7 +894,7 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 # Build Here's a log of a glibc build run; this is from our [[Git repository's -28b74f8dbc3eb639d35fc0f93021ac5eb1fde9a4 (2012-11-03; +60f4d2f33666d77ac018cb9956675dcad04bb996 (2013-02-12; fbeafedeea37e0af1984a6511018d159f5ceed6a (2012-11-03)) sources|source_repositories/glibc]], run on coulomb.SCHWINGE. @@ -904,7 +904,7 @@ sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ make install_root=/INVALID 2>&1 | tee log_build_ [...] -This takes up around 500 MiB, and needs roughly X min on kepler.SCHWINGE and +This takes up around 550 MiB, and needs roughly X min on kepler.SCHWINGE and 100 min on coulomb.SCHWINGE. Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm -0f58dbae4ab2397dc310e19d171a4bc60fc6c9a7 (2013-02-08), clang -52635ff9fb530dfdfc6a94e52a2270bf1bb8346b (2013-02-08), compiler-rt -ed83584256249ee2c474fb18abf7df6aa73019b0 (2013-02-08), test-suite +e68542e67e5c0f8d4bbdae0dde6ccd24525a18e3 (2013-02-13), clang +2cbd427ec533f022f612fed0dd93ef5fa214478a (2013-02-12), compiler-rt +c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08). * . @@ -92,10 +92,10 @@ f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08). Here's a log of a LLVM build run; this is from our [[Git repository's sources|source_repositories/llvm]], llvm -0a109de14d0ced95d99b9ec60d4ef9479d6404d3 (2013-02-08), clang -4cdb7414a1862270bbf8ff2c345aea879a64a116 (2013-02-08), compiler-rt -ed83584256249ee2c474fb18abf7df6aa73019b0 (2013-02-08), test-suite -d1212efdb685151165a48d0f89cf3d40154468bc (2013-02-08), run on kepler.SCHWINGE +829831c561ca75cb81cbe217dee25b52dbe0e2f0 (2013-02-13), clang +6b02a96cdeecb9cc2070a5a5684d62bb32ba40d6 (2013-02-13), compiler-rt +c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite +f8647dbb30c3ee173c038aff10f815b0ba856793 (2013-02-09), run on kepler.SCHWINGE and coulomb.SCHWINGE. $ export LC_ALL=C @@ -139,18 +139,6 @@ probably because of too-big files when linking. Configuring with $ toolchain/logs/process llvm build - -checking type of operating system we're going to host on... Linux - -checking type of operating system we're going to target... Linux - +checking type of operating system we're going to host on... GNU - +checking type of operating system we're going to target... GNU - - -checking mach/mach.h usability... no - -checking mach/mach.h presence... no - -checking for mach/mach.h... no - +checking mach/mach.h usability... yes - +checking mach/mach.h presence... yes - +checking for mach/mach.h... yes - -checking for mmap of files... yes +checking for mmap of files... no checking if /dev/zero is needed for mmap... no @@ -158,12 +146,13 @@ probably because of too-big files when linking. Configuring with Due to [[mmap_write-only]]. - -checking type of operating system we're going to target... Linux - +checking type of operating system we're going to target... Unknown + +In file included from [...]/lib/Support/Process.cpp:85:0: + +[...]/lib/Support/Unix/Process.inc: In function 'unsigned int getColumns(int)': + +[...]/lib/Support/Unix/Process.inc:227:21: warning: enumeral and non-enumeral type in conditional expression [enabled by default] - +In file included from [...]/tschwinge/Horace_Silver/lib/Support/Process.cpp:29:0: - +[...]/tschwinge/Horace_Silver/lib/Support/Unix/Process.inc: In function 'unsigned int getColumns(int)': - +[...]/tschwinge/Horace_Silver/lib/Support/Unix/Process.inc:220:21: warning: enumeral and non-enumeral type in conditional expression [enabled b + 225 // Try to determine the width of the terminal. + 226 struct winsize ws; + 227 if (ioctl(FileID, TIOCGWINSZ, &ws) == 0) include/llvm/Config/* Makefile.config @@ -203,10 +192,9 @@ coulomb.SCHWINGE. $ toolchain/logs/process llvm test - * `LLVM :: CodeGen/X86/mult-alt-generic-i686.ll`, `LLVM :: - CodeGen/X86/win_ftol2.ll` + * `LLVM :: CodeGen/X86/mult-alt-generic-i686.ll` - These, as well as a really large set of test from the test-suite fail on + This one, as well as a really large set of test from the test-suite fail on coulomb.SCHWINGE no matter whether a GNU/Hurd or GNU/Linux system is booted -- so all these are specific to the Athlon XP processor, hopefully. @@ -244,11 +232,6 @@ coulomb.SCHWINGE. Fails: `fatal error: 'stddef.h' file not found`; succeeds when ran manually. - * About 200 clang tests fail; they all seem similar. These are especially - the `Clang :: Index/*` and `Clang :: Modules/*` tests. Configuring with - `--enable-optimized --enable-expensive-checks --disable-threads - --enable-debug-symbols --enable-debug-runtime`, these FAILs go away. - * With `--enable-optimized --enable-expensive-checks --disable-threads --enable-debug-symbols --enable-debug-runtime`, there are a few new FAILs for both GNU/Linux and GNU/Hurd: @@ -263,6 +246,27 @@ coulomb.SCHWINGE. * Several tests are not considered on GNU/Hurd. + -PASS: Clang-Unit :: ASTMatchers/[...]/tschwinge/Horace_Silver.build/tools/clang/unittests/ASTMatchers/Release+Asserts/ASTMatchersTests/HasNameDeathTest.DiesOnEmptyName + -PASS: Clang-Unit :: ASTMatchers/[...]/tschwinge/Horace_Silver.build/tools/clang/unittests/ASTMatchers/Release+Asserts/ASTMatchersTests/HasNameDeathTest.DiesOnEmptyPattern + -PASS: Clang-Unit :: ASTMatchers/[...]/tschwinge/Horace_Silver.build/tools/clang/unittests/ASTMatchers/Release+Asserts/ASTMatchersTests/IsDerivedFromDeathTest.DiesOnEmptyBaseName + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.SemanticsDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringDecimalDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringDecimalExponentDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringDecimalSignificandDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringHexadecimalDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringHexadecimalExponentDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APFloatTest.StringHexadecimalSignificandDeath + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/APIntTest.StringDeath + -PASS: LLVM-Unit :: Support/[...]/tschwinge/Horace_Silver.build/unittests/Support/Release+Asserts/SupportTests/LeakDetector.Death1 + -PASS: LLVM-Unit :: Support/[...]/tschwinge/Horace_Silver.build/unittests/Support/Release+Asserts/SupportTests/ValueHandle.AssertingVH_Asserts + + GTEST_HAS_DEATH_TEST utils/unittest/googletest/include/gtest/internal/gtest-port.h + + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/PackedVectorTest.SignedValues + -PASS: LLVM-Unit :: ADT/[...]/tschwinge/Horace_Silver.build/unittests/ADT/Release+Asserts/ADTTests/PackedVectorTest.UnsignedValues + + EXPECT_DEBUG_DEATH utils/unittest/googletest/include/gtest/gtest-death-test.h + * Differences in test-suite, that are not evidently floating-point issues, GNU/Linux vs. GNU/Hurd on coulomb.SCHWINGE: diff --git a/toolchain/logs b/toolchain/logs index b5d3c55f..9dc02241 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit b5d3c55f7a6ca83c6c5c03e3e13bd3027cab282b +Subproject commit 9dc02241b1a742d5ebf3ba2fdfa5039bf2b2931a -- cgit v1.2.3 From 3ec364ce867cd9835cc3394e596cf732e8c22da3 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 19 Feb 2013 22:49:00 +0100 Subject: open_issues/fork_deadlock: And again. --- open_issues/fork_deadlock.mdwn | 120 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/open_issues/fork_deadlock.mdwn b/open_issues/fork_deadlock.mdwn index 884ee601..08e53330 100644 --- a/open_issues/fork_deadlock.mdwn +++ b/open_issues/fork_deadlock.mdwn @@ -3444,3 +3444,123 @@ This time, it's our own sigstate, not the global one: (gdb) print _hurd_global_sigstate $1 = (struct hurd_sigstate *) 0x1219808 + + +## 2013-02-19 + +Reproduced the 2013-02-08 findings with Richard's `2.13-39+hurd.rbraun.6` +packages (but doesn't seem related to the issues he's working on), which +includes the hack from the email above, after a GCC build's `make` has been +running for 14.25 h (so very near the end of the build, darn): + + PID UID PPID PGrp Sess TH Vmem RSS %CPU User System Args + 2792 1000 2773 1728 409 2 146M 1.19M 0.0 0:00.20 0:00.80 /bin/dash /home/thomas/tmp/gcc/hurd/master/libatomic/configure --cache-fil + 3839 1000 2792 1728 409 2 146M 532K 0.0 0:00.00 0:00.00 /bin/dash /home/thomas/tmp/gcc/hurd/master/libatomic/configure --cache-fil + 3841 1000 3839 1728 409 2 146M 272K 95.4 4:13.12 5hrs /bin/dash /home/thomas/tmp/gcc/hurd/master/libatomic/configure --cache-fil + + #0 0x0105a87c in swtch_pri () at /home/rbraun/devel/debian/packages/eglibc/eglibc-2.13/build-tree/hurd-i386-libc/mach/swtch_pri.S:2 + No locals. + #1 0x0105c104 in __spin_lock_solid (lock=0x121d00c) at spin-solid.c:27 + No locals. + #2 0x01070f43 in __spin_lock (__lock=) at ../mach/lock-intern.h:55 + No locals. + #3 _hurd_sigstate_lock (ss=0x121d008) at hurdsig.c:174 + No locals. + #4 0x0110e66c in _hurd_critical_section_unlock (our_lock=) at ../hurd/hurd/signal.h:235 + No locals. + #5 __fork () at ../sysdeps/mach/hurd/fork.c:716 + env = {{__jmpbuf = {18694132, 18989000, 134637636, 16926072, 16925700, 17883231}, __mask_was_saved = 0, __saved_mask = 4294967295}} + pid = 0 + err = + __PRETTY_FUNCTION__ = "__fork" + ss = 0x121d008 + threads = 0x0 + nthreads = 0 + stopped = 1 + i = 6 + [...] + (gdb) frame 5 + #5 __fork () at ../sysdeps/mach/hurd/fork.c:716 + warning: Source file is more recent than executable. + 716 _hurd_critical_section_unlock (ss); + (gdb) list + 711 ! symbol_set_end_p (_hurd_fork_locks, p); + 712 ++p) + 713 __mutex_unlock (*p); + 714 } + 715 + 716 _hurd_critical_section_unlock (ss); + 717 + 718 return err ? __hurd_fail (err) : pid; + 719 } + 720 libc_hidden_def (__fork) + (gdb) frame 4 + #4 0x0110e66c in _hurd_critical_section_unlock (our_lock=) at ../hurd/hurd/signal.h:235 + warning: Source file is more recent than executable. + 235 _hurd_sigstate_lock (ss); + (gdb) list + 230 else + 231 { + 232 /* It was us who acquired the critical section lock. Unlock it. */ + 233 struct hurd_sigstate *ss = (struct hurd_sigstate *) our_lock; + 234 sigset_t pending; + 235 _hurd_sigstate_lock (ss); + 236 __spin_unlock (&ss->critical_section_lock); + 237 pending = _hurd_sigstate_pending(ss) & ~ss->blocked; + 238 _hurd_sigstate_unlock (ss); + 239 if (! __sigisemptyset (&pending)) + (gdb) frame 3 + #3 _hurd_sigstate_lock (ss=0x121d008) at hurdsig.c:174 + warning: Source file is more recent than executable. + 174 __spin_lock (&ss->lock); + (gdb) list + 169 void + 170 _hurd_sigstate_lock (struct hurd_sigstate *ss) + 171 { + 172 if (sigstate_is_global_rcv (ss)) + 173 __spin_lock (&_hurd_global_sigstate->lock); + 174 __spin_lock (&ss->lock); + 175 } + 176 void + 177 _hurd_sigstate_unlock (struct hurd_sigstate *ss) + 178 { + (gdb) print _hurd_global_sigstate + $1 = (struct hurd_sigstate *) 0x121d808 + (gdb) print *_hurd_global_sigstate + $2 = {critical_section_lock = 0, lock = 1, thread = 0, next = 0x0, blocked = 4294967295, pending = 0, actions = {{__sigaction_handler = { + sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, + sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, { + __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, + sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, { + __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, + sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, { + __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, + sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, { + __sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, + sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, + sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = { + sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, + sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = { + sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0x80564f0, + sa_sigaction = 0x80564f0}, sa_mask = 4294967295, sa_flags = 0}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, + sa_mask = 0, sa_flags = 2} }, sigaltstack = {ss_sp = 0x0, ss_size = 0, ss_flags = 0}, preemptors = 0x0, + pending_data = {{exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} }, suspended = 0, intr_port = 0, + context = 0x0, active_resources = 0x0, cancel = 0, cancel_hook = 0} + (gdb) print ss + $3 = (struct hurd_sigstate *) 0x121d008 + (gdb) print *ss + $4 = {critical_section_lock = 1, lock = 1, thread = 73, next = 0x1227808, blocked = 0, pending = 0, actions = {{__sigaction_handler = { + sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = 0, sa_flags = 2}, {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, + sa_mask = 0, sa_flags = 2} }, sigaltstack = {ss_sp = 0x0, ss_size = 0, ss_flags = 0}, preemptors = 0x0, + pending_data = {{exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} , {exc = 0, exc_code = 19025712, + exc_subcode = 85056, code = 1, error = 17257936}, {exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} }, + suspended = 0, intr_port = 0, context = 0x0, active_resources = 0x0, cancel = 0, cancel_hook = 0} + (gdb) print ss->next + $5 = (struct hurd_sigstate *) 0x1227808 + (gdb) print *ss->next + $6 = {critical_section_lock = 0, lock = 0, thread = 76, next = 0x0, blocked = 0, pending = 0, actions = {{__sigaction_handler = { + sa_handler = 0, sa_sigaction = 0}, sa_mask = 0, sa_flags = 2} }, sigaltstack = {ss_sp = 0x0, ss_size = 0, + ss_flags = 0}, preemptors = 0x0, pending_data = {{exc = 0, exc_code = 0, exc_subcode = 0, code = 0, error = 0} }, + suspended = 0, intr_port = 0, context = 0x0, active_resources = 0x0, cancel = 0, cancel_hook = 0} + +So again, it's our own sigstate that already is locked, not the global one. -- cgit v1.2.3 From e20a97e3899748d195d66963dec38fc60f8732ff Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 24 Feb 2013 22:45:53 +0100 Subject: more details about usb/multicore support, and debian wheezy --- hurd/status.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hurd/status.mdwn b/hurd/status.mdwn index e6545b27..ce9e01dd 100644 --- a/hurd/status.mdwn +++ b/hurd/status.mdwn @@ -30,7 +30,7 @@ instance. You can run the X window system, applications that use it such as gnumeric, iceweasel, and advanced server applications like the Apache webserver. On the negative side, the support for character devices (like sound -cards) and other hardware is mostly missing. Although the [[POSIX +cards) and other hardware (USB, multicore) is mostly missing. Although the [[POSIX interface|faq/posix_compatibility]] is provided, some additional interfaces like POSIX shared memory or semaphores are still under development. @@ -51,9 +51,9 @@ align="right" ]] [[Debian GNU/Hurd|running/debian]] closely tracks the progress of the Hurd (and often includes new features). They offer *LiveCDs and QEMU images* to -test-drive the Hurd, and about 75% of the Debian software archive are +test-drive the Hurd, and about 78% of the Debian software archive are available. The most recent version of the Debian GNU/Hurd port at the time of -writing was published on 2012 February 21st. +writing was published on 2013 January 5th. Debian Wheezy will unfortunately not officially release officially the Hurd port, an unofficial release will however be available. [[hurd/running/Arch_Hurd]] offers *LiveCDs* for testing and installation. -- cgit v1.2.3 From e823ec718bb3119879e4e4871e844bb3198a37c8 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 28 Feb 2013 12:36:47 +0100 Subject: AF_BUS, D-Bus, and the Linux kernel, Greg Kroah-Hartman, 2013-02-08. --- open_issues/dbus_in_linux_kernel.mdwn | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/open_issues/dbus_in_linux_kernel.mdwn b/open_issues/dbus_in_linux_kernel.mdwn index a94e1fed..caf47711 100644 --- a/open_issues/dbus_in_linux_kernel.mdwn +++ b/open_issues/dbus_in_linux_kernel.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -8,9 +8,14 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!meta title="AF_BUS, D-Bus, and the Linux kernel"]] + Might be interesting to watch how this develops. -IRC, #hurd, August / September 2010 +[[!toc]] + + +# IRC, freenode, #hurd, about 2010-08/2010-09 check this out: someone is working on implementing dbus in linux @@ -62,3 +67,10 @@ IRC, #hurd, August / September 2010 * [\[PATCH 0/5\] RFC: Multicast and filtering features on AF_UNIX](http://article.gmane.org/gmane.linux.kernel/1040481), 2010-09-24 + + +# 2013-02 + +[AF_BUS, D-Bus, and the Linux +kernel](http://www.kroah.com/log/linux/af_bus.html), Greg Kroah-Hartman, +2013-02-08. -- cgit v1.2.3 From ad4b85cb71608233a3bbfac1cf2d0c2513e6f838 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 1 Mar 2013 16:34:08 +0100 Subject: Pino Toscano did it --- contributing.mdwn | 1 - 1 file changed, 1 deletion(-) diff --git a/contributing.mdwn b/contributing.mdwn index 4aef4c49..e29ad83a 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -105,7 +105,6 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Port valgrind. There is a whole [[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the basic port could be small. -* Add a `-E` option to `rpctrace` to specify environment variables: https://savannah.gnu.org/task/index.php?9331 * Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 * Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. https://savannah.gnu.org/bugs/?32770 -- cgit v1.2.3 From 0c114fe9459acc109c9f151b287acb574c47ea69 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Fri, 1 Mar 2013 20:06:16 +0100 Subject: use more savannah shortcuts --- contributing.mdwn | 6 +++--- hurd/translator/pfinet/ipv6.mdwn | 2 +- hurd/translator/random.mdwn | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contributing.mdwn b/contributing.mdwn index e29ad83a..b5ff6f3c 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -88,7 +88,7 @@ produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. * Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an -example in the `gnumach` source tree for how to add a kernel trap. https://savannah.gnu.org/task/index.php?6231 +example in the `gnumach` source tree for how to add a kernel trap. [[!GNU_Savannah_task 6231]] * Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics (see `gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be @@ -105,8 +105,8 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Port valgrind. There is a whole [[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the basic port could be small. -* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 -* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. https://savannah.gnu.org/bugs/?32770 +* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, [[!GNU_Savannah_task 6990]] +* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. [[!GNU_Savannah_bug 32770]] diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn index edd31017..95629b8b 100644 --- a/hurd/translator/pfinet/ipv6.mdwn +++ b/hurd/translator/pfinet/ipv6.mdwn @@ -10,7 +10,7 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]]. -This was [Savannah task #5470](http://savannah.gnu.org/task/?5470). +This was [[!GNU_Savannah_task 5470]]. # Implementation diff --git a/hurd/translator/random.mdwn b/hurd/translator/random.mdwn index 9fc975f2..8304f600 100644 --- a/hurd/translator/random.mdwn +++ b/hurd/translator/random.mdwn @@ -1,4 +1,4 @@ -[Savannah task #5130: random translator](http://savannah.gnu.org/task/?5130) +[[!GNU_Savannah_task 5130]]: random translator. See the attached [[mbox.bz2]] containing all the emails concerning this topic which I was able to gather from public archives. (!) This is not up-to-date -- cgit v1.2.3 From c8a0ea99d9907b0b820564cb421a1088ca282302 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 2 Mar 2013 10:59:31 +0100 Subject: fix formatting --- hurd/porting/guidelines.mdwn | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn index aabf0345..d28a777e 100644 --- a/hurd/porting/guidelines.mdwn +++ b/hurd/porting/guidelines.mdwn @@ -189,21 +189,21 @@ To `config.h.in`, you need to add: Then something like: - #ifndef HAVE_STRERROR - static char * - private_strerror (errnum) - int errnum; - { - extern char *sys_errlist[]; - extern int sys_nerr; - - if (errnum > 0 && errnum <= sys_nerr) - return sys_errlist[errnum]; - - return "Unknown system error"; - } - #define strerror private_strerror - #endif /* HAVE_STRERROR */ + #ifndef HAVE_STRERROR + static char * + private_strerror (errnum) + int errnum; + { + extern char *sys_errlist[]; + extern int sys_nerr; + + if (errnum > 0 && errnum <= sys_nerr) + return sys_errlist[errnum]; + + return "Unknown system error"; + } + #define strerror private_strerror + #endif /* HAVE_STRERROR */ You can for example look in the latest coreutils (the above is a simplified version of what I found there.) Patches should of course be sent to upstream maintainers, this is very useful even for systems with a working `sys_errlist[]`. @@ -214,11 +214,11 @@ Of course, if you don't care about broken systems (like MS-DOG) not supporting ` On the Hurd, `error_t` is an enumeration of the `E*` constants. However, C++ does not like `E*` integer macros being directly assigned to that enumeration. In short, replace - error_t err = EINTR; + error_t err = EINTR; by - error_t err = error_t(EINTR); + error_t err = error_t(EINTR); ## Missing `termio.h` @@ -356,7 +356,7 @@ With Python, you can use the [`errno` module](http://docs.python.org/library/err ## undefined reference to `dlopen`, `dlsym`, `dlclose` -Configure script often hardcode the library that contains dlopen & such (`-ldl'), and only for Linux. Simply add the other GNU OS cases: replace `linux*' with `linux*|gnu*|k*bsd*-gnu` +Configure script often hardcode the library that contains dlopen & such (`-ldl`), and only for Linux. Simply add the other GNU OS cases: replace `linux*` with `linux*|gnu*|k*bsd*-gnu*` ## Missing `linux/types.h`, `asm/types.h`, `linux/limits.h`, `asm/byteorder.h`, `sys/endian.h`, `asm/ioctl.h`, `asm/ioctls.h`, `linux/soundcard.h` -- cgit v1.2.3 From 65ba38cbe661edbe083cc8290d0ca4e265a7422f Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 2 Mar 2013 19:04:09 +0100 Subject: old procfs code removed --- hurd/translator/procfs/jkoenig/discussion.mdwn | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn index aded4225..84d3c4c6 100644 --- a/hurd/translator/procfs/jkoenig/discussion.mdwn +++ b/hurd/translator/procfs/jkoenig/discussion.mdwn @@ -314,17 +314,6 @@ This is used in `[LLVM]/lib/Support/Unix/Path.inc`. report why the test suite failed -# IRC, freenode, #hurd, 2011-06-19 - - jkoenig: procfs question: in process.c, process_lookup_pid, why - is the entries[2].hook line repeated twice? - pinotree, let me check - pinotree, it's probably just a mistake, there's no way the second - one has any effect - jkoenig: i see, it looked like you c&p'd that code accidentally - pinotree, it's probably what happened, yes. - - # `/proc/[PID]/cwd` ## IRC, freenode, #hurd, 2012-06-30 -- cgit v1.2.3 From 3dc03db6f1705ba0f9b6b20114040090b26b1cba Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 2 Mar 2013 19:26:56 +0100 Subject: fix link --- open_issues/llvm.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn index ad1fe983..56b4513e 100644 --- a/open_issues/llvm.mdwn +++ b/open_issues/llvm.mdwn @@ -144,7 +144,7 @@ probably because of too-big files when linking. Configuring with checking if /dev/zero is needed for mmap... no +configure: WARNING: mmap() of files required but not found - Due to [[mmap_write-only]]. + Due to [[mmap_write-only]]. +In file included from [...]/lib/Support/Process.cpp:85:0: +[...]/lib/Support/Unix/Process.inc: In function 'unsigned int getColumns(int)': -- cgit v1.2.3