From a470fa9bd3224186c4a79db5bc386883f661abd0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 27 Feb 2010 21:38:14 +0100 Subject: rules/source_repositories -> source_repositories --- source_repositories.mdwn | 156 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 source_repositories.mdwn (limited to 'source_repositories.mdwn') diff --git a/source_repositories.mdwn b/source_repositories.mdwn new file mode 100644 index 00000000..fc52714e --- /dev/null +++ b/source_repositories.mdwn @@ -0,0 +1,156 @@ +[[!meta copyright="Copyright © 2007, 2008, 2009, 2010 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Git repositories on Savannah: . + +# Branches + +Members of the [[Hurd Savannah group|rules/savannah group]] are allowed to create +branches without formal permission: + + * named `SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` for private general-purpose or + topic branches, respectively, or + * named `BASE_BRANCH-TOPIC` for public topic branches basing on + `BASE_BRANCH`. + +`TOPIC` shall be a suitable tag describing the branch's main concern. These +tags can be applied recursively (`TOPIC-SUBTOPIC-SUBSUBTOPIC`). + +*private* vs. *public* does, of course, in this scenario not mean visibility, +but instead authority: *private* branches are those that the user +`SAVANNAH_LOGIN` has authority over, whereas *public* branches are open for +every committer to install changes on. The private branches are those that you +would typically host on your own machine and publish through your own web +server, but we offer that you can instead do this from the centralized Savannah +repository, as a number of people don't have an always-accessible web server +running on their own machines. + +Examples: + + * GNU Mach + + * `master` -- the mainline branch + * `master-oskit` -- port to OSKit; branched off of `master` at some point + * `master-gdb_stubs` -- add support for GDB stubs; branched off of + `master` at some point + + * libpthread + + * `master` -- the mainline branch + * `master-viengoos` -- port to Viengoos; branched off of `master` at some + point + * `master-viengoos-on-bare-metal` -- port to Viengoos running on bare + metal; branched off of `master-viengoos` at some point + + * unionfs + + * `master` -- the mainline branch + * `master-unionmount` -- develop `unionmount` based on `unionfs`' master + branch + +To give a concrete example, the latter one was created like this: + + $ git clone --no-checkout ssh://git.savannah.gnu.org/srv/git/hurd/unionfs.git + $ cd unionfs/ + $ git checkout -b master-unionmount origin/master + $ ... + $ git push master-unionmount + +## Merging + +Merging between Git branches is trivial, at least as long as no conflicts +arise. + +Due to this, you are encouraged to freely make use of separate branches for +different working topics, as this really faciliates concentrating on one +specific working topic. + +You are encouraged to regularely merge from the respective mainline branches +(`BASE_BRANCH`; should be `master` in most cases) into your working branches, +and ensure that your modifications are still fine in the context of new +mainline changes. + +Merging from working branches into the mainline branches will usually be done +by one of the project administrators, unless negotiated otherwise. For this to +happen, the copyright of your changes has to be assigned to the Free Software +Foundation; read about the +[[copyright assignment_process|rules/savannah group#copyright_assignment]]. + +It is explicitly encouraged to *merge* changes from working branches into the +mainline branches (as opposed to *rebase* them on top), as the former mode +easily allows to determine the context under which a patch has been developed. + +# Tags + +Equivalent rules apply. + +# Behavior + +Try to not introduce spurious, unneeded changes, e.g., whitespace changes. + +Adhere to the coding conventions that are already used. These are usually the +[GNU Coding Standards](http://www.gnu.org/prep/standards/html_node/) for stuff +written by ourselves, including new files, of course. + +GNU Mach code is largely based on external code. Don't GNU-ify it, as this +would make merging external patches unnecessarily difficult. + +## Commit messages + +We no longer maintain parallel `ChangeLog` and commit messages. When needed, +the `ChangeLog` files can be created automatically from the commit messages. + +Commit messages have this mandatory format: + + One-line summary. + Blank line. + ChangeLog-like list of changes, but without leading tabs. + +The header line of each former `ChangeLog` snippet (DATE NAME EMAIL) is no +longer to be included in the commit message, and instead the author and +committer of a change, together with the dates, will be maintained natively by +Git. + +Example: + + commit 3054666a46e0142cacef895c13edb4391435c722 + Author: Some One + AuthorDate: Thu Jun 11 15:59:55 2005 +0000 + Commit: Some One + CommitDate: Thu Jun 11 15:59:55 2005 +0000 + + Frobnicate the foo. + + * frob.c (foo): Frob it. + * oldfoo.c [OLD] (oldfoo): Likewise. + [OLD_OLD_FOO] (oofoo): Permute every second word with itself, and + beginning with the tenth line, every third one also. Pure + nonsense. + +Read about how to write [GNU-style `ChangeLog` +messages](http://www.gnu.org/prep/standards/html_node/Change-Logs.html). + +Don't waste time writing exhaustive `ChangeLog`-like commit messages for, e.g., +debugging stuff that will be removed again before merging your development +branch into the mainline. Sometimes the one-line summary might already +suffice. But please do write something. + +## Behavior on *private* branches + +Even though you are said to be the owner of branches tagged with your +`SAVANNAH_LOGIN`, it is generally nevertheless good to not do history-rewriting +stuff and the like (`git rebase` and friends), as others may in turn be basing +their work on your private branches. + +We could establish a branch-tagging policy for branches that others should +expect their history possibly to be rewritten. This may be useful for branches +that are only meant for aggregating the changes of (several) development +branches, like an imaginary `master-proposed_for_general_testing` branch. -- cgit v1.2.3 From cf17d567142756986d33f5f5940cd06905442c4f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 27 Feb 2010 21:45:01 +0100 Subject: source_repositories/glibc: New. --- source_repositories.mdwn | 2 ++ source_repositories/glibc.mdwn | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 source_repositories/glibc.mdwn (limited to 'source_repositories.mdwn') diff --git a/source_repositories.mdwn b/source_repositories.mdwn index fc52714e..70dbe1f4 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -11,6 +11,8 @@ is included in the section entitled Git repositories on Savannah: . + * [[glibc]] + # Branches Members of the [[Hurd Savannah group|rules/savannah group]] are allowed to create diff --git a/source_repositories/glibc.mdwn b/source_repositories/glibc.mdwn new file mode 100644 index 00000000..a3e3c60b --- /dev/null +++ b/source_repositories/glibc.mdwn @@ -0,0 +1,12 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +There is a repository for maintenance of [[/glibc]] for the Hurd's needs: +. -- cgit v1.2.3 From 8c7a559c11ce106f36db894149fad2348b331df3 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 1 Mar 2010 14:34:56 +0100 Subject: source_repositories/incubator: New. --- source_repositories.mdwn | 2 ++ source_repositories/incubator.mdwn | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 source_repositories/incubator.mdwn (limited to 'source_repositories.mdwn') diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 70dbe1f4..7bf2ca69 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -12,6 +12,8 @@ is included in the section entitled Git repositories on Savannah: . * [[glibc]] + * [[incubator]] + * ... # Branches diff --git a/source_repositories/incubator.mdwn b/source_repositories/incubator.mdwn new file mode 100644 index 00000000..51f64c17 --- /dev/null +++ b/source_repositories/incubator.mdwn @@ -0,0 +1,12 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +There is a repository for *this*, and *that*, and *everything* -- the +*incubator*: . -- cgit v1.2.3 From 74e5c6ca2755703aad8b209a92a7fee044825fdf Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 13 Mar 2010 15:12:33 +0100 Subject: Users can now publish anonymous read-only Git repositories from their home directories. --- contributing/web_pages.mdwn | 2 +- public_hurd_boxen/installation/flubber.mdwn | 4 +-- source_repositories.mdwn | 48 ++++++++++++++++++++++++----- 3 files changed, 44 insertions(+), 10 deletions(-) (limited to 'source_repositories.mdwn') diff --git a/contributing/web_pages.mdwn b/contributing/web_pages.mdwn index a15e7e75..51ce873e 100644 --- a/contributing/web_pages.mdwn +++ b/contributing/web_pages.mdwn @@ -116,7 +116,7 @@ SSH configuration as advised on that page.) If you have an account on there: If you don't have such an account or don't have your login data handy, you can still get pages the read-only way. - $ git clone git://flubber.bddebian.com/git/hurd-web [dest] + $ git clone git://flubber.bddebian.com/~hurd-web/hurd-web [dest] If that also doesn't work out, you have yet another chance: pull over the HTTP protocol. Not very efficient (read: rather inefficient), but it works. This diff --git a/public_hurd_boxen/installation/flubber.mdwn b/public_hurd_boxen/installation/flubber.mdwn index 219c2db9..acf0fa68 100644 --- a/public_hurd_boxen/installation/flubber.mdwn +++ b/public_hurd_boxen/installation/flubber.mdwn @@ -8,14 +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]]."]]"""]] -# *git-daemon* +# *git daemon* ## `/etc/rc.local` [...] # runit doesn't work yet... LC_ALL=C date >> /var/log/git-daemon - git daemon --verbose --base-path=/var/cache /var/cache/git >> /var/log/git-daemon 2>&1 & + git daemon --verbose --user-path >> /var/log/git-daemon 2>&1 & [...] Should [[fix runit|open issues/runit]] and use Debian's `git-daemon-run` diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 7bf2ca69..5789cf86 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -9,13 +9,17 @@ 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]]."]]"""]] -Git repositories on Savannah: . +[[!toc levels=3]] + +# Git repositories on Savannah + + * [[glibc]] * [[incubator]] * ... -# Branches +## Branches Members of the [[Hurd Savannah group|rules/savannah group]] are allowed to create branches without formal permission: @@ -68,7 +72,7 @@ To give a concrete example, the latter one was created like this: $ ... $ git push master-unionmount -## Merging +### Merging Merging between Git branches is trivial, at least as long as no conflicts arise. @@ -92,11 +96,11 @@ It is explicitly encouraged to *merge* changes from working branches into the mainline branches (as opposed to *rebase* them on top), as the former mode easily allows to determine the context under which a patch has been developed. -# Tags +## Tags Equivalent rules apply. -# Behavior +## Behavior Try to not introduce spurious, unneeded changes, e.g., whitespace changes. @@ -107,7 +111,7 @@ written by ourselves, including new files, of course. GNU Mach code is largely based on external code. Don't GNU-ify it, as this would make merging external patches unnecessarily difficult. -## Commit messages +### Commit messages We no longer maintain parallel `ChangeLog` and commit messages. When needed, the `ChangeLog` files can be created automatically from the commit messages. @@ -147,7 +151,7 @@ debugging stuff that will be removed again before merging your development branch into the mainline. Sometimes the one-line summary might already suffice. But please do write something. -## Behavior on *private* branches +### Behavior on *private* branches Even though you are said to be the owner of branches tagged with your `SAVANNAH_LOGIN`, it is generally nevertheless good to not do history-rewriting @@ -158,3 +162,33 @@ We could establish a branch-tagging policy for branches that others should expect their history possibly to be rewritten. This may be useful for branches that are only meant for aggregating the changes of (several) development branches, like an imaginary `master-proposed_for_general_testing` branch. + + +# Git repositories on flubber + +[[flubber|public hurd boxen]] is +[[configured|public_hurd_boxen/installation/flubber]] in a way so that users +can publish Git repositories from their home directories. The only thing to do +is to put an empty `.git/git-daemon-export-ok` (cf. [*git daemon*'s manual +page](http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html)) into +the repository, or just `git-daemon-export-ok` for +[*bare*](http://www.kernel.org/pub/software/scm/git/docs/git-init.html) +repositories. + +For example, the [[contributing/web pages]] repository is made available like +this: `~hurd-web/hurd-web` is a bare repository; there is an empty +`~hurd-web/hurd-web/git-daemon-export-ok` file. Users can clone the repository +like this: + + $ git clone git://flubber.bddebian.com/~hurd-web/hurd-web + +Another example, [[Thomas Schwinge|tschwinge]] has a checkout of +[[hurd/libpthread]] in `~tschwinge/tmp/hurd/libpthread/`, the +`~tschwinge/tmp/hurd/libpthread/.git/git-daemon-export-ok` file exists. If you +really need to, you can clone it like this: + + $ git clone git://flubber.bddebian.com/~tschwinge/tmp/hurd/libpthread + +## List of Interesting Repositories + + * web pages: git://flubber.bddebian.com/~hurd-web/hurd-web -- cgit v1.2.3 From a4a38a22c6b12fc55f263b59df4e71950126ca3f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 31 Jul 2010 23:58:00 +0200 Subject: source_repositories: Debian Git repositories. --- source_repositories.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source_repositories.mdwn') diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 5789cf86..41ca37be 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -192,3 +192,13 @@ really need to, you can clone it like this: ## List of Interesting Repositories * web pages: git://flubber.bddebian.com/~hurd-web/hurd-web + + +# Debian Git repositories + +IRC, #hurd, 2010-07-31 + + git-buildpackage is to be used to build these new Debian repositories, I guess? + well, the Vcs-Git control header is about everything people need to know, I believe :) + git-buildpackage is just mostly an easy way to build the .orig.tar.Gz from the tag + http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html -- cgit v1.2.3 From 9b6a5bd202ca8f0a99b9d3a17ea3e077aa7fcf41 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 14 Sep 2010 17:32:08 +0200 Subject: hurd/translator/procfs: Imported Jérémie Koenig's version into procfs.git. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hurd/translator/procfs.mdwn | 4 ++++ source_repositories.mdwn | 1 + 2 files changed, 5 insertions(+) (limited to 'source_repositories.mdwn') diff --git a/hurd/translator/procfs.mdwn b/hurd/translator/procfs.mdwn index 0247aa33..bc22530f 100644 --- a/hurd/translator/procfs.mdwn +++ b/hurd/translator/procfs.mdwn @@ -26,8 +26,12 @@ probably no point in trying to duplicate this functionality as well...) *Status*: Madhusudan.C.S has implemented a new, fully functional [[procfs|madhusudancs]] for [[GSoC 2008|community/gsoc/2008]]. +# New Implementation by Jérémie Koenig + In August 2010, Jérémie Koenig [published another, new version](http://lists.gnu.org/archive/html/bug-hurd/2010-08/msg00165.html). +This can be found in , +branch *jkoenig/master*. # Internals diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 41ca37be..8729e48b 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -17,6 +17,7 @@ is included in the section entitled * [[glibc]] * [[incubator]] + * [[hurd/translator/procfs]] * ... ## Branches -- cgit v1.2.3 From 14dd8c386328c3e42acec4d10e8f3246ae141165 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 21 Sep 2010 12:05:48 +0200 Subject: source_repositories: Extend. --- source_repositories.mdwn | 65 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 54 insertions(+), 11 deletions(-) (limited to 'source_repositories.mdwn') diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 8729e48b..d7add548 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -9,31 +9,48 @@ 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]]."]]"""]] +This page is meant to give some guidelines. Please use good sense or ask on +[[mailing-lists/bug-hurd]] if there are any questions. + + [[!toc levels=3]] + # Git repositories on Savannah - + + + * hurd.git -- Hurd meta package; no real content yet + * [[hurd/glibc.git|glibc]] -- [[/glibc]] maintenance + * hurd/gnumach.git -- [[GNU Mach|microkernel/mach/gnumach]] + * hurd/hurd.git -- [[/Hurd]] + * [[hurd/incubator.git|incubator]] -- the great next stuff + * hurd/libpthread.git -- [[POSIX threading library|libpthread]] + * hurd/mig.git -- [[microkernel/mach/MIG]] + * hurd/procfs.git -- [[hurd/translator/procfs]] + * hurd/unionfs.git -- -- [[hurd/translator/unionfs]] + * hurd/viengoos.git -- [[microkernel/Viengoos]] + * hurd/web.git -- [[contributing/Web_pages]] - * [[glibc]] - * [[incubator]] - * [[hurd/translator/procfs]] - * ... ## Branches Members of the [[Hurd Savannah group|rules/savannah group]] are allowed to create branches without formal permission: - * named `SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` for private general-purpose or + * named `SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` or + `SAVANNAH_LOGIN/TOPIC/BASE_BRANCH` for private general-purpose or topic branches, respectively, or - * named `BASE_BRANCH-TOPIC` for public topic branches basing on + * named `BASE_BRANCH-TOPIC` or `TOPIC/BASE_BRANCH` for public topic branches + basing on `BASE_BRANCH`. `TOPIC` shall be a suitable tag describing the branch's main concern. These -tags can be applied recursively (`TOPIC-SUBTOPIC-SUBSUBTOPIC`). +tags can be applied recursively (`TOPIC/SUBTOPIC/BASE_BRANCH`, like +`pfinet_rewrite/use_lwIP/master`, for example). -*private* vs. *public* does, of course, in this scenario not mean visibility, +*private* vs. *public* does, of course, in this scenario not mean visibility +(all branches are externally visible), but instead authority: *private* branches are those that the user `SAVANNAH_LOGIN` has authority over, whereas *public* branches are open for every committer to install changes on. The private branches are those that you @@ -42,7 +59,27 @@ server, but we offer that you can instead do this from the centralized Savannah repository, as a number of people don't have an always-accessible web server running on their own machines. -Examples: + +### Subprojects + +Some repositories hold a bunch of independent subprojects, first and foremost +the [[incubator]] repository. + +Even though we've been doing differently in the past, branches in there shall +be named like this: + + * `SUBPROJECT/master` for the `master` branch; + * `SUBPROJECT/SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` or + `SUBPROJECT/SAVANNAH_LOGIN/TOPIC/BASE_BRANCH` for private general-purpose + or topic branches, respectively, or + * `SUBPROJECT/BASE_BRANCH-TOPIC` or `SUBPROJECT/TOPIC/BASE_BRANCH` for public + topic branches basing on `SUBPROJECT/BASE_BRANCH`. + +That is, we introduce a top-level `SUBPROJECT` hierarchy, where distinct +per-subproject Git repositories could have been used instead. + + +### Examples * GNU Mach @@ -59,6 +96,11 @@ Examples: * `master-viengoos-on-bare-metal` -- port to Viengoos running on bare metal; branched off of `master-viengoos` at some point + * incubator + + * `master` -- not to be used + * `tarfs/master` -- `master` branch of the `tarfs` subproject + * unionfs * `master` -- the mainline branch @@ -162,7 +204,8 @@ their work on your private branches. We could establish a branch-tagging policy for branches that others should expect their history possibly to be rewritten. This may be useful for branches that are only meant for aggregating the changes of (several) development -branches, like an imaginary `master-proposed_for_general_testing` branch. +branches, like an imaginary +`rewrite_pfinet/for_master_and_proposed_for_general_testing` branch. # Git repositories on flubber -- cgit v1.2.3 From 7c11fd6c5a1e0514706ce425d6172fabdef90ec6 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 21 Sep 2010 12:22:47 +0200 Subject: Typo. --- source_repositories.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source_repositories.mdwn') diff --git a/source_repositories.mdwn b/source_repositories.mdwn index d7add548..da65ba49 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -10,7 +10,7 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] This page is meant to give some guidelines. Please use good sense or ask on -[[mailing-lists/bug-hurd]] if there are any questions. +[[mailing_lists/bug-hurd]] if there are any questions. [[!toc levels=3]] -- cgit v1.2.3 From a035187dc4742faaaec97d581efda74616c87dda Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 26 Oct 2010 15:15:40 +0200 Subject: open_issues/binutils_testsuite: Update. And some more. --- binutils.mdwn | 3 +- open_issues/binutils.mdwn | 28 +- open_issues/binutils_testsuite.mdwn | 984 ++------------------------ open_issues/binutils_testsuite/log_build-diff | 4 +- open_issues/binutils_testsuite/sum_hurd | 713 ++++++++++++++++++- open_issues/binutils_testsuite/sum_linux | 10 +- open_issues/io_system_binutils_ld_64ksec.mdwn | 4 +- source_repositories.mdwn | 9 +- source_repositories/binutils.mdwn | 14 + topgit.mdwn | 4 + 10 files changed, 805 insertions(+), 968 deletions(-) create mode 100644 source_repositories/binutils.mdwn (limited to 'source_repositories.mdwn') diff --git a/binutils.mdwn b/binutils.mdwn index 00926a44..44b672eb 100644 --- a/binutils.mdwn +++ b/binutils.mdwn @@ -21,7 +21,8 @@ Actually *non-*specifics: as these tools primarily deal with low-level parts of the target architecture and the object file format (ELF ABI), which are essentially (at least meant to be) the same, there shouldn't be many differences comparing the binutils between the GNU/Hurd and GNU/Linux ports, -for example. +for example. There are a few, though, as explained on binutils' [[open issues +page|open_issues/binutils]]. # Open Issues diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index c4eb7c85..260e519e 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -13,11 +13,20 @@ License|/fdl]]."]]"""]] Here's what's to be done for maintaining GNU Binutils. +# [[Sources|source_repositories/binutils]] + + # Configuration -Last checked against cdf7c161ebd4a934c9e705d33f5247fd52975612, 2010-10-24. +Last checked against cdf7c161ebd4a934c9e705d33f5247fd52975612 (2010-10-24). + + * Globally -a.out support and 64 bit support are not interesting. + * a.out, COFF, PE image support and 64 bit support are not interesting. + + * In the testsuites, `.exp` and `.d` files very likely should not only + care for `*-*-linux*`, but also `*-*-gnu*`. (If the need to be + conditionalized like this at all.) * `bfd/` @@ -29,9 +38,7 @@ a.out support and 64 bit support are not interesting. * `i386linux_vec` -- a.out. - * `i386pei_vec` - - *BFD back-end for Intel 386 PE IMAGE COFF files*. Not interesting. + * `i386pei_vec` -- PE. * 64 bit. @@ -45,14 +52,12 @@ a.out support and 64 bit support are not interesting. * `COREFILE=trad-core.lo` with `TRAD_HEADER='"hosts/i386linux.h"'` - We don't have any such core file support configured. Should we? - Where is this core file reading exactly used? GDB? + We don't have any such core file support configured. TODO: should + we? Where is this core file reading exactly used? GDB? * `i386linux_vec` -- a.out. - * `i386pei_vec` - - *BFD back-end for Intel 386 PE IMAGE COFF files*. Not interesting. + * `i386pei_vec` -- PE. * `binutils/` @@ -76,7 +81,8 @@ a.out support and 64 bit support are not interesting. * `*-*-gnu*` - Resolve `crt0.o` vs. `crt1.o` issue. + TODO: resolve `crt0.o` vs. `crt1.o` issue. [[Testsuite + failures|binutils_testsuite#static]]. * `configure.tgt` diff --git a/open_issues/binutils_testsuite.mdwn b/open_issues/binutils_testsuite.mdwn index acbc48e9..f99078a4 100644 --- a/open_issues/binutils_testsuite.mdwn +++ b/open_issues/binutils_testsuite.mdwn @@ -11,8 +11,8 @@ License|/fdl]]."]]"""]] [[!tag open_issue_binutils]] Here's a log of a binutils build and testsuite run; this is from -cdf7c161ebd4a934c9e705d33f5247fd52975612 sources, 2010-10-24, run on -kepler.SCHWINGE and grubber. +6a55712fd7d37033555d206fea8baf6ea299efae (2010-10-26) +[[sources|source_repositories/binutils]], run on kepler.SCHWINGE and grubber. $ export LC_ALL=C $ ../hurd/configure 2>&1 | tee log_build @@ -36,738 +36,75 @@ GNU/Linux defining `-DTRAD_CORE`, `-DHAVE_i386linux_vec` $ make -k check [...] +On grubber, this takes roughly 45 minutes. + $ ssh kepler.SCHWINGE 'cd tmp/source/binutils/ && cat hurd.build/*/*.sum hurd.build/*/*/*.sum | sed "s%${PWD}%[...]%g"' > open_issues/binutils_testsuite/sum_linux $ ssh grubber 'cd tmp/binutils/ && cat hurd.build/*/*.sum hurd.build/*/*/*.sum | sed "s%${PWD}%[...]%g"' > open_issues/binutils_testsuite/sum_hurd Comparing the results files, [[sum_linux]] to [[sum_hurd]]: $ diff -u -F ^Running open_issues/binutils_testsuite/sum_linux open_issues/binutils_testsuite/sum_hurd - --- open_issues/binutils_testsuite/sum_linux 2010-10-24 20:33:04.000000000 +0200 - +++ open_issues/binutils_testsuite/sum_hurd 2010-10-24 20:41:53.000000000 +0200 + --- open_issues/binutils_testsuite/sum_linux 2010-10-26 09:54:36.000000000 +0200 + +++ open_issues/binutils_testsuite/sum_hurd 2010-10-26 14:42:26.000000000 +0200 @@ -1,5 +1,5 @@ - -Test Run By thomas on Sun Oct 24 20:00:29 2010 + -Test Run By thomas on Tue Oct 26 09:50:30 2010 -Native configuration is i686-pc-linux-gnu - +Test Run By tschwinge on Sun Oct 24 20:01:01 2010 + +Test Run By tschwinge on Tue Oct 26 12:32:17 2010 +Native configuration is i686-unknown-gnu0.3 === binutils tests === - @@ -14,19 +14,12 @@ - PASS: ar thin archive with nested archive - PASS: ar argument parsing - PASS: ar deterministic archive - -PASS: ar unique symbol in archive - Running [...]/hurd/binutils/testsuite/binutils-all/arm/objdump.exp ... - Running [...]/hurd/binutils/testsuite/binutils-all/bfin/objdump.exp ... - Running [...]/hurd/binutils/testsuite/binutils-all/dlltool.exp ... - Running [...]/hurd/binutils/testsuite/binutils-all/elfedit.exp ... - -UNSUPPORTED: Update ELF header 1 - -PASS: Update ELF header 2 - -PASS: Update ELF header 3 - Running [...]/hurd/binutils/testsuite/binutils-all/hppa/objdump.exp ... - Running [...]/hurd/binutils/testsuite/binutils-all/i386/i386.exp ... - -PASS: objcopy on compressed debug sections - -PASS: strip on uncompressed debug sections - -PASS: strip on compressed debug sections - Running [...]/hurd/binutils/testsuite/binutils-all/m68k/objdump.exp ... - Running [...]/hurd/binutils/testsuite/binutils-all/nm.exp ... - PASS: nm (no arguments) - @@ -50,35 +43,9 @@ - PASS: run stripped executable with saving a symbol - PASS: keep only debug data - PASS: simple objcopy of debug data - -PASS: objcopy (ELF unknown section type) - -PASS: objcopy (ELF group) - -PASS: objcopy (ELF group) - -PASS: objcopy (ELF group) - -PASS: objcopy (ELF group) - -PASS: copy removing group member - -PASS: copy with setting section flags 1 - -PASS: add notes section - PASS: copy with setting section flags 2 - PASS: copy with setting section flags 3 - PASS: strip --strip-unneeded on common symbol - -PASS: strip with section group 1 - -PASS: strip with section group 2 - -PASS: strip empty file - -PASS: strip with section group 4 - -PASS: strip with section group 5 - -PASS: strip with section group 6 - -PASS: strip with section group 7 - -PASS: strip with section group 8 - -PASS: strip with section group 9 - -PASS: strip on STB_GNU_UNIQUE - -PASS: objcopy keeps symbols needed by relocs - -PASS: --localize-hidden test 1 - -PASS: unordered .debug_info references to .debug_ranges - -UNSUPPORTED: unordered .debug_info references to .debug_ranges - -PASS: objcopy add-section - -PASS: objcopy add-empty-section - -PASS: objcopy on sections with SHF_EXCLUDE - -PASS: strip --strip-unneeded on sections with SHF_EXCLUDE - PASS: --localize-hidden test 2 - Running [...]/hurd/binutils/testsuite/binutils-all/objdump.exp ... - PASS: objdump -i - @@ -87,17 +54,8 @@ - PASS: objdump -t - PASS: objdump -r - PASS: objdump -s - -PASS: objdump -s -j .zdebug_abbrev - -PASS: objdump -W - +UNSUPPORTED: objdump compressed debug - Running [...]/hurd/binutils/testsuite/binutils-all/readelf.exp ... - -PASS: finding out ELF size with readelf -h - -PASS: readelf -h - -PASS: readelf -S - -PASS: readelf -s - -PASS: readelf -r - -PASS: readelf -wi - -PASS: readelf -wa (compressed) - -PASS: readelf -p - Running [...]/hurd/binutils/testsuite/binutils-all/size.exp ... - PASS: size (no arguments) - PASS: size -A - @@ -107,10 +65,10 @@ - - === binutils Summary === + @@ -109,8 +109,8 @@ Running [...]/hurd/binutils/testsuite/bi - -# of expected passes 79 - -# of unsupported tests 2 - -Test Run By thomas on Sun Oct 24 20:00:50 2010 + # of expected passes 79 + # of unsupported tests 2 + -Test Run By thomas on Tue Oct 26 09:50:51 2010 -Native configuration is i686-pc-linux-gnu - +# of expected passes 38 - +# of unsupported tests 1 - +Test Run By tschwinge on Sun Oct 24 20:06:29 2010 + +Test Run By tschwinge on Tue Oct 26 12:39:07 2010 +Native configuration is i686-unknown-gnu0.3 === ld tests === - @@ -129,8 +87,8 @@ - UNTESTED: bootstrap with --no-keep-memory - UNTESTED: bootstrap with --relax - Running [...]/hurd/ld/testsuite/ld-cdtest/cdtest.exp ... - -PASS: cdtest - -PASS: cdtest with -Ur - +FAIL: cdtest - +FAIL: cdtest with -Ur - Running [...]/hurd/ld/testsuite/ld-checks/checks.exp ... - PASS: check sections 1 - PASS: check sections 2 - @@ -139,428 +97,23 @@ - Running [...]/hurd/ld/testsuite/ld-cygwin/exe-export.exp ... - Running [...]/hurd/ld/testsuite/ld-d10v/d10v.exp ... - Running [...]/hurd/ld/testsuite/ld-discard/discard.exp ... - -PASS: ld-discard/extern - -PASS: ld-discard/start - -PASS: ld-discard/static - -PASS: ld-discard/zero-rel - Running [...]/hurd/ld/testsuite/ld-elf/audit.exp ... - -PASS: Run with -paudit.so - -PASS: Run with -Paudit.so - -PASS: Run with --depaudit=audit.so - -PASS: Run with shared with --audit - -PASS: Run with shared with --audit - -PASS: Run with -lusesaudit - -PASS: Run with -lusesaudit -lusesaudit2 - Running [...]/hurd/ld/testsuite/ld-elf/binutils.exp ... - -PASS: strip -z max-page-size=0x200000 (maxpage1) - -PASS: strip -z max-page-size=0x200000 -z common-page-size=0x100000 (maxpage1) - -PASS: strip -z max-page-size=0x100000 (maxpage1) - -PASS: strip -z max-page-size=0x100000 -z common-page-size=0x1000 (maxpage1) - -PASS: strip (maxpage1) - -PASS: strip -shared (maxpage1) - -PASS: objcopy (maxpage1) - -PASS: objcopy -shared (maxpage1) - -PASS: strip -z relro (relro1) - -PASS: strip -z relro -shared (relro1) - -PASS: objcopy -z relro (relro1) - -PASS: objcopy -z relro -shared (relro1) - -PASS: strip -z relro -shared (relro2) - -PASS: objcopy -z relro -shared (relro2) - -PASS: strip -T [...]/hurd/ld/testsuite/ld-elf/lma.lnk (lma) - -PASS: objcopy (tbss1) - -PASS: objcopy -z relro (tbss1) - -PASS: objcopy -shared (tbss1) - -PASS: objcopy -shared -z relro (tbss1) - -PASS: objcopy -z max-page-size=0x100000 (tbss1) - -PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tbss1) - -PASS: objcopy (tdata1) - -PASS: objcopy -z relro (tdata1) - -PASS: objcopy -shared (tdata1) - -PASS: objcopy -shared -z relro (tdata1) - -PASS: objcopy -z max-page-size=0x100000 (tdata1) - -PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tdata1) - -PASS: objcopy (tbss2) - -PASS: objcopy -z relro (tbss2) - -PASS: objcopy -shared (tbss2) - -PASS: objcopy -shared -z relro (tbss2) - -PASS: objcopy -z max-page-size=0x100000 (tbss2) - -PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tbss2) - -PASS: objcopy (tdata2) - -PASS: objcopy -z relro (tdata2) - -PASS: objcopy -shared (tdata2) - -PASS: objcopy -shared -z relro (tdata2) - -PASS: objcopy -z max-page-size=0x100000 (tdata2) - -PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tdata2) - Running [...]/hurd/ld/testsuite/ld-elf/dwarf.exp ... - -PASS: Build libdwarf1.so - -PASS: Run with libdwarf1.so first - -PASS: Run with libdwarf1.so last - -PASS: Strip -s libdwarf1c.so - Running [...]/hurd/ld/testsuite/ld-elf/eh-group.exp ... - -PASS: Guess the target size from eh-group1size.o - -PASS: Build eh-group1.o - -PASS: Link eh-group.o to eh-group - Running [...]/hurd/ld/testsuite/ld-elf/elf.exp ... - -PASS: ld-elf/commonpage1 - -PASS: ld-elf/discard1 - -PASS: ld-elf/discard2 - -PASS: ld-elf/discard3 - -PASS: ld-elf/dynsym1 - -PASS: ld-elf/eh-frame-hdr - -PASS: ld-elf/eh5 - -PASS: ld-elf/eh6 - -PASS: ld-elf/empty - -PASS: ld-elf/empty2 - -PASS: ld-elf/exclude3a - -PASS: ld-elf/exclude3b - -PASS: ld-elf/exclude3c - -PASS: ld-elf/expr1 - -PASS: --extract-symbol test 1 (sections) - -PASS: --extract-symbol test 1 (symbols) - -PASS: --set-section-flags test 1 (sections) - -PASS: ld-elf/group1 - -PASS: ld-elf/group10 - -PASS: ld-elf/group2 - -PASS: ld-elf/group3a - -PASS: ld-elf/group3b - -PASS: ld-elf/group4 - -PASS: ld-elf/group5 - -PASS: ld-elf/group6 - -PASS: ld-elf/group7 - -PASS: ld-elf/group8a - -PASS: ld-elf/group8b - -PASS: ld-elf/group9a - -PASS: ld-elf/group9b - -PASS: ld-elf/hash - -PASS: ld-elf/header - -PASS: ld-elf/init-fini-arrays - -PASS: ld-elf/linkonce1 - -PASS: ld-elf/linkonce2 - -PASS: ld-elf/linkoncerdiff - -PASS: ld-elf/loadaddr1 - -PASS: ld-elf/loadaddr2 - -PASS: ld-elf/loadaddr3a - -PASS: ld-elf/loadaddr3b - -PASS: ld-elf/local1 - -PASS: ld-elf/maxpage1 - -PASS: ld-elf/maxpage2 - -PASS: ld-elf/maxpage3a - -PASS: ld-elf/merge - -PASS: ld-elf/merge2 - -PASS: ld-elf/multibss1 - -PASS: ld-elf/nobits-1 - -PASS: ld-elf/noload-1 - -PASS: ld-elf/noload-2 - -PASS: ld-elf/noload-3 - -PASS: ld-elf/note-1 - -PASS: ld-elf/note-2 - -PASS: ld-elf/orphan-region - -PASS: ld-elf/orphan - -PASS: ld-elf/orphan2 - -PASS: ld-elf/orphan3 - -PASS: ld-elf/orphan4 - -PASS: ld-elf/overlay - -PASS: ld-elf/pr11304 - -PASS: ld-elf/pr349 - -PASS: relocatable with script - -PASS: ld-elf/seg - -PASS: ld-elf/stab - -PASS: ld-elf/textaddr1 - -PASS: ld-elf/textaddr2 - -PASS: ld-elf/textaddr3 - -PASS: ld-elf/textaddr4 - -PASS: ld-elf/textaddr5 - -PASS: ld-elf/textaddr6 - -PASS: ld-elf/textaddr7 - -PASS: ld-elf/unknown - -PASS: ld-elf/unknown2 - -PASS: ld-elf/warn1 - -PASS: ld-elf/warn2 - -PASS: Weak symbols in dynamic objects 1 (support) - -PASS: Weak symbols in dynamic objects 1 (main test) - -PASS: --gc-sections on tls variable - -PASS: preinit array + @@ -282,9 +282,9 @@ Running [...]/hurd/ld/testsuite/ld-elf/e + PASS: preinit array + PASS: init array + PASS: fini array -PASS: static preinit array - -PASS: init array -PASS: static init array - -PASS: fini array -PASS: static fini array + +XFAIL: static preinit array + +XFAIL: static init array + +XFAIL: static fini array Running [...]/hurd/ld/testsuite/ld-elf/exclude.exp ... - -PASS: ld link shared library - -PASS: ld export symbols from archive - -PASS: ld link shared library with --exclude-libs - -PASS: ld exclude symbols from archive - --exclude-libs libexclude - -PASS: ld exclude symbols from archive - --exclude-libs libexclude.a - -PASS: ld exclude symbols from archive - --exclude-libs ALL - -PASS: ld exclude symbols from archive - --exclude-libs foo:libexclude.a - -PASS: ld exclude symbols from archive - --exclude-libs foo,libexclude.a - -PASS: ld don't exclude symbols from archive - --exclude-libs foo:bar - Running [...]/hurd/ld/testsuite/ld-elf/frame.exp ... - -PASS: read-only .eh_frame section - -PASS: read-only .gcc_except_table section - Running [...]/hurd/ld/testsuite/ld-elf/sec-to-seg.exp ... - -PASS: assignment of ELF sections to segments (same page) - -PASS: assignment of ELF sections to segments (adjacent pages) - -PASS: assignment of ELF sections to segments (disjoint pages) - +UNSUPPORTED: assignment of ELF sections to segments - Running [...]/hurd/ld/testsuite/ld-elf/sec64k.exp ... - -PASS: ld-elf/64ksec-r - -PASS: ld-elf/64ksec - Running [...]/hurd/ld/testsuite/ld-elf/shared.exp ... - -PASS: Build libfoo.so - -PASS: Build versioned libfoo.so - -PASS: Build libbar.so - -PASS: Build warn libbar.so - -PASS: Build hidden libbar.so - -PASS: Build protected libbar.so - -PASS: Build libbar.so with libfoo.so - -PASS: Build libar.so with versioned libfoo.so - -PASS: Build hidden libbar.so with libfoo.so - -PASS: Build hidden libar.so with versioned libfoo.so - -PASS: Build protected libbar.so with libfoo.so - -PASS: Build protected libbar.so with versioned libfoo.so - -PASS: Build libdl1.so - -PASS: Build libdl2a.so with --dynamic-list=dl2.list - -PASS: Build libdl2a.so with --dynamic-list=dl2a.list - -PASS: Build libdl2a.so with --dynamic-list-data - -PASS: Build libdl2b.so with --dynamic-list=dl2.list and dl2xxx.list - -PASS: Build libdl2c.so with --dynamic-list-data and dl2xxx.list - -PASS: Build libdl4a.so with --dynamic-list=dl4.list - -PASS: Build libdl4b.so with --dynamic-list-data - -PASS: Build libdl4c.so with --dynamic-list=dl4.list and dl4xxx.list - -PASS: Build libdl4d.so with --dynamic-list-data and dl4xxx.list - -PASS: Build libdl4e.so with -Bsymbolic-functions --dynamic-list-cpp-new - -PASS: Build libdl4f.so with --dynamic-list-cpp-new -Bsymbolic-functions - -PASS: Build libdl6a.so - -PASS: Build libdl6b.so with -Bsymbolic --dynamic-list-data - -PASS: Build libdl6c.so with -Bsymbolic - -PASS: Build libdl6d.so with --dynamic-list-data -Bsymbolic - -PASS: Build libdata1.so - -PASS: Build libcomm1.o - -PASS: Build libfunc1.so - -PASS: Build libpr9676-1.a - -PASS: Build libpr9676-2.a - -PASS: Build libpr9676-3.so - -PASS: Build libpr9676-4.so - -PASS: Build libpr9676-4a.so - -PASS: Build libpr9679.so - -PASS: Build libpr11138-1.so - -PASS: Build libpr11138-2.o - -PASS: Run normal with libfoo.so - -PASS: Run protected with libfoo.so - -PASS: Run hidden with libfoo.so - -PASS: Run normal with versioned libfoo.so - -PASS: Run warn with versioned libfoo.so - -PASS: Run protected with versioned libfoo.so - -PASS: Run hidden with versioned libfoo.so - -PASS: Run normal libbar.so with libfoo.so - -PASS: Run protected libbar.so with libfoo.so - -PASS: Run hidden libbar.so with libfoo.so - -PASS: Run normal libbar.so with versioned libfoo.so - -PASS: Run protected libbar.so with versioned libfoo.so - -PASS: Run hidden libbar.so with versioned libfoo.so - -PASS: Run dl1a with --dynamic-list=dl1.list and dlopen on libdl1.so - -PASS: Run dl1b with --dynamic-list-data and dlopen on libdl1.so - -PASS: Run with libdl2a.so - -PASS: Run with libdl2b.so - -PASS: Run with libdl2c.so - -PASS: Run with libdl4a.so - -PASS: Run with libdl4b.so - -PASS: Run with libdl4c.so - -PASS: Run with libdl4d.so - -PASS: Run with libdl4e.so - -PASS: Run with libdl4f.so - -PASS: Run dl6a1 with --dynamic-list-data and dlopen on libdl6a.so - -PASS: Run dl6a2 with -Bsymbolic-functions and dlopen on libdl6a.so - -PASS: Run dl6a3 with -Bsymbolic and dlopen on libdl6a.so - -PASS: Run dl6a4 with -Bsymbolic --dynamic-list-data and dlopen on libdl6a.so - -PASS: Run dl6a5 with -Bsymbolic-functions --dynamic-list-cpp-new and dlopen on libdl6a.so - -PASS: Run dl6a6 with --dynamic-list-cpp-new -Bsymbolic-functions and dlopen on libdl6a.so - -PASS: Run dl6a7 with --dynamic-list-data -Bsymbolic and dlopen on libdl6a.so - -PASS: Run dl6b1 with --dynamic-list-data and dlopen on libdl6b.so - -PASS: Run dl6b2 with dlopen on libdl6b.so - -PASS: Run dl6c1 with --dynamic-list-data and dlopen on libdl6c.so - -PASS: Run dl6d1 with --dynamic-list-data and dlopen on libdl6d.so - -PASS: Run with libdata1.so - -PASS: Run with libfunc1.so comm1.o - -PASS: Run with comm1.o libfunc1.so - -PASS: Run with pr11138-2.c libpr11138-1.so - -PASS: Run with libpr11138-1.so pr11138-2.c - -PASS: Build libdl3a.so with --dynamic-list=dl3.list - -PASS: Build libdl3b.so with -Bsymbolic - -PASS: Build libdl3a.so with --dynamic-list-cpp-typeinfo - -PASS: Build libdnew1a.so with --Bsymbolic-functions --dynamic-list-cpp-new - -PASS: Build libdnew1b.so with --dynamic-list-data --dynamic-list-cpp-new - -PASS: Run with libdl3a.so - -PASS: Run with libdl3c.so - -PASS: Run with libnew1a.so - -PASS: Run with libnew1b.so - Running [...]/hurd/ld/testsuite/ld-elf/tls_common.exp ... - -PASS: tls_common - Running [...]/hurd/ld/testsuite/ld-elf/wrap.exp ... - -PASS: Build libwrap1a.so - -PASS: Build libwrap1b.so - -PASS: Run with libwrap1a.so and libwrap1b.so - -PASS: Run with libwrap1b.so and libwrap1a.so - Running [...]/hurd/ld/testsuite/ld-elfcomm/elfcomm.exp ... - -PASS: --sort-common (descending) - -PASS: --sort-common (ascending) - -PASS: size/aligment change of common symbols (warning 1) - -PASS: size/aligment change of common symbols (change 1) - -PASS: size/aligment change of common symbols (warning 2) - -PASS: size/aligment change of common symbols (change 2) - Running [...]/hurd/ld/testsuite/ld-elfvers/vers.exp ... - -PASS: vers1 - -PASS: vers2 - -PASS: vers3 - -PASS: vers4 - -PASS: vers4a - -PASS: vers4b - -PASS: vers5 - -PASS: vers6 - -PASS: vers7a - -PASS: vers7 - -PASS: vers8 - -PASS: vers9 - -PASS: vers10 - -PASS: vers11 - -PASS: vers12 - -PASS: ar with versioned solib - -PASS: vers14 - -PASS: vers15 - -PASS: vers16a - -PASS: vers16 - -PASS: vers17 - -PASS: vers18 - -PASS: vers19 - -PASS: vers20a - -PASS: vers20 - -PASS: vers21 - -PASS: vers22a - -PASS: vers22b - -PASS: vers22 - -PASS: vers23a - -PASS: vers23b - -PASS: vers23c - -PASS: vers23d - -PASS: vers23 - -PASS: vers24a - -PASS: vers24b - -PASS: vers24c - -PASS: vers25a - -PASS: vers25b1 - -PASS: vers25b2 - -PASS: vers26a - -PASS: vers26b1 - -PASS: vers26b2 - -PASS: vers26b3 - -PASS: vers27a - -PASS: vers27b - -PASS: vers27c1 - -PASS: vers27c2 - -PASS: vers27d1 - -PASS: vers27d2 - -PASS: vers27d3 - -PASS: vers27d4 - -PASS: vers27d5 - -PASS: vers28a - -PASS: vers28b - -PASS: vers28c - -PASS: vers29 - -PASS: vers30 - -PASS: vers31 - -PASS: vers32a - -PASS: vers32b - -PASS: vers32c - -PASS: vers32d - Running [...]/hurd/ld/testsuite/ld-elfvsb/elfvsb.exp ... - -PASS: ld-elfvsb/hidden0 - -PASS: ld-elfvsb/hidden1 - -PASS: ld-elfvsb/hidden2 - -PASS: ld-elfvsb/internal0 - -PASS: ld-elfvsb/internal1 - -PASS: ld-elfvsb/protected0 - -PASS: ld-elfvsb/protected1 - -PASS: visibility (hidden) (non PIC) - -PASS: visibility (hidden) (non PIC, load offset) - -PASS: visibility (hidden) - -PASS: visibility (hidden) (PIC main, non PIC so) - -PASS: visibility (hidden) (PIC main) - -PASS: visibility (hidden_normal) (non PIC) - -PASS: visibility (hidden_normal) (non PIC, load offset) - -PASS: visibility (hidden_normal) - -PASS: visibility (hidden_normal) (PIC main, non PIC so) - -PASS: visibility (hidden_normal) (PIC main) - -PASS: visibility (hidden_undef) (non PIC) - -PASS: visibility (hidden_undef) (non PIC, load offset) - -PASS: visibility (hidden_undef) - -PASS: visibility (hidden_undef) (PIC main, non PIC so) - -PASS: visibility (hidden_undef) (PIC main) - -PASS: visibility (hidden_undef_def) (non PIC) - -PASS: visibility (hidden_undef_def) (non PIC, load offset) - -PASS: visibility (hidden_undef_def) - -PASS: visibility (hidden_undef_def) (PIC main, non PIC so) - -PASS: visibility (hidden_undef_def) (PIC main) - -PASS: visibility (hidden_weak) (non PIC) - -PASS: visibility (hidden_weak) (non PIC, load offset) - -PASS: visibility (hidden_weak) - -PASS: visibility (hidden_weak) (PIC main, non PIC so) - -PASS: visibility (hidden_weak) (PIC main) - -PASS: visibility (protected) (non PIC) - -PASS: visibility (protected) (non PIC, load offset) - -PASS: visibility (protected) - -PASS: visibility (protected) (PIC main, non PIC so) - -PASS: visibility (protected) (PIC main) - -PASS: visibility (protected_undef) (non PIC) - -PASS: visibility (protected_undef) (non PIC, load offset) - -PASS: visibility (protected_undef) - -PASS: visibility (protected_undef) (PIC main, non PIC so) - -PASS: visibility (protected_undef) (PIC main) - -PASS: visibility (protected_undef_def) (non PIC) - -PASS: visibility (protected_undef_def) (non PIC, load offset) - -PASS: visibility (protected_undef_def) - -PASS: visibility (protected_undef_def) (PIC main, non PIC so) - -PASS: visibility (protected_undef_def) (PIC main) - -PASS: visibility (protected_weak) (non PIC) - -PASS: visibility (protected_weak) (non PIC, load offset) - -PASS: visibility (protected_weak) - -PASS: visibility (protected_weak) (PIC main, non PIC so) - -PASS: visibility (protected_weak) (PIC main) - -PASS: visibility (normal) (non PIC) - -PASS: visibility (normal) (non PIC, load offset) - -PASS: visibility (normal) - -PASS: visibility (normal) (PIC main, non PIC so) - -PASS: visibility (normal) (PIC main) - -PASS: common hidden symbol - -PASS: weak hidden symbol DSO last - -PASS: weak hidden symbol DSO first - Running [...]/hurd/ld/testsuite/ld-elfweak/elfweak.exp ... - -PASS: ELF DSO weak func first - -PASS: ELF DSO weak func last - -PASS: ELF DSO weak func first DSO - -PASS: ELF DSO weak func last DSO - -PASS: ELF weak func first - -PASS: ELF weak func last + PASS: ld link shared library + PASS: ld export symbols from archive + @@ -540,8 +540,8 @@ Running [...]/hurd/ld/testsuite/ld-elfwe + PASS: ELF DSO weak func last DSO + PASS: ELF weak func first + PASS: ELF weak func last -PASS: ELF weak func first DSO -PASS: ELF weak func last DSO - -PASS: ELF DSO weak data first - -PASS: ELF DSO weak data last - -PASS: ELF DSO weak data first DSO - -PASS: ELF DSO weak data last DSO - -PASS: ELF DSO weak data first DSO common - -PASS: ELF DSO weak data last DSO common - -PASS: ELF weak data first - -PASS: ELF weak data last - -PASS: ELF weak data first common - -PASS: ELF weak data last common + +XFAIL: ELF weak func first DSO + +XFAIL: ELF weak func last DSO + PASS: ELF DSO weak data first + PASS: ELF DSO weak data last + PASS: ELF DSO weak data first DSO + @@ -552,10 +552,10 @@ Running [...]/hurd/ld/testsuite/ld-elfwe + PASS: ELF weak data last + PASS: ELF weak data first common + PASS: ELF weak data last common -PASS: ELF weak data first DSO -PASS: ELF weak data last DSO -PASS: ELF weak data first DSO common -PASS: ELF weak data last DSO common - -PASS: ELF DSO small bar (size) - -PASS: ELF DSO foo with small bar (size) - -PASS: ELF DSO big bar (size) - -PASS: ELF weak size - -PASS: ld-elfweak/size2 - Running [...]/hurd/ld/testsuite/ld-fastcall/fastcall.exp ... - Running [...]/hurd/ld/testsuite/ld-frv/fdpic.exp ... - Running [...]/hurd/ld/testsuite/ld-frv/frv-elf.exp ... - @@ -571,85 +124,16 @@ - PASS: Check --gc-section/-r/-e - PASS: Check --gc-section/-r/-u - PASS: --gc-sections -r without -e - -PASS: --gc-sections with note section - -PASS: --gc-sections with __start_ - -PASS: --gc-sections with shared library - Running [...]/hurd/ld/testsuite/ld-h8300/h8300.exp ... - Running [...]/hurd/ld/testsuite/ld-i386/i386.exp ... - -PASS: TLS -fpic -shared transitions - -PASS: TLS descriptor -fpic -shared transitions - -PASS: Helper shared library - -PASS: TLS -fpic and -fno-pic exec transitions - -PASS: TLS descriptor -fpic and -fno-pic exec transitions - -PASS: TLS -fno-pic -shared - -PASS: TLS with global dynamic and descriptors - -PASS: TLS in debug sections - -PASS: TLS @indntpoff with %eax - -PASS: Reloc section order - -PASS: Basic --emit-relocs support - -PASS: -z combreloc relocation sections - -PASS: TLS GD->LE transition - -PASS: TLS LD->LE transition - -PASS: TLS IE->LE transition - -PASS: Absolute non-overflowing relocs - -PASS: PCREL8 overflow - -PASS: PCREL16 overflow - -PASS: PCREL16 absolute reloc - -PASS: Invalid allocated section - -PASS: --warn-shared-textrel --fatal-warnings - -PASS: TLS GD->LE transition check - -PASS: TLS IE->LE transition check (R_386_TLS_GOTIE with %eax) - -PASS: TLS IE->LE transition check (R_386_TLS_GOTIE) - -PASS: TLS IE->LE transition check (R_386_TLS_IE with %eax) - -PASS: TLS IE->LE transition check (R_386_TLS_IE) - -PASS: ld-i386/hidden1 - -PASS: ld-i386/hidden2 - -PASS: ld-i386/hidden3 - -PASS: ld-i386/protected1 - -PASS: ld-i386/protected2 - -PASS: ld-i386/protected3 - -PASS: TLS with PIE - -PASS: ld-i386/nogot1 - -PASS: ld-i386/nogot2 - -PASS: ld-i386/discarded1 - -PASS: undefined symbol with compressed debug sections - Running [...]/hurd/ld/testsuite/ld-ia64/ia64.exp ... - Running [...]/hurd/ld/testsuite/ld-ia64/line.exp ... - Running [...]/hurd/ld/testsuite/ld-ifunc/binutils.exp ... - -PASS: strip (ifunc-4-x86) - -PASS: objcopy (ifunc-4-x86) - -PASS: strip (ifunc-4-local-x86) - -PASS: objcopy (ifunc-4-local-x86) - Running [...]/hurd/ld/testsuite/ld-ifunc/ifunc.exp ... - -PASS: Building ifunc binaries - -PASS: Checking ifunc binaries - -PASS: ld-ifunc/ifunc-1-local-x86 - -PASS: ld-ifunc/ifunc-1-x86 - -PASS: ld-ifunc/ifunc-10-i386 - -PASS: ld-ifunc/ifunc-11-i386 - -PASS: ld-ifunc/ifunc-2-i386 - -PASS: ld-ifunc/ifunc-2-local-i386 - -PASS: ld-ifunc/ifunc-3a-x86 - -PASS: ld-ifunc/ifunc-3b-x86 - -PASS: ld-ifunc/ifunc-4-local-x86 - -PASS: ld-ifunc/ifunc-4-x86 - -PASS: ld-ifunc/ifunc-4a-x86 - -PASS: ld-ifunc/ifunc-5a-i386 - -PASS: ld-ifunc/ifunc-5a-local-i386 - -PASS: ld-ifunc/ifunc-5b-i386 - -PASS: ld-ifunc/ifunc-5b-local-i386 - -PASS: ld-ifunc/ifunc-5r-local-i386 - -PASS: ld-ifunc/ifunc-6a-i386 - -PASS: ld-ifunc/ifunc-6b-i386 - -PASS: ld-ifunc/ifunc-7a-i386 - -PASS: ld-ifunc/ifunc-7b-i386 - -PASS: ld-ifunc/ifunc-8-i386 - -PASS: ld-ifunc/ifunc-9-x86 - Running [...]/hurd/ld/testsuite/ld-libs/libs.exp ... - PASS: -l: test (preparation) - PASS: -l: test - Running [...]/hurd/ld/testsuite/ld-linkonce/linkonce.exp ... - -PASS: ld-linkonce/zeroehl32 - Running [...]/hurd/ld/testsuite/ld-m68hc11/m68hc11.exp ... - Running [...]/hurd/ld/testsuite/ld-m68k/m68k-got.exp ... - Running [...]/hurd/ld/testsuite/ld-m68k/m68k.exp ... - @@ -663,23 +147,19 @@ - Running [...]/hurd/ld/testsuite/ld-pe/pe-run2.exp ... - Running [...]/hurd/ld/testsuite/ld-pe/pe.exp ... - Running [...]/hurd/ld/testsuite/ld-pie/pie.exp ... - -PASS: weak undefined - -PASS: weak undefined data - -PASS: missing entry symbol - Running [...]/hurd/ld/testsuite/ld-plugin/plugin.exp ... - PASS: plugin API enabled - PASS: load plugin - PASS: fail plugin onload - -PASS: fail plugin allsymbolsread - -PASS: fail plugin cleanup - -PASS: plugin all hooks - -PASS: plugin claimfile lost symbol - -PASS: plugin claimfile replace symbol - -PASS: plugin claimfile resolve symbol - -PASS: plugin claimfile replace file - -PASS: plugin set symbol visibility - -PASS: plugin ignore lib - -PASS: plugin claimfile replace lib - +FAIL: fail plugin allsymbolsread - +FAIL: fail plugin cleanup - +FAIL: plugin all hooks - +FAIL: plugin claimfile lost symbol - +FAIL: plugin claimfile replace symbol - +FAIL: plugin claimfile resolve symbol - +FAIL: plugin claimfile replace file - +FAIL: plugin ignore lib - +FAIL: plugin claimfile replace lib - Running [...]/hurd/ld/testsuite/ld-powerpc/aix52.exp ... - Running [...]/hurd/ld/testsuite/ld-powerpc/powerpc.exp ... - Running [...]/hurd/ld/testsuite/ld-s390/s390.exp ... - @@ -689,7 +169,6 @@ - PASS: ld-scripts/align2b - PASS: ld-scripts/align2c - Running [...]/hurd/ld/testsuite/ld-scripts/alignof.exp ... - -PASS: ALIGNOF - Running [...]/hurd/ld/testsuite/ld-scripts/assert.exp ... - PASS: ASSERT - Running [...]/hurd/ld/testsuite/ld-scripts/crossref.exp ... - @@ -708,7 +187,6 @@ - PASS: ld-scripts/defined2 - PASS: ld-scripts/defined3 - Running [...]/hurd/ld/testsuite/ld-scripts/dynamic-sections.exp ... - -PASS: dynamic sections - Running [...]/hurd/ld/testsuite/ld-scripts/empty-address.exp ... - PASS: ld-scripts/empty-address-1 - PASS: ld-scripts/empty-address-2a - @@ -717,9 +195,7 @@ - PASS: ld-scripts/empty-address-3b - PASS: ld-scripts/empty-address-3c - Running [...]/hurd/ld/testsuite/ld-scripts/empty-aligned.exp ... - -PASS: ld-scripts/empty-aligned - Running [...]/hurd/ld/testsuite/ld-scripts/empty-orphan.exp ... - -PASS: ld-scripts/empty-orphan - Running [...]/hurd/ld/testsuite/ld-scripts/expr.exp ... - PASS: ld-scripts/expr1 - Running [...]/hurd/ld/testsuite/ld-scripts/extern.exp ... - @@ -729,87 +205,35 @@ - Running [...]/hurd/ld/testsuite/ld-scripts/map-address.exp ... - PASS: map addresses - Running [...]/hurd/ld/testsuite/ld-scripts/overlay-size.exp ... - -PASS: overlay size - -PASS: overlay size (map check) - Running [...]/hurd/ld/testsuite/ld-scripts/phdrs.exp ... - -PASS: PHDRS - Running [...]/hurd/ld/testsuite/ld-scripts/phdrs2.exp ... - -PASS: PHDRS2 - Running [...]/hurd/ld/testsuite/ld-scripts/phdrs3.exp ... - -PASS: PHDRS headers - -PASS: PHDRS headers 3a - Running [...]/hurd/ld/testsuite/ld-scripts/provide.exp ... - PASS: ld-scripts/provide-1 - PASS: ld-scripts/provide-2 - XFAIL: ld-scripts/provide-3 - Running [...]/hurd/ld/testsuite/ld-scripts/rgn-at.exp ... - -PASS: rgn-at1 - -PASS: rgn-at2 - -PASS: rgn-at3 - -PASS: rgn-at4 - -PASS: rgn-at5 - Running [...]/hurd/ld/testsuite/ld-scripts/rgn-over.exp ... - -PASS: rgn-over1 - -PASS: rgn-over1 (map check) - -PASS: rgn-over2 - -PASS: rgn-over2 (map check) - -PASS: rgn-over3 - -PASS: rgn-over3 (map check) - -PASS: rgn-over4 - -PASS: rgn-over4 (map check) - -PASS: rgn-over5 - -PASS: rgn-over5 (map check) - -PASS: rgn-over6 - -PASS: rgn-over6 (map check) - -PASS: rgn-over7 - -PASS: rgn-over7 (map check) - -PASS: rgn-over8 - Running [...]/hurd/ld/testsuite/ld-scripts/script.exp ... + +XFAIL: ELF weak data first DSO + +XFAIL: ELF weak data last DSO + +XFAIL: ELF weak data first DSO common + +XFAIL: ELF weak data last DSO common + PASS: ELF DSO small bar (size) + PASS: ELF DSO foo with small bar (size) + PASS: ELF DSO big bar (size) + @@ -768,10 +768,10 @@ Running [...]/hurd/ld/testsuite/ld-scrip PASS: script PASS: MRI script PASS: MEMORY @@ -780,235 +117,42 @@ Comparing the results files, [[sum_linux]] to [[sum_hurd]]: Running [...]/hurd/ld/testsuite/ld-scripts/section-match.exp ... PASS: ld-scripts/section-match-1 Running [...]/hurd/ld/testsuite/ld-scripts/size.exp ... - PASS: ld-scripts/size-1 - -PASS: ld-scripts/size-2 - +UNSUPPORTED: size-2 - Running [...]/hurd/ld/testsuite/ld-scripts/sizeof.exp ... - PASS: SIZEOF - Running [...]/hurd/ld/testsuite/ld-scripts/sort.exp ... - -PASS: --sort-section alignment - -PASS: SORT_BY_ALIGNMENT - -PASS: SORT_BY_ALIGNMENT(SORT_BY_ALIGNMENT()) - -PASS: SORT_BY_ALIGNMENT(SORT_BY_ALIGNMENT()) --sort-section alignment - -PASS: SORT_BY_ALIGNMENT(SORT_BY_ALIGNMENT()) --sort-section name - -PASS: SORT_BY_ALIGNMENT(SORT_BY_NAME()) - -PASS: SORT_BY_ALIGNMENT(SORT_BY_NAME()) --sort-section name - -PASS: SORT_BY_ALIGNMENT(SORT_BY_NAME()) --sort-section alignment - -PASS: --sort-section name - -PASS: SORT_BY_NAME - -PASS: SORT_BY_NAME(SORT_BY_ALIGNMENT()) - -PASS: SORT_BY_NAME(SORT_BY_ALIGNMENT()) --sort-section alignment - -PASS: SORT_BY_NAME(SORT_BY_ALIGNMENT()) --sort-section alignment - -PASS: SORT_BY_NAME(SORT_BY_NAME()) - -PASS: SORT_BY_NAME(SORT_BY_NAME()) --sort-section name - -PASS: SORT_BY_NAME(SORT_BY_NAME()) --sort-section alignment - -PASS: no SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT - -PASS: no SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT - Running [...]/hurd/ld/testsuite/ld-scripts/weak.exp ... - -PASS: weak symbols - +UNSUPPORTED: weak symbols - Running [...]/hurd/ld/testsuite/ld-selective/sel-dump.exp ... - -PASS: Preserve default . = 0 - -PASS: Preserve explicit . = 0 - Running [...]/hurd/ld/testsuite/ld-selective/selective.exp ... - -PASS: selective1 - -PASS: selective2 - -PASS: selective3 - -XFAIL: selective4 - -XFAIL: selective5 - -XFAIL: selective6 - Running [...]/hurd/ld/testsuite/ld-sh/arch/arch.exp ... - Running [...]/hurd/ld/testsuite/ld-sh/rd-sh.exp ... - Running [...]/hurd/ld/testsuite/ld-sh/sh-vxworks.exp ... - @@ -819,12 +243,6 @@ - Running [...]/hurd/ld/testsuite/ld-sh/sh64/relfail.exp ... - Running [...]/hurd/ld/testsuite/ld-sh/sh64/sh64.exp ... - Running [...]/hurd/ld/testsuite/ld-shared/shared.exp ... - -PASS: shared (non PIC) - -PASS: shared (non PIC, load offset) - -PASS: shared - -PASS: shared -Bsymbolic - -PASS: shared (PIC main, non PIC so) - -PASS: shared (PIC main) - Running [...]/hurd/ld/testsuite/ld-sparc/sparc.exp ... - Running [...]/hurd/ld/testsuite/ld-spu/spu.exp ... - Running [...]/hurd/ld/testsuite/ld-srec/srec.exp ... - @@ -835,8 +253,6 @@ - PASS: Build libentry.a - PASS: --entry foo archive - PASS: --entry foo -u foo archive - -PASS: -shared --entry foo archive - -PASS: -shared --entry foo -u foo archive - PASS: --entry foo - PASS: --entry foo -u foo - PASS: --entry 0x0 - @@ -845,7 +261,7 @@ - PASS: undefined function - PASS: undefined line - Running [...]/hurd/ld/testsuite/ld-undefined/weak-undef.exp ... - -PASS: weak undefined symbols - +UNSUPPORTED: weak undefined symbols - Running [...]/hurd/ld/testsuite/ld-v850/v850.exp ... - Running [...]/hurd/ld/testsuite/ld-versados/versados.exp ... - Running [...]/hurd/ld/testsuite/ld-vxworks/vxworks.exp ... - @@ -860,13 +276,15 @@ + @@ -860,13 +860,13 @@ Running [...]/hurd/ld/testsuite/ld-xtens === ld Summary === -# of expected passes 611 -# of expected failures 8 - +# of expected passes 57 - +# of unexpected failures 11 - +# of expected failures 5 + +# of expected passes 602 + +# of expected failures 17 # of untested testcases 6 - +# of unsupported tests 4 /media/data[...]/hurd.build/ld/ld-new 2.20.51.20101024 - -Test Run By thomas on Sun Oct 24 20:00:34 2010 + -Test Run By thomas on Tue Oct 26 09:50:33 2010 -Native configuration is i686-pc-linux-gnu - +Test Run By tschwinge on Sun Oct 24 20:02:04 2010 + +Test Run By tschwinge on Tue Oct 26 12:34:01 2010 +Native configuration is i686-unknown-gnu0.3 === gas tests === - @@ -940,15 +358,6 @@ - Running [...]/hurd/gas/testsuite/gas/bfin/bfin.exp ... - Running [...]/hurd/gas/testsuite/gas/bfin/error.exp ... - Running [...]/hurd/gas/testsuite/gas/cfi/cfi.exp ... - -PASS: CFI on i386 - -PASS: cfi cfi-diag-1 - -PASS: CFI common 1 - -PASS: CFI common 2 - -PASS: CFI common 3 - -PASS: CFI common 4 - -PASS: CFI common 5 - -PASS: CFI common 7 - -PASS: CFI common 6 - Running [...]/hurd/gas/testsuite/gas/cr16/cr16.exp ... - Running [...]/hurd/gas/testsuite/gas/cr16/pic.exp ... - Running [...]/hurd/gas/testsuite/gas/cris/cris.exp ... - @@ -957,36 +366,6 @@ - Running [...]/hurd/gas/testsuite/gas/d30v/d30.exp ... - Running [...]/hurd/gas/testsuite/gas/dlx/alltests.exp ... - Running [...]/hurd/gas/testsuite/gas/elf/elf.exp ... - -PASS: elf ehopt0 - -PASS: .file file names - -PASS: group section - -PASS: group section - -PASS: group section name - -PASS: group section with multiple sections of same name - -PASS: group section with multiple sections of same name - -PASS: automatic section group - -PASS: automatic section group - -PASS: .equ redefinitions (ELF) - -PASS: elf equate relocs - -PASS: Ill-formed directives - -PASS: elf section0 - -PASS: elf section1 - -PASS: elf section2 list - -PASS: note section - -PASS: label arithmetic with multiple same-name sections - -PASS: elf section5 list - -PASS: ELF struct - -PASS: .set with expression - -PASS: ELF symbol versioning - -PASS: .set with IFUNC - -PASS: elf type list - -PASS: elf section6 - -PASS: elf section7 - -PASS: section flags - -PASS: DWARF2 1 - -PASS: DWARF2 2 - -PASS: DWARF2 3 - -PASS: Check bad section flag - Running [...]/hurd/gas/testsuite/gas/fr30/allinsn.exp ... - Running [...]/hurd/gas/testsuite/gas/fr30/fr30.exp ... - Running [...]/hurd/gas/testsuite/gas/frv/allinsn.exp ... - @@ -1165,41 +544,10 @@ - PASS: i386 FSGSBase (Intel disassembly) - PASS: i386 RdRnd - PASS: i386 RdRnd (Intel disassembly) - -PASS: i386 reloc - -PASS: i386 jump16 - -PASS: i386 white - -PASS: i386 pcrel reloc - -PASS: i386 abs reloc - -PASS: i386 intelpic - -PASS: i386 relax - -PASS: i386 relax 1 - -PASS: i386 relax 3 - -PASS: i386 gotpc - -PASS: i386 dynamic tls - -PASS: i386 pic tls - -PASS: i386 non-pic tls - -PASS: i386 .bss - -PASS: i386 relocs - -PASS: i386 reloc32 - -PASS: x86 mixed mode relocs (32-bit object) - -PASS: i386 AT&T register names - -PASS: i386 intel-got - -PASS: i386 Intel register names - -PASS: i386 inval-equ-1 - -PASS: i386 inval-equ-2 - -PASS: i386 ifunc - -PASS: i386 l1om-inval - -PASS: i386 local PIC - -PASS: DWARF2 debugging information 1 - -XFAIL: DWARF2 debugging information 2 - PASS: x86 Intel expressions - PASS: string insn operands - PASS: i386 string-bad - PASS: i386 space1 - -PASS: i386 list-1 - -PASS: i386 list-2 - -PASS: i386 list-3 - -PASS: DWARF2 debugging information 1 - Running [...]/hurd/gas/testsuite/gas/i860/i860.exp ... - Running [...]/hurd/gas/testsuite/gas/ia64/ia64.exp ... - Running [...]/hurd/gas/testsuite/gas/ieee-fp/x930509a.exp ... - @@ -1210,9 +558,6 @@ - Running [...]/hurd/gas/testsuite/gas/iq2000/yield.exp ... - Running [...]/hurd/gas/testsuite/gas/lm32/all.exp ... - Running [...]/hurd/gas/testsuite/gas/lns/lns.exp ... - -PASS: lns lns-diag-1 - -PASS: lns-duplicate - -PASS: lns-common-1 - Running [...]/hurd/gas/testsuite/gas/m32r/allinsn.exp ... - Running [...]/hurd/gas/testsuite/gas/m32r/error.exp ... - Running [...]/hurd/gas/testsuite/gas/m32r/m32r.exp ... - @@ -1281,11 +626,6 @@ - Running [...]/hurd/gas/testsuite/gas/sparc/sparc.exp ... - Running [...]/hurd/gas/testsuite/gas/sun4/addend.exp ... - Running [...]/hurd/gas/testsuite/gas/symver/symver.exp ... - -PASS: symver symver0 - -PASS: symver symver1 - -PASS: symver symver2 - -PASS: symver symver3 - -PASS: symver symver6 - Running [...]/hurd/gas/testsuite/gas/tic4x/tic4x.exp ... - Running [...]/hurd/gas/testsuite/gas/tic54x/tic54x.exp ... - Running [...]/hurd/gas/testsuite/gas/tic6x/tic6x.exp ... - @@ -1300,7 +640,6 @@ - - === gas Summary === - - -# of expected passes 315 - -# of expected failures 1 - +# of expected passes 238 - ../as-new 2.20.51.20101024 - -A lot of tests are not being run. Might be due -to the tests (incorrectly / correctly) being Linux-specific. +# Analysis + +## `FAIL: static [...]` + +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 to avoid this difference... -A few tests fail. +## `FAIL: ld-elf/64ksec` +On the idle grubber, this one takes a few minutes wall time to complete +successfully ([[I/O system weakness|io_system_binutils_ld_64ksec]], so assuming +some system load variation, the testsuite's timeout may trigger. -These tests PASSed when manually configured for `i686-pc-gnu`, but not when -automatically configured for `i686-unknown-gnu0.3`: +## `FAIL: ELF weak [...]` - Running /home/tschwinge/tmp/binutils/master/ld/testsuite/ld-discard/discard.exp ... - PASS: ld-discard/extern - PASS: ld-discard/start - PASS: ld-discard/static - PASS: ld-discard/zero-rel +[[I|tschwinge]] suppose this is due to us having an override w.r.t. weak symbol +handling in glibc, needed for our external [[libpthread]]. TODO: document +properly. diff --git a/open_issues/binutils_testsuite/log_build-diff b/open_issues/binutils_testsuite/log_build-diff index df43cb74..a63f1aed 100644 --- a/open_issues/binutils_testsuite/log_build-diff +++ b/open_issues/binutils_testsuite/log_build-diff @@ -1,5 +1,5 @@ ---- /dev/fd/63 2010-10-24 19:54:24.583358614 +0200 -+++ /dev/fd/62 2010-10-24 19:54:24.583358614 +0200 +--- /dev/fd/63 2010-10-26 10:07:58.598668616 +0200 ++++ /dev/fd/62 2010-10-26 10:07:58.598668616 +0200 @@ -1,6 +1,6 @@ -checking build system type... i686-pc-linux-gnu -checking host system type... i686-pc-linux-gnu diff --git a/open_issues/binutils_testsuite/sum_hurd b/open_issues/binutils_testsuite/sum_hurd index 5eded115..b6301e5a 100644 --- a/open_issues/binutils_testsuite/sum_hurd +++ b/open_issues/binutils_testsuite/sum_hurd @@ -1,4 +1,4 @@ -Test Run By tschwinge on Sun Oct 24 20:01:01 2010 +Test Run By tschwinge on Tue Oct 26 12:32:17 2010 Native configuration is i686-unknown-gnu0.3 === binutils tests === @@ -14,12 +14,19 @@ PASS: ar thin archive PASS: ar thin archive with nested archive PASS: ar argument parsing PASS: ar deterministic archive +PASS: ar unique symbol in archive Running [...]/hurd/binutils/testsuite/binutils-all/arm/objdump.exp ... Running [...]/hurd/binutils/testsuite/binutils-all/bfin/objdump.exp ... Running [...]/hurd/binutils/testsuite/binutils-all/dlltool.exp ... Running [...]/hurd/binutils/testsuite/binutils-all/elfedit.exp ... +UNSUPPORTED: Update ELF header 1 +PASS: Update ELF header 2 +PASS: Update ELF header 3 Running [...]/hurd/binutils/testsuite/binutils-all/hppa/objdump.exp ... Running [...]/hurd/binutils/testsuite/binutils-all/i386/i386.exp ... +PASS: objcopy on compressed debug sections +PASS: strip on uncompressed debug sections +PASS: strip on compressed debug sections Running [...]/hurd/binutils/testsuite/binutils-all/m68k/objdump.exp ... Running [...]/hurd/binutils/testsuite/binutils-all/nm.exp ... PASS: nm (no arguments) @@ -43,9 +50,35 @@ PASS: run stripped executable PASS: run stripped executable with saving a symbol PASS: keep only debug data PASS: simple objcopy of debug data +PASS: objcopy (ELF unknown section type) +PASS: objcopy (ELF group) +PASS: objcopy (ELF group) +PASS: objcopy (ELF group) +PASS: objcopy (ELF group) +PASS: copy removing group member +PASS: copy with setting section flags 1 +PASS: add notes section PASS: copy with setting section flags 2 PASS: copy with setting section flags 3 PASS: strip --strip-unneeded on common symbol +PASS: strip with section group 1 +PASS: strip with section group 2 +PASS: strip empty file +PASS: strip with section group 4 +PASS: strip with section group 5 +PASS: strip with section group 6 +PASS: strip with section group 7 +PASS: strip with section group 8 +PASS: strip with section group 9 +PASS: strip on STB_GNU_UNIQUE +PASS: objcopy keeps symbols needed by relocs +PASS: --localize-hidden test 1 +PASS: unordered .debug_info references to .debug_ranges +UNSUPPORTED: unordered .debug_info references to .debug_ranges +PASS: objcopy add-section +PASS: objcopy add-empty-section +PASS: objcopy on sections with SHF_EXCLUDE +PASS: strip --strip-unneeded on sections with SHF_EXCLUDE PASS: --localize-hidden test 2 Running [...]/hurd/binutils/testsuite/binutils-all/objdump.exp ... PASS: objdump -i @@ -54,8 +87,17 @@ PASS: objdump -h PASS: objdump -t PASS: objdump -r PASS: objdump -s -UNSUPPORTED: objdump compressed debug +PASS: objdump -s -j .zdebug_abbrev +PASS: objdump -W Running [...]/hurd/binutils/testsuite/binutils-all/readelf.exp ... +PASS: finding out ELF size with readelf -h +PASS: readelf -h +PASS: readelf -S +PASS: readelf -s +PASS: readelf -r +PASS: readelf -wi +PASS: readelf -wa (compressed) +PASS: readelf -p Running [...]/hurd/binutils/testsuite/binutils-all/size.exp ... PASS: size (no arguments) PASS: size -A @@ -65,9 +107,9 @@ Running [...]/hurd/binutils/testsuite/binutils-all/x86-64/x86-64.exp ... === binutils Summary === -# of expected passes 38 -# of unsupported tests 1 -Test Run By tschwinge on Sun Oct 24 20:06:29 2010 +# of expected passes 79 +# of unsupported tests 2 +Test Run By tschwinge on Tue Oct 26 12:39:07 2010 Native configuration is i686-unknown-gnu0.3 === ld tests === @@ -87,8 +129,8 @@ UNTESTED: bootstrap with --traditional-format UNTESTED: bootstrap with --no-keep-memory UNTESTED: bootstrap with --relax Running [...]/hurd/ld/testsuite/ld-cdtest/cdtest.exp ... -FAIL: cdtest -FAIL: cdtest with -Ur +PASS: cdtest +PASS: cdtest with -Ur Running [...]/hurd/ld/testsuite/ld-checks/checks.exp ... PASS: check sections 1 PASS: check sections 2 @@ -97,23 +139,428 @@ Running [...]/hurd/ld/testsuite/ld-crx/crx.exp ... Running [...]/hurd/ld/testsuite/ld-cygwin/exe-export.exp ... Running [...]/hurd/ld/testsuite/ld-d10v/d10v.exp ... Running [...]/hurd/ld/testsuite/ld-discard/discard.exp ... +PASS: ld-discard/extern +PASS: ld-discard/start +PASS: ld-discard/static +PASS: ld-discard/zero-rel Running [...]/hurd/ld/testsuite/ld-elf/audit.exp ... +PASS: Run with -paudit.so +PASS: Run with -Paudit.so +PASS: Run with --depaudit=audit.so +PASS: Run with shared with --audit +PASS: Run with shared with --audit +PASS: Run with -lusesaudit +PASS: Run with -lusesaudit -lusesaudit2 Running [...]/hurd/ld/testsuite/ld-elf/binutils.exp ... +PASS: strip -z max-page-size=0x200000 (maxpage1) +PASS: strip -z max-page-size=0x200000 -z common-page-size=0x100000 (maxpage1) +PASS: strip -z max-page-size=0x100000 (maxpage1) +PASS: strip -z max-page-size=0x100000 -z common-page-size=0x1000 (maxpage1) +PASS: strip (maxpage1) +PASS: strip -shared (maxpage1) +PASS: objcopy (maxpage1) +PASS: objcopy -shared (maxpage1) +PASS: strip -z relro (relro1) +PASS: strip -z relro -shared (relro1) +PASS: objcopy -z relro (relro1) +PASS: objcopy -z relro -shared (relro1) +PASS: strip -z relro -shared (relro2) +PASS: objcopy -z relro -shared (relro2) +PASS: strip -T [...]/hurd/ld/testsuite/ld-elf/lma.lnk (lma) +PASS: objcopy (tbss1) +PASS: objcopy -z relro (tbss1) +PASS: objcopy -shared (tbss1) +PASS: objcopy -shared -z relro (tbss1) +PASS: objcopy -z max-page-size=0x100000 (tbss1) +PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tbss1) +PASS: objcopy (tdata1) +PASS: objcopy -z relro (tdata1) +PASS: objcopy -shared (tdata1) +PASS: objcopy -shared -z relro (tdata1) +PASS: objcopy -z max-page-size=0x100000 (tdata1) +PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tdata1) +PASS: objcopy (tbss2) +PASS: objcopy -z relro (tbss2) +PASS: objcopy -shared (tbss2) +PASS: objcopy -shared -z relro (tbss2) +PASS: objcopy -z max-page-size=0x100000 (tbss2) +PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tbss2) +PASS: objcopy (tdata2) +PASS: objcopy -z relro (tdata2) +PASS: objcopy -shared (tdata2) +PASS: objcopy -shared -z relro (tdata2) +PASS: objcopy -z max-page-size=0x100000 (tdata2) +PASS: objcopy -z max-page-size=0x100000 -z common-page-size=0x1000 (tdata2) Running [...]/hurd/ld/testsuite/ld-elf/dwarf.exp ... +PASS: Build libdwarf1.so +PASS: Run with libdwarf1.so first +PASS: Run with libdwarf1.so last +PASS: Strip -s libdwarf1c.so Running [...]/hurd/ld/testsuite/ld-elf/eh-group.exp ... +PASS: Guess the target size from eh-group1size.o +PASS: Build eh-group1.o +PASS: Link eh-group.o to eh-group Running [...]/hurd/ld/testsuite/ld-elf/elf.exp ... +PASS: ld-elf/commonpage1 +PASS: ld-elf/discard1 +PASS: ld-elf/discard2 +PASS: ld-elf/discard3 +PASS: ld-elf/dynsym1 +PASS: ld-elf/eh-frame-hdr +PASS: ld-elf/eh5 +PASS: ld-elf/eh6 +PASS: ld-elf/empty +PASS: ld-elf/empty2 +PASS: ld-elf/exclude3a +PASS: ld-elf/exclude3b +PASS: ld-elf/exclude3c +PASS: ld-elf/expr1 +PASS: --extract-symbol test 1 (sections) +PASS: --extract-symbol test 1 (symbols) +PASS: --set-section-flags test 1 (sections) +PASS: ld-elf/group1 +PASS: ld-elf/group10 +PASS: ld-elf/group2 +PASS: ld-elf/group3a +PASS: ld-elf/group3b +PASS: ld-elf/group4 +PASS: ld-elf/group5 +PASS: ld-elf/group6 +PASS: ld-elf/group7 +PASS: ld-elf/group8a +PASS: ld-elf/group8b +PASS: ld-elf/group9a +PASS: ld-elf/group9b +PASS: ld-elf/hash +PASS: ld-elf/header +PASS: ld-elf/init-fini-arrays +PASS: ld-elf/linkonce1 +PASS: ld-elf/linkonce2 +PASS: ld-elf/linkoncerdiff +PASS: ld-elf/loadaddr1 +PASS: ld-elf/loadaddr2 +PASS: ld-elf/loadaddr3a +PASS: ld-elf/loadaddr3b +PASS: ld-elf/local1 +PASS: ld-elf/maxpage1 +PASS: ld-elf/maxpage2 +PASS: ld-elf/maxpage3a +PASS: ld-elf/merge +PASS: ld-elf/merge2 +PASS: ld-elf/multibss1 +PASS: ld-elf/nobits-1 +PASS: ld-elf/noload-1 +PASS: ld-elf/noload-2 +PASS: ld-elf/noload-3 +PASS: ld-elf/note-1 +PASS: ld-elf/note-2 +PASS: ld-elf/orphan-region +PASS: ld-elf/orphan +PASS: ld-elf/orphan2 +PASS: ld-elf/orphan3 +PASS: ld-elf/orphan4 +PASS: ld-elf/overlay +PASS: ld-elf/pr11304 +PASS: ld-elf/pr349 +PASS: relocatable with script +PASS: ld-elf/seg +PASS: ld-elf/stab +PASS: ld-elf/textaddr1 +PASS: ld-elf/textaddr2 +PASS: ld-elf/textaddr3 +PASS: ld-elf/textaddr4 +PASS: ld-elf/textaddr5 +PASS: ld-elf/textaddr6 +PASS: ld-elf/textaddr7 +PASS: ld-elf/unknown +PASS: ld-elf/unknown2 +PASS: ld-elf/warn1 +PASS: ld-elf/warn2 +PASS: Weak symbols in dynamic objects 1 (support) +PASS: Weak symbols in dynamic objects 1 (main test) +PASS: --gc-sections on tls variable +PASS: preinit array +PASS: init array +PASS: fini array +XFAIL: static preinit array +XFAIL: static init array +XFAIL: static fini array Running [...]/hurd/ld/testsuite/ld-elf/exclude.exp ... +PASS: ld link shared library +PASS: ld export symbols from archive +PASS: ld link shared library with --exclude-libs +PASS: ld exclude symbols from archive - --exclude-libs libexclude +PASS: ld exclude symbols from archive - --exclude-libs libexclude.a +PASS: ld exclude symbols from archive - --exclude-libs ALL +PASS: ld exclude symbols from archive - --exclude-libs foo:libexclude.a +PASS: ld exclude symbols from archive - --exclude-libs foo,libexclude.a +PASS: ld don't exclude symbols from archive - --exclude-libs foo:bar Running [...]/hurd/ld/testsuite/ld-elf/frame.exp ... +PASS: read-only .eh_frame section +PASS: read-only .gcc_except_table section Running [...]/hurd/ld/testsuite/ld-elf/sec-to-seg.exp ... -UNSUPPORTED: assignment of ELF sections to segments +PASS: assignment of ELF sections to segments (same page) +PASS: assignment of ELF sections to segments (adjacent pages) +PASS: assignment of ELF sections to segments (disjoint pages) Running [...]/hurd/ld/testsuite/ld-elf/sec64k.exp ... +PASS: ld-elf/64ksec-r +PASS: ld-elf/64ksec Running [...]/hurd/ld/testsuite/ld-elf/shared.exp ... +PASS: Build libfoo.so +PASS: Build versioned libfoo.so +PASS: Build libbar.so +PASS: Build warn libbar.so +PASS: Build hidden libbar.so +PASS: Build protected libbar.so +PASS: Build libbar.so with libfoo.so +PASS: Build libar.so with versioned libfoo.so +PASS: Build hidden libbar.so with libfoo.so +PASS: Build hidden libar.so with versioned libfoo.so +PASS: Build protected libbar.so with libfoo.so +PASS: Build protected libbar.so with versioned libfoo.so +PASS: Build libdl1.so +PASS: Build libdl2a.so with --dynamic-list=dl2.list +PASS: Build libdl2a.so with --dynamic-list=dl2a.list +PASS: Build libdl2a.so with --dynamic-list-data +PASS: Build libdl2b.so with --dynamic-list=dl2.list and dl2xxx.list +PASS: Build libdl2c.so with --dynamic-list-data and dl2xxx.list +PASS: Build libdl4a.so with --dynamic-list=dl4.list +PASS: Build libdl4b.so with --dynamic-list-data +PASS: Build libdl4c.so with --dynamic-list=dl4.list and dl4xxx.list +PASS: Build libdl4d.so with --dynamic-list-data and dl4xxx.list +PASS: Build libdl4e.so with -Bsymbolic-functions --dynamic-list-cpp-new +PASS: Build libdl4f.so with --dynamic-list-cpp-new -Bsymbolic-functions +PASS: Build libdl6a.so +PASS: Build libdl6b.so with -Bsymbolic --dynamic-list-data +PASS: Build libdl6c.so with -Bsymbolic +PASS: Build libdl6d.so with --dynamic-list-data -Bsymbolic +PASS: Build libdata1.so +PASS: Build libcomm1.o +PASS: Build libfunc1.so +PASS: Build libpr9676-1.a +PASS: Build libpr9676-2.a +PASS: Build libpr9676-3.so +PASS: Build libpr9676-4.so +PASS: Build libpr9676-4a.so +PASS: Build libpr9679.so +PASS: Build libpr11138-1.so +PASS: Build libpr11138-2.o +PASS: Run normal with libfoo.so +PASS: Run protected with libfoo.so +PASS: Run hidden with libfoo.so +PASS: Run normal with versioned libfoo.so +PASS: Run warn with versioned libfoo.so +PASS: Run protected with versioned libfoo.so +PASS: Run hidden with versioned libfoo.so +PASS: Run normal libbar.so with libfoo.so +PASS: Run protected libbar.so with libfoo.so +PASS: Run hidden libbar.so with libfoo.so +PASS: Run normal libbar.so with versioned libfoo.so +PASS: Run protected libbar.so with versioned libfoo.so +PASS: Run hidden libbar.so with versioned libfoo.so +PASS: Run dl1a with --dynamic-list=dl1.list and dlopen on libdl1.so +PASS: Run dl1b with --dynamic-list-data and dlopen on libdl1.so +PASS: Run with libdl2a.so +PASS: Run with libdl2b.so +PASS: Run with libdl2c.so +PASS: Run with libdl4a.so +PASS: Run with libdl4b.so +PASS: Run with libdl4c.so +PASS: Run with libdl4d.so +PASS: Run with libdl4e.so +PASS: Run with libdl4f.so +PASS: Run dl6a1 with --dynamic-list-data and dlopen on libdl6a.so +PASS: Run dl6a2 with -Bsymbolic-functions and dlopen on libdl6a.so +PASS: Run dl6a3 with -Bsymbolic and dlopen on libdl6a.so +PASS: Run dl6a4 with -Bsymbolic --dynamic-list-data and dlopen on libdl6a.so +PASS: Run dl6a5 with -Bsymbolic-functions --dynamic-list-cpp-new and dlopen on libdl6a.so +PASS: Run dl6a6 with --dynamic-list-cpp-new -Bsymbolic-functions and dlopen on libdl6a.so +PASS: Run dl6a7 with --dynamic-list-data -Bsymbolic and dlopen on libdl6a.so +PASS: Run dl6b1 with --dynamic-list-data and dlopen on libdl6b.so +PASS: Run dl6b2 with dlopen on libdl6b.so +PASS: Run dl6c1 with --dynamic-list-data and dlopen on libdl6c.so +PASS: Run dl6d1 with --dynamic-list-data and dlopen on libdl6d.so +PASS: Run with libdata1.so +PASS: Run with libfunc1.so comm1.o +PASS: Run with comm1.o libfunc1.so +PASS: Run with pr11138-2.c libpr11138-1.so +PASS: Run with libpr11138-1.so pr11138-2.c +PASS: Build libdl3a.so with --dynamic-list=dl3.list +PASS: Build libdl3b.so with -Bsymbolic +PASS: Build libdl3a.so with --dynamic-list-cpp-typeinfo +PASS: Build libdnew1a.so with --Bsymbolic-functions --dynamic-list-cpp-new +PASS: Build libdnew1b.so with --dynamic-list-data --dynamic-list-cpp-new +PASS: Run with libdl3a.so +PASS: Run with libdl3c.so +PASS: Run with libnew1a.so +PASS: Run with libnew1b.so Running [...]/hurd/ld/testsuite/ld-elf/tls_common.exp ... +PASS: tls_common Running [...]/hurd/ld/testsuite/ld-elf/wrap.exp ... +PASS: Build libwrap1a.so +PASS: Build libwrap1b.so +PASS: Run with libwrap1a.so and libwrap1b.so +PASS: Run with libwrap1b.so and libwrap1a.so Running [...]/hurd/ld/testsuite/ld-elfcomm/elfcomm.exp ... +PASS: --sort-common (descending) +PASS: --sort-common (ascending) +PASS: size/aligment change of common symbols (warning 1) +PASS: size/aligment change of common symbols (change 1) +PASS: size/aligment change of common symbols (warning 2) +PASS: size/aligment change of common symbols (change 2) Running [...]/hurd/ld/testsuite/ld-elfvers/vers.exp ... +PASS: vers1 +PASS: vers2 +PASS: vers3 +PASS: vers4 +PASS: vers4a +PASS: vers4b +PASS: vers5 +PASS: vers6 +PASS: vers7a +PASS: vers7 +PASS: vers8 +PASS: vers9 +PASS: vers10 +PASS: vers11 +PASS: vers12 +PASS: ar with versioned solib +PASS: vers14 +PASS: vers15 +PASS: vers16a +PASS: vers16 +PASS: vers17 +PASS: vers18 +PASS: vers19 +PASS: vers20a +PASS: vers20 +PASS: vers21 +PASS: vers22a +PASS: vers22b +PASS: vers22 +PASS: vers23a +PASS: vers23b +PASS: vers23c +PASS: vers23d +PASS: vers23 +PASS: vers24a +PASS: vers24b +PASS: vers24c +PASS: vers25a +PASS: vers25b1 +PASS: vers25b2 +PASS: vers26a +PASS: vers26b1 +PASS: vers26b2 +PASS: vers26b3 +PASS: vers27a +PASS: vers27b +PASS: vers27c1 +PASS: vers27c2 +PASS: vers27d1 +PASS: vers27d2 +PASS: vers27d3 +PASS: vers27d4 +PASS: vers27d5 +PASS: vers28a +PASS: vers28b +PASS: vers28c +PASS: vers29 +PASS: vers30 +PASS: vers31 +PASS: vers32a +PASS: vers32b +PASS: vers32c +PASS: vers32d Running [...]/hurd/ld/testsuite/ld-elfvsb/elfvsb.exp ... +PASS: ld-elfvsb/hidden0 +PASS: ld-elfvsb/hidden1 +PASS: ld-elfvsb/hidden2 +PASS: ld-elfvsb/internal0 +PASS: ld-elfvsb/internal1 +PASS: ld-elfvsb/protected0 +PASS: ld-elfvsb/protected1 +PASS: visibility (hidden) (non PIC) +PASS: visibility (hidden) (non PIC, load offset) +PASS: visibility (hidden) +PASS: visibility (hidden) (PIC main, non PIC so) +PASS: visibility (hidden) (PIC main) +PASS: visibility (hidden_normal) (non PIC) +PASS: visibility (hidden_normal) (non PIC, load offset) +PASS: visibility (hidden_normal) +PASS: visibility (hidden_normal) (PIC main, non PIC so) +PASS: visibility (hidden_normal) (PIC main) +PASS: visibility (hidden_undef) (non PIC) +PASS: visibility (hidden_undef) (non PIC, load offset) +PASS: visibility (hidden_undef) +PASS: visibility (hidden_undef) (PIC main, non PIC so) +PASS: visibility (hidden_undef) (PIC main) +PASS: visibility (hidden_undef_def) (non PIC) +PASS: visibility (hidden_undef_def) (non PIC, load offset) +PASS: visibility (hidden_undef_def) +PASS: visibility (hidden_undef_def) (PIC main, non PIC so) +PASS: visibility (hidden_undef_def) (PIC main) +PASS: visibility (hidden_weak) (non PIC) +PASS: visibility (hidden_weak) (non PIC, load offset) +PASS: visibility (hidden_weak) +PASS: visibility (hidden_weak) (PIC main, non PIC so) +PASS: visibility (hidden_weak) (PIC main) +PASS: visibility (protected) (non PIC) +PASS: visibility (protected) (non PIC, load offset) +PASS: visibility (protected) +PASS: visibility (protected) (PIC main, non PIC so) +PASS: visibility (protected) (PIC main) +PASS: visibility (protected_undef) (non PIC) +PASS: visibility (protected_undef) (non PIC, load offset) +PASS: visibility (protected_undef) +PASS: visibility (protected_undef) (PIC main, non PIC so) +PASS: visibility (protected_undef) (PIC main) +PASS: visibility (protected_undef_def) (non PIC) +PASS: visibility (protected_undef_def) (non PIC, load offset) +PASS: visibility (protected_undef_def) +PASS: visibility (protected_undef_def) (PIC main, non PIC so) +PASS: visibility (protected_undef_def) (PIC main) +PASS: visibility (protected_weak) (non PIC) +PASS: visibility (protected_weak) (non PIC, load offset) +PASS: visibility (protected_weak) +PASS: visibility (protected_weak) (PIC main, non PIC so) +PASS: visibility (protected_weak) (PIC main) +PASS: visibility (normal) (non PIC) +PASS: visibility (normal) (non PIC, load offset) +PASS: visibility (normal) +PASS: visibility (normal) (PIC main, non PIC so) +PASS: visibility (normal) (PIC main) +PASS: common hidden symbol +PASS: weak hidden symbol DSO last +PASS: weak hidden symbol DSO first Running [...]/hurd/ld/testsuite/ld-elfweak/elfweak.exp ... +PASS: ELF DSO weak func first +PASS: ELF DSO weak func last +PASS: ELF DSO weak func first DSO +PASS: ELF DSO weak func last DSO +PASS: ELF weak func first +PASS: ELF weak func last +XFAIL: ELF weak func first DSO +XFAIL: ELF weak func last DSO +PASS: ELF DSO weak data first +PASS: ELF DSO weak data last +PASS: ELF DSO weak data first DSO +PASS: ELF DSO weak data last DSO +PASS: ELF DSO weak data first DSO common +PASS: ELF DSO weak data last DSO common +PASS: ELF weak data first +PASS: ELF weak data last +PASS: ELF weak data first common +PASS: ELF weak data last common +XFAIL: ELF weak data first DSO +XFAIL: ELF weak data last DSO +XFAIL: ELF weak data first DSO common +XFAIL: ELF weak data last DSO common +PASS: ELF DSO small bar (size) +PASS: ELF DSO foo with small bar (size) +PASS: ELF DSO big bar (size) +PASS: ELF weak size +PASS: ld-elfweak/size2 Running [...]/hurd/ld/testsuite/ld-fastcall/fastcall.exp ... Running [...]/hurd/ld/testsuite/ld-frv/fdpic.exp ... Running [...]/hurd/ld/testsuite/ld-frv/frv-elf.exp ... @@ -124,16 +571,85 @@ PASS: Check --gc-section/-q PASS: Check --gc-section/-r/-e PASS: Check --gc-section/-r/-u PASS: --gc-sections -r without -e +PASS: --gc-sections with note section +PASS: --gc-sections with __start_ +PASS: --gc-sections with shared library Running [...]/hurd/ld/testsuite/ld-h8300/h8300.exp ... Running [...]/hurd/ld/testsuite/ld-i386/i386.exp ... +PASS: TLS -fpic -shared transitions +PASS: TLS descriptor -fpic -shared transitions +PASS: Helper shared library +PASS: TLS -fpic and -fno-pic exec transitions +PASS: TLS descriptor -fpic and -fno-pic exec transitions +PASS: TLS -fno-pic -shared +PASS: TLS with global dynamic and descriptors +PASS: TLS in debug sections +PASS: TLS @indntpoff with %eax +PASS: Reloc section order +PASS: Basic --emit-relocs support +PASS: -z combreloc relocation sections +PASS: TLS GD->LE transition +PASS: TLS LD->LE transition +PASS: TLS IE->LE transition +PASS: Absolute non-overflowing relocs +PASS: PCREL8 overflow +PASS: PCREL16 overflow +PASS: PCREL16 absolute reloc +PASS: Invalid allocated section +PASS: --warn-shared-textrel --fatal-warnings +PASS: TLS GD->LE transition check +PASS: TLS IE->LE transition check (R_386_TLS_GOTIE with %eax) +PASS: TLS IE->LE transition check (R_386_TLS_GOTIE) +PASS: TLS IE->LE transition check (R_386_TLS_IE with %eax) +PASS: TLS IE->LE transition check (R_386_TLS_IE) +PASS: ld-i386/hidden1 +PASS: ld-i386/hidden2 +PASS: ld-i386/hidden3 +PASS: ld-i386/protected1 +PASS: ld-i386/protected2 +PASS: ld-i386/protected3 +PASS: TLS with PIE +PASS: ld-i386/nogot1 +PASS: ld-i386/nogot2 +PASS: ld-i386/discarded1 +PASS: undefined symbol with compressed debug sections Running [...]/hurd/ld/testsuite/ld-ia64/ia64.exp ... Running [...]/hurd/ld/testsuite/ld-ia64/line.exp ... Running [...]/hurd/ld/testsuite/ld-ifunc/binutils.exp ... +PASS: strip (ifunc-4-x86) +PASS: objcopy (ifunc-4-x86) +PASS: strip (ifunc-4-local-x86) +PASS: objcopy (ifunc-4-local-x86) Running [...]/hurd/ld/testsuite/ld-ifunc/ifunc.exp ... +PASS: Building ifunc binaries +PASS: Checking ifunc binaries +PASS: ld-ifunc/ifunc-1-local-x86 +PASS: ld-ifunc/ifunc-1-x86 +PASS: ld-ifunc/ifunc-10-i386 +PASS: ld-ifunc/ifunc-11-i386 +PASS: ld-ifunc/ifunc-2-i386 +PASS: ld-ifunc/ifunc-2-local-i386 +PASS: ld-ifunc/ifunc-3a-x86 +PASS: ld-ifunc/ifunc-3b-x86 +PASS: ld-ifunc/ifunc-4-local-x86 +PASS: ld-ifunc/ifunc-4-x86 +PASS: ld-ifunc/ifunc-4a-x86 +PASS: ld-ifunc/ifunc-5a-i386 +PASS: ld-ifunc/ifunc-5a-local-i386 +PASS: ld-ifunc/ifunc-5b-i386 +PASS: ld-ifunc/ifunc-5b-local-i386 +PASS: ld-ifunc/ifunc-5r-local-i386 +PASS: ld-ifunc/ifunc-6a-i386 +PASS: ld-ifunc/ifunc-6b-i386 +PASS: ld-ifunc/ifunc-7a-i386 +PASS: ld-ifunc/ifunc-7b-i386 +PASS: ld-ifunc/ifunc-8-i386 +PASS: ld-ifunc/ifunc-9-x86 Running [...]/hurd/ld/testsuite/ld-libs/libs.exp ... PASS: -l: test (preparation) PASS: -l: test Running [...]/hurd/ld/testsuite/ld-linkonce/linkonce.exp ... +PASS: ld-linkonce/zeroehl32 Running [...]/hurd/ld/testsuite/ld-m68hc11/m68hc11.exp ... Running [...]/hurd/ld/testsuite/ld-m68k/m68k-got.exp ... Running [...]/hurd/ld/testsuite/ld-m68k/m68k.exp ... @@ -147,19 +663,23 @@ Running [...]/hurd/ld/testsuite/ld-pe/pe-run.exp ... Running [...]/hurd/ld/testsuite/ld-pe/pe-run2.exp ... Running [...]/hurd/ld/testsuite/ld-pe/pe.exp ... Running [...]/hurd/ld/testsuite/ld-pie/pie.exp ... +PASS: weak undefined +PASS: weak undefined data +PASS: missing entry symbol Running [...]/hurd/ld/testsuite/ld-plugin/plugin.exp ... PASS: plugin API enabled PASS: load plugin PASS: fail plugin onload -FAIL: fail plugin allsymbolsread -FAIL: fail plugin cleanup -FAIL: plugin all hooks -FAIL: plugin claimfile lost symbol -FAIL: plugin claimfile replace symbol -FAIL: plugin claimfile resolve symbol -FAIL: plugin claimfile replace file -FAIL: plugin ignore lib -FAIL: plugin claimfile replace lib +PASS: fail plugin allsymbolsread +PASS: fail plugin cleanup +PASS: plugin all hooks +PASS: plugin claimfile lost symbol +PASS: plugin claimfile replace symbol +PASS: plugin claimfile resolve symbol +PASS: plugin claimfile replace file +PASS: plugin set symbol visibility +PASS: plugin ignore lib +PASS: plugin claimfile replace lib Running [...]/hurd/ld/testsuite/ld-powerpc/aix52.exp ... Running [...]/hurd/ld/testsuite/ld-powerpc/powerpc.exp ... Running [...]/hurd/ld/testsuite/ld-s390/s390.exp ... @@ -169,6 +689,7 @@ PASS: ld-scripts/align2a PASS: ld-scripts/align2b PASS: ld-scripts/align2c Running [...]/hurd/ld/testsuite/ld-scripts/alignof.exp ... +PASS: ALIGNOF Running [...]/hurd/ld/testsuite/ld-scripts/assert.exp ... PASS: ASSERT Running [...]/hurd/ld/testsuite/ld-scripts/crossref.exp ... @@ -187,6 +708,7 @@ PASS: DEFINED (PRMS 5699) PASS: ld-scripts/defined2 PASS: ld-scripts/defined3 Running [...]/hurd/ld/testsuite/ld-scripts/dynamic-sections.exp ... +PASS: dynamic sections Running [...]/hurd/ld/testsuite/ld-scripts/empty-address.exp ... PASS: ld-scripts/empty-address-1 PASS: ld-scripts/empty-address-2a @@ -195,7 +717,9 @@ PASS: ld-scripts/empty-address-3a PASS: ld-scripts/empty-address-3b PASS: ld-scripts/empty-address-3c Running [...]/hurd/ld/testsuite/ld-scripts/empty-aligned.exp ... +PASS: ld-scripts/empty-aligned Running [...]/hurd/ld/testsuite/ld-scripts/empty-orphan.exp ... +PASS: ld-scripts/empty-orphan Running [...]/hurd/ld/testsuite/ld-scripts/expr.exp ... PASS: ld-scripts/expr1 Running [...]/hurd/ld/testsuite/ld-scripts/extern.exp ... @@ -205,15 +729,41 @@ PASS: include-1 Running [...]/hurd/ld/testsuite/ld-scripts/map-address.exp ... PASS: map addresses Running [...]/hurd/ld/testsuite/ld-scripts/overlay-size.exp ... +PASS: overlay size +PASS: overlay size (map check) Running [...]/hurd/ld/testsuite/ld-scripts/phdrs.exp ... +PASS: PHDRS Running [...]/hurd/ld/testsuite/ld-scripts/phdrs2.exp ... +PASS: PHDRS2 Running [...]/hurd/ld/testsuite/ld-scripts/phdrs3.exp ... +PASS: PHDRS headers +PASS: PHDRS headers 3a Running [...]/hurd/ld/testsuite/ld-scripts/provide.exp ... PASS: ld-scripts/provide-1 PASS: ld-scripts/provide-2 XFAIL: ld-scripts/provide-3 Running [...]/hurd/ld/testsuite/ld-scripts/rgn-at.exp ... +PASS: rgn-at1 +PASS: rgn-at2 +PASS: rgn-at3 +PASS: rgn-at4 +PASS: rgn-at5 Running [...]/hurd/ld/testsuite/ld-scripts/rgn-over.exp ... +PASS: rgn-over1 +PASS: rgn-over1 (map check) +PASS: rgn-over2 +PASS: rgn-over2 (map check) +PASS: rgn-over3 +PASS: rgn-over3 (map check) +PASS: rgn-over4 +PASS: rgn-over4 (map check) +PASS: rgn-over5 +PASS: rgn-over5 (map check) +PASS: rgn-over6 +PASS: rgn-over6 (map check) +PASS: rgn-over7 +PASS: rgn-over7 (map check) +PASS: rgn-over8 Running [...]/hurd/ld/testsuite/ld-scripts/script.exp ... PASS: script PASS: MRI script @@ -226,14 +776,40 @@ Running [...]/hurd/ld/testsuite/ld-scripts/section-match.exp ... PASS: ld-scripts/section-match-1 Running [...]/hurd/ld/testsuite/ld-scripts/size.exp ... PASS: ld-scripts/size-1 -UNSUPPORTED: size-2 +PASS: ld-scripts/size-2 Running [...]/hurd/ld/testsuite/ld-scripts/sizeof.exp ... PASS: SIZEOF Running [...]/hurd/ld/testsuite/ld-scripts/sort.exp ... +PASS: --sort-section alignment +PASS: SORT_BY_ALIGNMENT +PASS: SORT_BY_ALIGNMENT(SORT_BY_ALIGNMENT()) +PASS: SORT_BY_ALIGNMENT(SORT_BY_ALIGNMENT()) --sort-section alignment +PASS: SORT_BY_ALIGNMENT(SORT_BY_ALIGNMENT()) --sort-section name +PASS: SORT_BY_ALIGNMENT(SORT_BY_NAME()) +PASS: SORT_BY_ALIGNMENT(SORT_BY_NAME()) --sort-section name +PASS: SORT_BY_ALIGNMENT(SORT_BY_NAME()) --sort-section alignment +PASS: --sort-section name +PASS: SORT_BY_NAME +PASS: SORT_BY_NAME(SORT_BY_ALIGNMENT()) +PASS: SORT_BY_NAME(SORT_BY_ALIGNMENT()) --sort-section alignment +PASS: SORT_BY_NAME(SORT_BY_ALIGNMENT()) --sort-section alignment +PASS: SORT_BY_NAME(SORT_BY_NAME()) +PASS: SORT_BY_NAME(SORT_BY_NAME()) --sort-section name +PASS: SORT_BY_NAME(SORT_BY_NAME()) --sort-section alignment +PASS: no SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT +PASS: no SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT Running [...]/hurd/ld/testsuite/ld-scripts/weak.exp ... -UNSUPPORTED: weak symbols +PASS: weak symbols Running [...]/hurd/ld/testsuite/ld-selective/sel-dump.exp ... +PASS: Preserve default . = 0 +PASS: Preserve explicit . = 0 Running [...]/hurd/ld/testsuite/ld-selective/selective.exp ... +PASS: selective1 +PASS: selective2 +PASS: selective3 +XFAIL: selective4 +XFAIL: selective5 +XFAIL: selective6 Running [...]/hurd/ld/testsuite/ld-sh/arch/arch.exp ... Running [...]/hurd/ld/testsuite/ld-sh/rd-sh.exp ... Running [...]/hurd/ld/testsuite/ld-sh/sh-vxworks.exp ... @@ -243,6 +819,12 @@ Running [...]/hurd/ld/testsuite/ld-sh/sh64/relax.exp ... Running [...]/hurd/ld/testsuite/ld-sh/sh64/relfail.exp ... Running [...]/hurd/ld/testsuite/ld-sh/sh64/sh64.exp ... Running [...]/hurd/ld/testsuite/ld-shared/shared.exp ... +PASS: shared (non PIC) +PASS: shared (non PIC, load offset) +PASS: shared +PASS: shared -Bsymbolic +PASS: shared (PIC main, non PIC so) +PASS: shared (PIC main) Running [...]/hurd/ld/testsuite/ld-sparc/sparc.exp ... Running [...]/hurd/ld/testsuite/ld-spu/spu.exp ... Running [...]/hurd/ld/testsuite/ld-srec/srec.exp ... @@ -253,6 +835,8 @@ Running [...]/hurd/ld/testsuite/ld-undefined/entry.exp ... PASS: Build libentry.a PASS: --entry foo archive PASS: --entry foo -u foo archive +PASS: -shared --entry foo archive +PASS: -shared --entry foo -u foo archive PASS: --entry foo PASS: --entry foo -u foo PASS: --entry 0x0 @@ -261,7 +845,7 @@ PASS: undefined PASS: undefined function PASS: undefined line Running [...]/hurd/ld/testsuite/ld-undefined/weak-undef.exp ... -UNSUPPORTED: weak undefined symbols +PASS: weak undefined symbols Running [...]/hurd/ld/testsuite/ld-v850/v850.exp ... Running [...]/hurd/ld/testsuite/ld-versados/versados.exp ... Running [...]/hurd/ld/testsuite/ld-vxworks/vxworks.exp ... @@ -276,14 +860,12 @@ Running [...]/hurd/ld/testsuite/ld-xtensa/xtensa.exp ... === ld Summary === -# of expected passes 57 -# of unexpected failures 11 -# of expected failures 5 +# of expected passes 602 +# of expected failures 17 # of untested testcases 6 -# of unsupported tests 4 /media/data[...]/hurd.build/ld/ld-new 2.20.51.20101024 -Test Run By tschwinge on Sun Oct 24 20:02:04 2010 +Test Run By tschwinge on Tue Oct 26 12:34:01 2010 Native configuration is i686-unknown-gnu0.3 === gas tests === @@ -358,6 +940,15 @@ Running [...]/hurd/gas/testsuite/gas/arm/arm.exp ... Running [...]/hurd/gas/testsuite/gas/bfin/bfin.exp ... Running [...]/hurd/gas/testsuite/gas/bfin/error.exp ... Running [...]/hurd/gas/testsuite/gas/cfi/cfi.exp ... +PASS: CFI on i386 +PASS: cfi cfi-diag-1 +PASS: CFI common 1 +PASS: CFI common 2 +PASS: CFI common 3 +PASS: CFI common 4 +PASS: CFI common 5 +PASS: CFI common 7 +PASS: CFI common 6 Running [...]/hurd/gas/testsuite/gas/cr16/cr16.exp ... Running [...]/hurd/gas/testsuite/gas/cr16/pic.exp ... Running [...]/hurd/gas/testsuite/gas/cris/cris.exp ... @@ -366,6 +957,36 @@ Running [...]/hurd/gas/testsuite/gas/d10v/d10v.exp ... Running [...]/hurd/gas/testsuite/gas/d30v/d30.exp ... Running [...]/hurd/gas/testsuite/gas/dlx/alltests.exp ... Running [...]/hurd/gas/testsuite/gas/elf/elf.exp ... +PASS: elf ehopt0 +PASS: .file file names +PASS: group section +PASS: group section +PASS: group section name +PASS: group section with multiple sections of same name +PASS: group section with multiple sections of same name +PASS: automatic section group +PASS: automatic section group +PASS: .equ redefinitions (ELF) +PASS: elf equate relocs +PASS: Ill-formed directives +PASS: elf section0 +PASS: elf section1 +PASS: elf section2 list +PASS: note section +PASS: label arithmetic with multiple same-name sections +PASS: elf section5 list +PASS: ELF struct +PASS: .set with expression +PASS: ELF symbol versioning +PASS: .set with IFUNC +PASS: elf type list +PASS: elf section6 +PASS: elf section7 +PASS: section flags +PASS: DWARF2 1 +PASS: DWARF2 2 +PASS: DWARF2 3 +PASS: Check bad section flag Running [...]/hurd/gas/testsuite/gas/fr30/allinsn.exp ... Running [...]/hurd/gas/testsuite/gas/fr30/fr30.exp ... Running [...]/hurd/gas/testsuite/gas/frv/allinsn.exp ... @@ -544,10 +1165,41 @@ PASS: i386 FSGSBase PASS: i386 FSGSBase (Intel disassembly) PASS: i386 RdRnd PASS: i386 RdRnd (Intel disassembly) +PASS: i386 reloc +PASS: i386 jump16 +PASS: i386 white +PASS: i386 pcrel reloc +PASS: i386 abs reloc +PASS: i386 intelpic +PASS: i386 relax +PASS: i386 relax 1 +PASS: i386 relax 3 +PASS: i386 gotpc +PASS: i386 dynamic tls +PASS: i386 pic tls +PASS: i386 non-pic tls +PASS: i386 .bss +PASS: i386 relocs +PASS: i386 reloc32 +PASS: x86 mixed mode relocs (32-bit object) +PASS: i386 AT&T register names +PASS: i386 intel-got +PASS: i386 Intel register names +PASS: i386 inval-equ-1 +PASS: i386 inval-equ-2 +PASS: i386 ifunc +PASS: i386 l1om-inval +PASS: i386 local PIC +PASS: DWARF2 debugging information 1 +XFAIL: DWARF2 debugging information 2 PASS: x86 Intel expressions PASS: string insn operands PASS: i386 string-bad PASS: i386 space1 +PASS: i386 list-1 +PASS: i386 list-2 +PASS: i386 list-3 +PASS: DWARF2 debugging information 1 Running [...]/hurd/gas/testsuite/gas/i860/i860.exp ... Running [...]/hurd/gas/testsuite/gas/ia64/ia64.exp ... Running [...]/hurd/gas/testsuite/gas/ieee-fp/x930509a.exp ... @@ -558,6 +1210,9 @@ Running [...]/hurd/gas/testsuite/gas/iq2000/odd-sdw.exp ... Running [...]/hurd/gas/testsuite/gas/iq2000/yield.exp ... Running [...]/hurd/gas/testsuite/gas/lm32/all.exp ... Running [...]/hurd/gas/testsuite/gas/lns/lns.exp ... +PASS: lns lns-diag-1 +PASS: lns-duplicate +PASS: lns-common-1 Running [...]/hurd/gas/testsuite/gas/m32r/allinsn.exp ... Running [...]/hurd/gas/testsuite/gas/m32r/error.exp ... Running [...]/hurd/gas/testsuite/gas/m32r/m32r.exp ... @@ -626,6 +1281,11 @@ Running [...]/hurd/gas/testsuite/gas/sparc/mismatch.exp ... Running [...]/hurd/gas/testsuite/gas/sparc/sparc.exp ... Running [...]/hurd/gas/testsuite/gas/sun4/addend.exp ... Running [...]/hurd/gas/testsuite/gas/symver/symver.exp ... +PASS: symver symver0 +PASS: symver symver1 +PASS: symver symver2 +PASS: symver symver3 +PASS: symver symver6 Running [...]/hurd/gas/testsuite/gas/tic4x/tic4x.exp ... Running [...]/hurd/gas/testsuite/gas/tic54x/tic54x.exp ... Running [...]/hurd/gas/testsuite/gas/tic6x/tic6x.exp ... @@ -640,6 +1300,7 @@ Running [...]/hurd/gas/testsuite/gas/z8k/z8k.exp ... === gas Summary === -# of expected passes 238 +# of expected passes 315 +# of expected failures 1 ../as-new 2.20.51.20101024 diff --git a/open_issues/binutils_testsuite/sum_linux b/open_issues/binutils_testsuite/sum_linux index 380fb096..d3cdede8 100644 --- a/open_issues/binutils_testsuite/sum_linux +++ b/open_issues/binutils_testsuite/sum_linux @@ -1,4 +1,4 @@ -Test Run By thomas on Sun Oct 24 20:00:29 2010 +Test Run By thomas on Tue Oct 26 09:50:30 2010 Native configuration is i686-pc-linux-gnu === binutils tests === @@ -109,7 +109,7 @@ Running [...]/hurd/binutils/testsuite/binutils-all/x86-64/x86-64.exp ... # of expected passes 79 # of unsupported tests 2 -Test Run By thomas on Sun Oct 24 20:00:50 2010 +Test Run By thomas on Tue Oct 26 09:50:51 2010 Native configuration is i686-pc-linux-gnu === ld tests === @@ -280,10 +280,10 @@ PASS: Weak symbols in dynamic objects 1 (support) PASS: Weak symbols in dynamic objects 1 (main test) PASS: --gc-sections on tls variable PASS: preinit array -PASS: static preinit array PASS: init array -PASS: static init array PASS: fini array +PASS: static preinit array +PASS: static init array PASS: static fini array Running [...]/hurd/ld/testsuite/ld-elf/exclude.exp ... PASS: ld link shared library @@ -865,7 +865,7 @@ Running [...]/hurd/ld/testsuite/ld-xtensa/xtensa.exp ... # of untested testcases 6 /media/data[...]/hurd.build/ld/ld-new 2.20.51.20101024 -Test Run By thomas on Sun Oct 24 20:00:34 2010 +Test Run By thomas on Tue Oct 26 09:50:33 2010 Native configuration is i686-pc-linux-gnu === gas tests === diff --git a/open_issues/io_system_binutils_ld_64ksec.mdwn b/open_issues/io_system_binutils_ld_64ksec.mdwn index 16c2ae50..0484137a 100644 --- a/open_issues/io_system_binutils_ld_64ksec.mdwn +++ b/open_issues/io_system_binutils_ld_64ksec.mdwn @@ -13,8 +13,8 @@ License|/fdl]]."]]"""]] This one may be considered as a testcase for I/O system optimization. It is taken from the [[binutils_testsuite]], `ld/ld-elf/sec64k.exp`, where this -test may occasionally trigger a timeout. It is extracted from -cdf7c161ebd4a934c9e705d33f5247fd52975612 sources, 2010-10-24. +test may occasionally [[trigger a timeout|binutils_testsuite#64ksec]]. It is +extracted from cdf7c161ebd4a934c9e705d33f5247fd52975612 sources, 2010-10-24. $ wget -O - http://www.gnu.org/software/hurd/open_issues/io_system_binutils_ld_64ksec/test.tar.xz | xz -d | tar -x $ cd test/ diff --git a/source_repositories.mdwn b/source_repositories.mdwn index da65ba49..3df44e74 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -227,7 +227,7 @@ like this: $ git clone git://flubber.bddebian.com/~hurd-web/hurd-web Another example, [[Thomas Schwinge|tschwinge]] has a checkout of -[[hurd/libpthread]] in `~tschwinge/tmp/hurd/libpthread/`, the +[[libpthread]] in `~tschwinge/tmp/hurd/libpthread/`, the `~tschwinge/tmp/hurd/libpthread/.git/git-daemon-export-ok` file exists. If you really need to, you can clone it like this: @@ -238,6 +238,13 @@ really need to, you can clone it like this: * web pages: git://flubber.bddebian.com/~hurd-web/hurd-web +# Git repositories on grubber + +## List of Interesting Repositories + + * [[binutils maintenance|binutils]] + + # Debian Git repositories IRC, #hurd, 2010-07-31 diff --git a/source_repositories/binutils.mdwn b/source_repositories/binutils.mdwn new file mode 100644 index 00000000..bef7336f --- /dev/null +++ b/source_repositories/binutils.mdwn @@ -0,0 +1,14 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +There is a repository for maintenance of [[/binutils]] for the Hurd's needs: +`grubber:~tschwinge/tmp/binutils/git` + +This repository uses [[TopGit]]. diff --git a/topgit.mdwn b/topgit.mdwn index 55ff5f54..df2b7266 100644 --- a/topgit.mdwn +++ b/topgit.mdwn @@ -21,3 +21,7 @@ License|/fdl]]."]]"""]] Reviews*](http://blog.grogmaster.com/2008/12/topgit-means-never-having-to-wait-for.html) * Christoph Egger: [*Git repository's and topgit*](http://lists.debian.org/debian-devel-games/2008/11/msg00109.html) + +We're using this for some packages, where we're maintaining long-lived +development branches, for example [[source_repositories/binutils]] or +[[source_repositories/glibc]]. The latter one has usage examples, too. -- cgit v1.2.3 From fcf0789a3dacb56ffa959ece42d31ef627049002 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 17 Nov 2010 21:29:41 +0100 Subject: boehm_gc. --- boehm_gc.mdwn | 17 +++ open_issues/boehm-gc.mdwn | 259 ----------------------------------- open_issues/boehm_gc.mdwn | 276 ++++++++++++++++++++++++++++++++++++++ open_issues/gcc.mdwn | 4 +- source_repositories.mdwn | 3 +- source_repositories/boehm_gc.mdwn | 22 +++ 6 files changed, 319 insertions(+), 262 deletions(-) create mode 100644 boehm_gc.mdwn delete mode 100644 open_issues/boehm-gc.mdwn create mode 100644 open_issues/boehm_gc.mdwn create mode 100644 source_repositories/boehm_gc.mdwn (limited to 'source_repositories.mdwn') diff --git a/boehm_gc.mdwn b/boehm_gc.mdwn new file mode 100644 index 00000000..5745aaaf --- /dev/null +++ b/boehm_gc.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="Boehm GC"]] + + +# + + +# [[Maintenance|open_issues/boehm_gc]] diff --git a/open_issues/boehm-gc.mdwn b/open_issues/boehm-gc.mdwn deleted file mode 100644 index f6896740..00000000 --- a/open_issues/boehm-gc.mdwn +++ /dev/null @@ -1,259 +0,0 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -. - -`grubber:~tschwinge/tmp/boehm-gc/git/`. - -It is used by [[GCC]], for example. - - -# Configuration - -[[tschwinge]] reviewed its GNU/Hurd port's configuration on 2010-11-10, based -on CVS HEAD sources from 2010-11-16, converted to Git: -9abb37b2e581b415bb1f482085891a289c2c0be1. - - * `configure.ac` - - * `PARALLEL_MARK` is not enabled; doesn't make sense so far. - - * `*-*-kfreebsd*-gnu` defines `USE_COMPILER_TLS`. What's this, and - why does not other config? - - * TODO - - [ if test "$enable_gc_debug" = "yes"; then - AC_MSG_WARN("Should define GC_DEBUG and use debug alloc. in clients.") - AC_DEFINE([KEEP_BACK_PTRS], 1, - [Define to save back-pointers in debugging headers.]) - keep_back_ptrs=true - AC_DEFINE([DBG_HDRS_ALL], 1, - [Define to force debug headers on all objects.]) - case $host in - x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* ) - AC_DEFINE(MAKE_BACK_GRAPH) - AC_MSG_WARN("Client must not use -fomit-frame-pointer.") - AC_DEFINE(SAVE_CALL_COUNT, 8) - ;; - AM_CONDITIONAL([KEEP_BACK_PTRS], [test x"$keep_back_ptrs" = xtrue]) - - * `configure.host` - - Nothing. - - * `Makefile.am`, `include/include.am`, `cord/cord.am`, `doc/doc.am`, - `tests/tests.am` - - Nothing. - - * `include/gc_config_macros.h` - - Should be OK. - - * `include/private/gcconfig.h` - - Hairy. But should be OK. Search for *HURD*, compare to *LINUX*, - *I386* case. - - See `doc/porting.html` and `doc/README.macros` (and others) for - documentation. - - *LINUX* has: - - * `#define LINUX_STACKBOTTOM` - - Defined instead of `STACKBOTTOM` to have the value read from `/proc/`. - - * `#define HEAP_START (ptr_t)0x1000` - - May want to define it for us, too? - - * `#ifdef USE_I686_PREFETCH`, `USE_3DNOW_PREFETCH` --- [...] - - Apparently these are optimization that we also could use. Have a - look at *LINUX* for *X86_64*, which uses `__builtin_prefetch` - (which Linux x86 could use, too?). - - * TODO - - #if defined(LINUX) && defined(USE_MMAP) - /* The kernel may do a somewhat better job merging mappings etc. */ - /* with anonymous mappings. */ - # define USE_MMAP_ANON - #endif - - * TODO - - #if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC) - /* Nptl allocates thread stacks with mmap, which is fine. But it */ - /* keeps a cache of thread stacks. Thread stacks contain the */ - /* thread control blocks. These in turn contain a pointer to */ - /* (sizeof (void *) from the beginning of) the dtv for thread-local */ - /* storage, which is calloc allocated. If we don't scan the cached */ - /* thread stacks, we appear to lose the dtv. This tends to */ - /* result in something that looks like a bogus dtv count, which */ - /* tends to result in a memset call on a block that is way too */ - /* large. Sometimes we're lucky and the process just dies ... */ - /* There seems to be a similar issue with some other memory */ - /* allocated by the dynamic loader. */ - /* This should be avoidable by either: */ - /* - Defining USE_PROC_FOR_LIBRARIES here. */ - /* That performs very poorly, precisely because we end up */ - /* scanning cached stacks. */ - /* - Have calloc look at its callers. */ - /* In spite of the fact that it is gross and disgusting. */ - /* In fact neither seems to suffice, probably in part because */ - /* even with USE_PROC_FOR_LIBRARIES, we don't scan parts of stack */ - /* segments that appear to be out of bounds. Thus we actually */ - /* do both, which seems to yield the best results. */ - - # define USE_PROC_FOR_LIBRARIES - #endif - - * TODO - - # if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC) \ - && !defined(INCLUDE_LINUX_THREAD_DESCR) - /* Will not work, since libc and the dynamic loader use thread */ - /* locals, sometimes as the only reference. */ - # define INCLUDE_LINUX_THREAD_DESCR - # endif - - * TODO - - # if defined(UNIX_LIKE) && defined(THREADS) && !defined(NO_CANCEL_SAFE) \ - && !defined(PLATFORM_ANDROID) - /* Make the code cancellation-safe. This basically means that we */ - /* ensure that cancellation requests are ignored while we are in */ - /* the collector. This applies only to Posix deferred cancellation;*/ - /* we don't handle Posix asynchronous cancellation. */ - /* Note that this only works if pthread_setcancelstate is */ - /* async-signal-safe, at least in the absence of asynchronous */ - /* cancellation. This appears to be true for the glibc version, */ - /* though it is not documented. Without that assumption, there */ - /* seems to be no way to safely wait in a signal handler, which */ - /* we need to do for thread suspension. */ - /* Also note that little other code appears to be cancellation-safe.*/ - /* Hence it may make sense to turn this off for performance. */ - # define CANCEL_SAFE - # endif - - * `CAN_SAVE_CALL_ARGS` vs. -fomit-frame-pointer now being on by - default for Linux x86 IIRC? (Which is an [[!taglink - open_issue_gcc]] for not including us.) - - * TODO - - # if defined(REDIRECT_MALLOC) && defined(THREADS) && !defined(LINUX) - # error "REDIRECT_MALLOC with THREADS works at most on Linux." - # endif - - - *HURD* has: - - * `#define STACK_GROWS_DOWN` - - * `#define HEURISTIC2` - - Defined instead of `STACKBOTTOM` to have the value probed. - - Linux also has this: - - #if defined(LINUX_STACKBOTTOM) && defined(NO_PROC_STAT) \ - && !defined(USE_LIBC_PRIVATES) - /* This combination will fail, since we have no way to get */ - /* the stack base. Use HEURISTIC2 instead. */ - # undef LINUX_STACKBOTTOM - # define HEURISTIC2 - /* This may still fail on some architectures like IA64. */ - /* We tried ... */ - #endif - - Being on [[glibc]], we could perhaps do similar as `USE_LIBC_PRIVATES` - instead of `HEURISTIC2`. Pro: avoid `SIGSEGV` (and general fragility) - during probing at startup (if I'm understanding this correctly). Con: - rely on glibc internals. Or we instead add support to parse - [[`/proc/`|hurd/translator/procfs]] (can even use the same as Linux?), - or use some other interface. [[!tag open_issue_glibc]] - - * `#define SIG_SUSPEND SIGUSR1`, `#define SIG_THR_RESTART SIGUSR2` - - * We don't `#define MPROTECT_VDB` (WIP comment); but Linux neither. - - * Where does our `GETPAGESIZE` come from? Should we `#include - ` like it is done for *LINUX*? - - * `mach_dep.c` - - * `#define NO_GETCONTEXT` - - [[!taglink open_issue_glibc]], but this is not a real problem here, - because we can use the following GCC internal function without much - overhead: - - * `GC_with_callee_saves_pushed` - - The `HAVE_BUILTIN_UNWIND_INIT` case is ours. - - * `os_dep.c` - - * `read` - - Sure that it doesn't internally (in [[glibc]]) use `malloc`. Probably - only / mostly (?) a problem for `--enable-redirect-malloc` - configurations? Linux with threads uses `readv`. - - * TODO. - - * `dyn_load.c` - - For `DYNAMIC_LOADING`. TODO. - - * `pthread_support.c`, `pthread_stop_world.c` - - TODO. - - * `libatomic_ops/` - - * `configure.ac` - - Nothing. - - * `Makefile`, `src/Makefile`, `src/atomic_ops/Makefile`, - `src/atomic_ops/sysdeps/Makefile`, `doc/Makefile`, `tests/Makefile` - - Nothing. - - * `src/atomic_ops/sysdeps/gcc/x86.h` - - Nothing. - - -# Testsuite - -There are different configurations possible, but in general, the testsuite -restults of GNU/Linux and GNU/Hurd look very similar. - -## `--enable-cplusplus --enable-gc-debug` - - * GNU/Hurd is missing *Call chain at allocation: [...] output*. - - `os_dep.c`:`GC_print_callers` - - -# TODO - - * [[gcc/boehm_gc]] - - * Port stuff to GCC / test it there. - - * What are other applications to test boehm-gc? Also in combination - with [[libpthread]]? diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn new file mode 100644 index 00000000..540eed3b --- /dev/null +++ b/open_issues/boehm_gc.mdwn @@ -0,0 +1,276 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +Here's what's to be done for maintaining Boehm GC. + +This one does need Hurd-specific configuration. + +It is, for example, used by [[/GCC]] (which has its own fork), so any changes +committed upstream should very like also be made there. + + +# [[General information|/boehm_gc]] + + +# [[Sources|source_repositories/boehm_gc]] + + +# Configuration + +[[tschwinge]] reviewed its GNU/Hurd port's configuration on 2010-11-10, based +on CVS HEAD sources from 2010-11-16, converted to Git: +9abb37b2e581b415bb1f482085891a289c2c0be1. + + * `configure.ac` + + * `PARALLEL_MARK` is not enabled; doesn't make sense so far. + + * `*-*-kfreebsd*-gnu` defines `USE_COMPILER_TLS`. What's this, and + why does not other config? + + * TODO + + [ if test "$enable_gc_debug" = "yes"; then + AC_MSG_WARN("Should define GC_DEBUG and use debug alloc. in clients.") + AC_DEFINE([KEEP_BACK_PTRS], 1, + [Define to save back-pointers in debugging headers.]) + keep_back_ptrs=true + AC_DEFINE([DBG_HDRS_ALL], 1, + [Define to force debug headers on all objects.]) + case $host in + x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* ) + AC_DEFINE(MAKE_BACK_GRAPH) + AC_MSG_WARN("Client must not use -fomit-frame-pointer.") + AC_DEFINE(SAVE_CALL_COUNT, 8) + ;; + AM_CONDITIONAL([KEEP_BACK_PTRS], [test x"$keep_back_ptrs" = xtrue]) + + * `configure.host` + + Nothing. + + * `Makefile.am`, `include/include.am`, `cord/cord.am`, `doc/doc.am`, + `tests/tests.am` + + Nothing. + + * `include/gc_config_macros.h` + + Should be OK. + + * `include/private/gcconfig.h` + + Hairy. But should be OK. Search for *HURD*, compare to *LINUX*, + *I386* case. + + See `doc/porting.html` and `doc/README.macros` (and others) for + documentation. + + *LINUX* has: + + * `#define LINUX_STACKBOTTOM` + + Defined instead of `STACKBOTTOM` to have the value read from `/proc/`. + + * `#define HEAP_START (ptr_t)0x1000` + + May want to define it for us, too? + + * `#ifdef USE_I686_PREFETCH`, `USE_3DNOW_PREFETCH` --- [...] + + Apparently these are optimization that we also could use. Have a + look at *LINUX* for *X86_64*, which uses `__builtin_prefetch` + (which Linux x86 could use, too?). + + * TODO + + #if defined(LINUX) && defined(USE_MMAP) + /* The kernel may do a somewhat better job merging mappings etc. */ + /* with anonymous mappings. */ + # define USE_MMAP_ANON + #endif + + * TODO + + #if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC) + /* Nptl allocates thread stacks with mmap, which is fine. But it */ + /* keeps a cache of thread stacks. Thread stacks contain the */ + /* thread control blocks. These in turn contain a pointer to */ + /* (sizeof (void *) from the beginning of) the dtv for thread-local */ + /* storage, which is calloc allocated. If we don't scan the cached */ + /* thread stacks, we appear to lose the dtv. This tends to */ + /* result in something that looks like a bogus dtv count, which */ + /* tends to result in a memset call on a block that is way too */ + /* large. Sometimes we're lucky and the process just dies ... */ + /* There seems to be a similar issue with some other memory */ + /* allocated by the dynamic loader. */ + /* This should be avoidable by either: */ + /* - Defining USE_PROC_FOR_LIBRARIES here. */ + /* That performs very poorly, precisely because we end up */ + /* scanning cached stacks. */ + /* - Have calloc look at its callers. */ + /* In spite of the fact that it is gross and disgusting. */ + /* In fact neither seems to suffice, probably in part because */ + /* even with USE_PROC_FOR_LIBRARIES, we don't scan parts of stack */ + /* segments that appear to be out of bounds. Thus we actually */ + /* do both, which seems to yield the best results. */ + + # define USE_PROC_FOR_LIBRARIES + #endif + + * TODO + + # if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC) \ + && !defined(INCLUDE_LINUX_THREAD_DESCR) + /* Will not work, since libc and the dynamic loader use thread */ + /* locals, sometimes as the only reference. */ + # define INCLUDE_LINUX_THREAD_DESCR + # endif + + * TODO + + # if defined(UNIX_LIKE) && defined(THREADS) && !defined(NO_CANCEL_SAFE) \ + && !defined(PLATFORM_ANDROID) + /* Make the code cancellation-safe. This basically means that we */ + /* ensure that cancellation requests are ignored while we are in */ + /* the collector. This applies only to Posix deferred cancellation;*/ + /* we don't handle Posix asynchronous cancellation. */ + /* Note that this only works if pthread_setcancelstate is */ + /* async-signal-safe, at least in the absence of asynchronous */ + /* cancellation. This appears to be true for the glibc version, */ + /* though it is not documented. Without that assumption, there */ + /* seems to be no way to safely wait in a signal handler, which */ + /* we need to do for thread suspension. */ + /* Also note that little other code appears to be cancellation-safe.*/ + /* Hence it may make sense to turn this off for performance. */ + # define CANCEL_SAFE + # endif + + * `CAN_SAVE_CALL_ARGS` vs. -fomit-frame-pointer now being on by + default for Linux x86 IIRC? (Which is an [[!taglink + open_issue_gcc]] for not including us.) + + * TODO + + # if defined(REDIRECT_MALLOC) && defined(THREADS) && !defined(LINUX) + # error "REDIRECT_MALLOC with THREADS works at most on Linux." + # endif + + + *HURD* has: + + * `#define STACK_GROWS_DOWN` + + * `#define HEURISTIC2` + + Defined instead of `STACKBOTTOM` to have the value probed. + + Linux also has this: + + #if defined(LINUX_STACKBOTTOM) && defined(NO_PROC_STAT) \ + && !defined(USE_LIBC_PRIVATES) + /* This combination will fail, since we have no way to get */ + /* the stack base. Use HEURISTIC2 instead. */ + # undef LINUX_STACKBOTTOM + # define HEURISTIC2 + /* This may still fail on some architectures like IA64. */ + /* We tried ... */ + #endif + + Being on [[glibc]], we could perhaps do similar as `USE_LIBC_PRIVATES` + instead of `HEURISTIC2`. Pro: avoid `SIGSEGV` (and general fragility) + during probing at startup (if I'm understanding this correctly). Con: + rely on glibc internals. Or we instead add support to parse + [[`/proc/`|hurd/translator/procfs]] (can even use the same as Linux?), + or use some other interface. [[!tag open_issue_glibc]] + + * `#define SIG_SUSPEND SIGUSR1`, `#define SIG_THR_RESTART SIGUSR2` + + * We don't `#define MPROTECT_VDB` (WIP comment); but Linux neither. + + * Where does our `GETPAGESIZE` come from? Should we `#include + ` like it is done for *LINUX*? + + * `include/gc_pthread_redirects.h` + + * TODO + + Cancellation stuff is Linux-only. In other places, too. + + * `mach_dep.c` + + * `#define NO_GETCONTEXT` + + [[!taglink open_issue_glibc]], but this is not a real problem here, + because we can use the following GCC internal function without much + overhead: + + * `GC_with_callee_saves_pushed` + + The `HAVE_BUILTIN_UNWIND_INIT` case is ours. + + * `os_dep.c` + + * `read` + + Sure that it doesn't internally (in [[glibc]]) use `malloc`. Probably + only / mostly (?) a problem for `--enable-redirect-malloc` + configurations? Linux with threads uses `readv`. + + * TODO. + + * `dyn_load.c` + + For `DYNAMIC_LOADING`. TODO. + + * `pthread_support.c`, `pthread_stop_world.c` + + TODO. + + * TODO. + + Other files also contain *LINUX* and other conditionals. + + * `libatomic_ops/` + + * `configure.ac` + + Nothing. + + * `Makefile`, `src/Makefile`, `src/atomic_ops/Makefile`, + `src/atomic_ops/sysdeps/Makefile`, `doc/Makefile`, `tests/Makefile` + + Nothing. + + * `src/atomic_ops/sysdeps/gcc/x86.h` + + Nothing. + + +# Testsuite + +There are different configurations possible, but in general, the testsuite +restults of GNU/Linux and GNU/Hurd look very similar. + +## `--enable-cplusplus --enable-gc-debug` + + * GNU/Hurd is missing *Call chain at allocation: [...] output*. + + `os_dep.c`:`GC_print_callers` + + +# TODO + + * Port stuff to [[/GCC]] / [[test it there|gcc/testsuite]]. + + * What are other applications to test Boehm GC? Also especially in + combination with [[/libpthread]] and dynamic loading of shared libraries? + + * diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 6f5d1eac..8d2fb1cf 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -11,7 +11,7 @@ is included in the section entitled [[!tag open_issue_gcc]] -Includes an older variant of [[boehm-gc]] with own patches, etc. +Includes an older variant of [[/Boehm_GC]] with own patches, etc. For GCC trunk: @@ -113,6 +113,6 @@ On grubber, this takes roughly TODO minutes. [[log_build-diff]]. -Build failure in boehm-gc. [[Working on this|boehm-gc]]; will need to backport +Build failure in Boehm GC. Working on this; will need to backport upstream patches / also have a look at Debian patches, and [[boehm_gc]]. Then resume here. diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 3df44e74..214dc0b4 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -242,7 +242,8 @@ really need to, you can clone it like this: ## List of Interesting Repositories - * [[binutils maintenance|binutils]] + * [[binutils]] + * [[Boehm_GC]] # Debian Git repositories diff --git a/source_repositories/boehm_gc.mdwn b/source_repositories/boehm_gc.mdwn new file mode 100644 index 00000000..5fba0709 --- /dev/null +++ b/source_repositories/boehm_gc.mdwn @@ -0,0 +1,22 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +There is a repository for maintenance of [[/boehm_gc]] for the Hurd's needs: +`grubber:~tschwinge/tmp/boehm-gc/git`. + +This repository uses [[TopGit]] and is a `git cvsimport` of the SourceForge CVS +repository. + + git \ + cvsimport \ + -d :pserver:anonymous@bdwgc.cvs.sourceforge.net:/cvsroot/bdwgc \ + -r upstream \ + -k \ + bdwgc -- cgit v1.2.3 From d843d207052599f6f8aa5c92abab3ac7ea39dbfc Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 17 Nov 2010 21:50:36 +0100 Subject: gcc. --- gcc.mdwn | 11 +-- open_issues/gcc.mdwn | 88 +++++++++-------- open_issues/gcc/boehm_gc.mdwn | 29 ------ open_issues/gcc/testsuite.mdwn | 34 +++++++ open_issues/gcc_testsuite.mdwn | 211 ----------------------------------------- open_issues/unit_testing.mdwn | 2 +- source_repositories.mdwn | 1 + source_repositories/gcc.mdwn | 15 +++ 8 files changed, 101 insertions(+), 290 deletions(-) delete mode 100644 open_issues/gcc/boehm_gc.mdwn create mode 100644 open_issues/gcc/testsuite.mdwn delete mode 100644 open_issues/gcc_testsuite.mdwn create mode 100644 source_repositories/gcc.mdwn (limited to 'source_repositories.mdwn') diff --git a/gcc.mdwn b/gcc.mdwn index 2192ab54..8f311b12 100644 --- a/gcc.mdwn +++ b/gcc.mdwn @@ -12,17 +12,10 @@ is included in the section entitled [[!meta title="GNU Compiler Collection"]] -# http://gcc.gnu.org/ +# - * [[Open Issues|tag/open_issue_gcc]] - -# Specifics - -Actually mostly *non-*specifics: apart from the target-specific configuration -machinery, there shouldn't be any major differences within GCC between the -GNU/Hurd and GNU/Linux ports, for example. Especially all the compiler magic -is all the same. +# [[Maintenance|open_issues/gcc]] # Open Issues diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 8d2fb1cf..961b3ae6 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2009, 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -11,29 +11,46 @@ is included in the section entitled [[!tag open_issue_gcc]] -Includes an older variant of [[/Boehm_GC]] with own patches, etc. +Here's what's to be done for maintaining GCC. -For GCC trunk: +Apart from the target-specific configuration machinery, there shouldn't be any +major differences within GCC between the GNU/Hurd and GNU/Linux ports, for +example. Especially all the compiler magic is all the same. -Debian package has patches (for 4.3). Some have been forwarded upstream. (And -have been ignored.) [[Thomas_Schwinge|tschwinge]] is working on getting them -integrated. - * [\[meta-bug\] bootstrap bugs for - \*-gnu\*](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21824) +# [[General information|/gcc]] - * [build system: gcc\_cv\_libc\_provides\_ssp and - NATIVE\_SYSTEM\_HEADER\_DIR](http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html) - * [-fstack-protector shouldn't use TLS in freestanding - mode](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29838) +# [[Sources|source_repositories/gcc]] + + +## Boehm GC + +GCC includes an own variant of [[/Boehm_GC]] that is based on an upstream +version, but with own patches, etc. This is used for Java. (There are patches +(apparently not committed) that GCC itself can use it, too: +.) + +Patches to GCC's fork should be contributed back to upstream [[/Boehm_GC]]. + +[[tschwinge]] reviewed (but only briefly for large parts) the differences on +2010-11-17, based on 5be7963446247204245c954641290f0e5ce238c6 (2010-10-28) of +[[source_repositories/GCC]] and for [[source_repositories/Boehm_GC]] CVS HEAD +sources from 2010-11-16, converted to Git: +9abb37b2e581b415bb1f482085891a289c2c0be1. + +[[tschwinge]] reviewed the Debian GCC Boehm GC changes, compared them to the +upstream code, and put it into the local *hurd/boehm-gc/config_backport* +branch, planning to submit it to gcc-patches after testing with the GCC +[[testsuite]]. - * [Tool chain configuration: GNU/\* sharing stuff with - GNU/Linux](http://gcc.gnu.org/ml/gcc/2007-11/msg00289.html) +# Configuration +Last checked against b8ba44e77a9fdde48ce0b7c6792736996704501e (2010-11-17). -Additionally: + has documentation for the +`configure` switches. * Configure fragments that have `*linux*` cases might/should often contain those for us (and GNU/k*BSD) as well. @@ -50,16 +67,9 @@ Additionally: * [[`libmudflap`|libmudflap]]. - * [[Boehm_GC]]. - * Might [`-fsplit-stack`](http://nickclifton.livejournal.com/6889.html) be worthwhile w.r.t. our multithreaded libraries? - ---- - - - * `--enable-languages=[...]` GNAT is not yet ported / bootstrapped? @@ -78,7 +88,8 @@ Additionally: * `--enable-decimal-float`, `--enable-fixed-point`, `--with-long-double-128` - `configure: WARNING: decimal float is not supported for this target, ignored` + `configure: WARNING: decimal float is not supported for this target, + ignored` * `--enable-linker-build-id` @@ -92,27 +103,24 @@ Additionally: [[IFUNC]] ---- -Here's a log of a GCC build run; this is from -f07666e1203a50ae445025050b7e12311db6bbd0 (2010-11-04) -[[sources|source_repositories/gcc]], run on kepler.SCHWINGE and grubber. +# [[Testsuite]] - $ export LC_ALL=C - $ ../hurd/configure --prefix="$PWD".install 2>&1 | tee log_build - [...] - $ make SHELL=/bin/bash 2>&1 | tee log_build_ - [...] -(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus -harmonized.) +# TODO -On grubber, this takes roughly TODO minutes. +Debian's GCC package has Hurd-specific patches. Some have been forwarded +upstream (and have been ignored). [[Thomas_Schwinge|tschwinge]] is working on +getting them integrated. - $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/hurd.build/ && cat log_build* | sed -e "s%${PWD}%[...]%g"') <(ssh grubber 'cd tmp/gcc/hurd.build/ && cat log_build* | sed "s%${PWD}%[...]%g"') > open_issues/gcc/log_build-diff + * [\[meta-bug\] bootstrap bugs for + \*-gnu\*](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21824) -[[log_build-diff]]. + * [build system: gcc\_cv\_libc\_provides\_ssp and + NATIVE\_SYSTEM\_HEADER\_DIR](http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html) + + * [-fstack-protector shouldn't use TLS in freestanding + mode](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29838) -Build failure in Boehm GC. Working on this; will need to backport -upstream patches / also have a look at Debian patches, and [[boehm_gc]]. Then -resume here. + * [Tool chain configuration: GNU/\* sharing stuff with + GNU/Linux](http://gcc.gnu.org/ml/gcc/2007-11/msg00289.html) diff --git a/open_issues/gcc/boehm_gc.mdwn b/open_issues/gcc/boehm_gc.mdwn deleted file mode 100644 index 2ee88a2b..00000000 --- a/open_issues/gcc/boehm_gc.mdwn +++ /dev/null @@ -1,29 +0,0 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_gcc]] - -IRC, unknown channel, unknown date. - - youpi: The Debian GCC 4.3 package also has this change: - --- boehm-gc/dyn_load.c.orig 2007-08-13 09:10:48.215678000 +0200 - +++ boehm-gc/dyn_load.c 2007-08-13 09:11:09.743969000 +0200 - @@ -26,7 +26,7 @@ - * None of this is safe with dlclose and incremental collection. - * But then not much of anything is safe in the presence of dlclose. - */ - -#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE) - +#if (defined(__linux__) || defined(__GLIBC__) || defined(__GNU__)) && !defined(_GNU_SOURCE) - yes, these are needed - and that's the kind of fix needed for java - ---- - - diff --git a/open_issues/gcc/testsuite.mdwn b/open_issues/gcc/testsuite.mdwn new file mode 100644 index 00000000..a88b7d61 --- /dev/null +++ b/open_issues/gcc/testsuite.mdwn @@ -0,0 +1,34 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_gcc]] + +Here's a log of a GCC build run; this is from +fe3e43c5e4ac1225921be12c32dbb48151af1f66 (2010-11-17) +[[sources|source_repositories/gcc]], run on kepler.SCHWINGE and grubber. + + $ export LC_ALL=C + $ ../hurd/configure --prefix="$PWD".install 2>&1 | tee log_build + [...] + $ make SHELL=/bin/bash 2>&1 | tee log_build_ + [...] + +(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus +harmonized.) + +On grubber, this takes roughly TODO minutes, and takes up 2.5 GiB. + + $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/hurd.build/ && cat log_build* | sed -e "s%${PWD}%[...]%g"') <(ssh grubber 'cd tmp/gcc/hurd.build/ && cat log_build* | sed "s%${PWD}%[...]%g"') > open_issues/gcc/log_build-diff + +[[log_build-diff]]. + +TODO. + + diff --git a/open_issues/gcc_testsuite.mdwn b/open_issues/gcc_testsuite.mdwn deleted file mode 100644 index b4bbc7c8..00000000 --- a/open_issues/gcc_testsuite.mdwn +++ /dev/null @@ -1,211 +0,0 @@ -[[!meta copyright="Copyright © 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]]."]]"""]] - -[[!meta title="GCC testsuite"]] - -[[!tag open_issue_gcc]] - -Here's some log of a GCC testsuite run; this is from trunk sources, about -2008-10-19. - - make -k check - make[1]: Entering directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build' - make[2]: Entering directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build/fixincludes' - autogen -T ../../trunk.work/fixincludes/check.tpl ../../trunk.work/fixincludes/inclhack.def - /bin/sh ./check.sh ../../trunk.work/fixincludes/tests/base - Fixed: testing.h - Fixed: testing.h - Fixed: AvailabilityMacros.h - Fixed: X11/ShellP.h - Fixed: X11/Xmu.h - Fixed: Xm/BaseClassI.h - Fixed: Xm/Traversal.h - Fixed: ansi/math.h - Fixed: ansi/stdlib.h - Fixed: arch/i960/archI960.h - Fixed: architecture/ppc/math.h - Fixed: assert.h - Fixed: bits/huge_val.h - Fixed: bits/string2.h - Fixed: bsd/libc.h - Fixed: c_asm.h - Fixed: com_err.h - Fixed: ctrl-quotes-def-1.h - Fixed: ctype.h - Fixed: curses.h - Fixed: errno.h - Fixed: features.h - Fixed: fixinc-test-limits.h - Fixed: hsfs/hsfs_spec.h - Fixed: ia64/sys/getppdp.h - Fixed: internal/math_core.h - Fixed: internal/sgimacros.h - Fixed: internal/wchar_core.h - Fixed: inttypes.h - Fixed: io-quotes-def-1.h - Fixed: iso/math_c99.h - Fixed: mach-o/dyld.h - Fixed: mach-o/swap.h - Fixed: malloc.h - Fixed: math.h - Fixed: netdnet/dnetdb.h - Fixed: netinet/in.h - Fixed: netinet/ip.h - Fixed: obstack.h - Fixed: pixrect/memvar.h - Fixed: pthread.h - Fixed: reg_types.h - Fixed: regex.h - Fixed: regexp.h - Fixed: rpc/auth.h - Fixed: rpc/rpc.h - Fixed: rpc/xdr.h - Fixed: rpcsvc/rstat.h - Fixed: rpcsvc/rusers.h - Fixed: signal.h - Fixed: sparc/asm_linkage.h - Fixed: standards.h - Fixed: stdint.h - Fixed: stdio.h - Fixed: stdio_tag.h - Fixed: stdlib.h - Fixed: string.h - Fixed: strings.h - Fixed: sundev/vuid_event.h - Fixed: sunwindow/win_lock.h - Fixed: sym.h - Fixed: sys/asm.h - Fixed: sys/cdefs.h - Fixed: sys/file.h - Fixed: sys/limits.h - Fixed: sys/machine.h - Fixed: sys/mman.h - Fixed: sys/pthread.h - Fixed: sys/signal.h - Fixed: sys/socket.h - Fixed: sys/spinlock.h - Fixed: sys/stat.h - Fixed: sys/sysmacros.h - Fixed: sys/time.h - Fixed: sys/types.h - Fixed: sys/ucontext.h - Fixed: sys/wait.h - Fixed: testing.h - Fixed: time.h - Fixed: tinfo.h - Fixed: types/vxTypesBase.h - Fixed: unistd.h - Fixed: wchar.h - - All fixinclude tests pass - make[2]: Leaving directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build/fixincludes' - make[2]: Entering directory `/media/data/home/tschwinge/tmp/gcc/trunk.work.build/gcc' - test -d testsuite || mkdir testsuite - test -d testsuite/gcc || mkdir testsuite/gcc - (rootme=`${PWDCMD-pwd}`; export rootme; \ - srcdir=`cd ../../trunk.work/gcc; ${PWDCMD-pwd}` ; export srcdir ; \ - cd testsuite/gcc; \ - rm -f tmp-site.exp; \ - sed '/set tmpdir/ s|testsuite|testsuite/gcc|' \ - < ../../site.exp > tmp-site.exp; \ - /bin/sh ${srcdir}/../move-if-change tmp-site.exp site.exp; \ - EXPECT=expect ; export EXPECT ; \ - if [ -f ${rootme}/../expect/expect ] ; then \ - TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWDCMD-pwd}` ; \ - export TCL_LIBRARY ; fi ; \ - GCC_EXEC_PREFIX="/home/tschwinge/tmp/gcc/trunk.work.build.install/lib/gcc/" ; export GCC_EXEC_PREFIX ; \ - runtest --tool gcc ) - Test Run By tschwinge on Thu Oct 23 08:42:42 2008 - Native configuration is i386-unknown-gnu0.3 - - === gcc tests === - - Schedule of variations: - unix - - Running target unix - Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. - Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. - Using /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/compile/compile.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/execute/execute.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/autopar/autopar.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/charset/charset.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/compat/compat.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/cpp/cpp.exp ... - FAIL: gcc.dg/cpp/_Pragma3.c -fno-show-column (test for excess errors) - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/cpp/trad/trad.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/debug/debug.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp ... - FAIL: gcc.dg/debug/dwarf2/dwarf-die3.c scan-assembler-not DW_AT_inline - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/dfp/dfp.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/dg.exp ... - FAIL: gcc.dg/20021014-1.c (test for excess errors) - FAIL: gcc.dg/cleanup-12.c (test for excess errors) - FAIL: gcc.dg/cleanup-5.c (test for excess errors) - FAIL: gcc.dg/nest.c (test for excess errors) - FAIL: gcc.dg/nested-func-4.c (test for excess errors) - FAIL: gcc.dg/pr32450.c (test for excess errors) - FAIL: gcc.dg/pr33645-3.c scan-assembler-not var1_t - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/format/format.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/gomp/gomp.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/graphite/graphite.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/ipa/ipa.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/matrix/matrix.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/noncompile/noncompile.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/pch/pch.exp ... - FAIL: gcc.dg/pch/valid-1b.c -O0 -g -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -O0 -g assembly comparison - FAIL: gcc.dg/pch/valid-1b.c -O0 -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -O0 assembly comparison - FAIL: gcc.dg/pch/valid-1b.c -O1 -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -O1 assembly comparison - FAIL: gcc.dg/pch/valid-1b.c -O2 -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -O2 assembly comparison - FAIL: gcc.dg/pch/valid-1b.c -O3 -fomit-frame-pointer -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -O3 -fomit-frame-pointer assembly comparison - FAIL: gcc.dg/pch/valid-1b.c -O3 -g -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -O3 -g assembly comparison - FAIL: gcc.dg/pch/valid-1b.c -Os -I. (test for excess errors) - FAIL: gcc.dg/pch/valid-1b.c -Os assembly comparison - FAIL: largefile.c -O0 -g -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -O0 -g assembly comparison - FAIL: largefile.c -O0 -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -O0 assembly comparison - FAIL: largefile.c -O1 -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -O1 assembly comparison - FAIL: largefile.c -O2 -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -O2 assembly comparison - FAIL: largefile.c -O3 -fomit-frame-pointer -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -O3 -fomit-frame-pointer assembly comparison - FAIL: largefile.c -O3 -g -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -O3 -g assembly comparison - FAIL: largefile.c -Os -I. (test for excess errors) - FAIL: gcc.dg/pch/largefile.c -Os assembly comparison - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/special/mips-abi.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/special/special.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/struct/struct-reorg.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/tls/tls.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/torture/dg-torture.exp ... - FAIL: gcc.dg/torture/fp-int-convert-float128.c -O0 (test for excess errors) - FAIL: gcc.dg/torture/fp-int-convert-float128.c -O1 (test for excess errors) - FAIL: gcc.dg/torture/fp-int-convert-float128.c -O2 (test for excess errors) - FAIL: gcc.dg/torture/fp-int-convert-float128.c -O3 -fomit-frame-pointer (test for excess errors) - FAIL: gcc.dg/torture/fp-int-convert-float128.c -O3 -g (test for excess errors) - FAIL: gcc.dg/torture/fp-int-convert-float128.c -Os (test for excess errors) - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp ... - Running /home/tschwinge/tmp/gcc/trunk.work/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp ... - XPASS: gcc.dg/tree-ssa/20040204-1.c scan-tree-dump-times optimized "link_error" 0 diff --git a/open_issues/unit_testing.mdwn b/open_issues/unit_testing.mdwn index 15c87abd..b9fb3700 100644 --- a/open_issues/unit_testing.mdwn +++ b/open_issues/unit_testing.mdwn @@ -18,7 +18,7 @@ abandoned). * [DejaGnu](http://www.gnu.org/software/dejagnu/) / [Expect](http://expect.nist.gov/) - * used by the [[GCC_testsuite]], [[GDB_testsuite]], + * used by the [[GCC testsuite|gcc/testsuite]], [[GDB_testsuite]], [[binutils testsuite|binutils/testsuite]], etc. * The [[glibc_testsuite]] has a home-grown system (Makefile-based), likewise diff --git a/source_repositories.mdwn b/source_repositories.mdwn index 214dc0b4..610bc01b 100644 --- a/source_repositories.mdwn +++ b/source_repositories.mdwn @@ -244,6 +244,7 @@ really need to, you can clone it like this: * [[binutils]] * [[Boehm_GC]] + * [[GCC]] # Debian Git repositories diff --git a/source_repositories/gcc.mdwn b/source_repositories/gcc.mdwn new file mode 100644 index 00000000..899adc30 --- /dev/null +++ b/source_repositories/gcc.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +There is a repository for maintenance of [[/GCC]] for the Hurd's needs: +`grubber:~tschwinge/tmp/gcc/git`. + +This repository uses [[TopGit]] and is based on +. -- cgit v1.2.3