unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: guix-devel@gnu.org
Subject: Re: Problem with natively-built armhf bootstrap compiler
Date: Thu, 01 Jan 2015 21:19:32 -0500	[thread overview]
Message-ID: <8761cp6i17.fsf@netris.org> (raw)
In-Reply-To: <87a9225o3z.fsf@netris.org> (Mark H. Weaver's message of "Thu, 01 Jan 2015 13:53:36 -0500")

Mark H Weaver <mhw@netris.org> writes:

> I was able to natively build bootstrap tarballs on the Novena.  However,
> the compiler in these new bootstrap tarballs is broken.  The problem is
> that the new compiler driver (gcc) passes -lgcc_s when linking, but
> libgcc_s.so does not exist in the gcc bootstrap tarball.

[...]

>    * The new (broken) one passes the following extra flags to 'collect2':
>      "-L/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.20/lib
>      -rpath=/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.20/lib
>      -rpath=/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gcc-static-4.8.4/lib64
>      -rpath=/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gcc-static-4.8.4/lib
>      -lgcc_s"

These new flags directly correspond to the modification we make to
GNU_USER_TARGET_LIB_SPEC in the pre-configure phase of our gcc-4.7
package in gcc.scm (and inherited by our other gcc packages):

--8<---------------cut here---------------start------------->8---
                ;; Tell where to find libstdc++, libc, and `?crt*.o', except
                ;; `crt{begin,end}.o', which come with GCC.
                (substitute* (find-files "gcc/config"
                                         "^gnu-user.*\\.h$")
                  (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
                   ;; Help libgcc_s.so be found (see also below.)  Always use
                   ;; '-lgcc_s' so that libgcc_s.so is always found by those
                   ;; programs that use 'pthread_cancel' (glibc dlopens
                   ;; libgcc_s.so when pthread_cancel support is needed, but
                   ;; having it in the application's RUNPATH isn't enough; see
                   ;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
                   (format #f "#define GNU_USER_TARGET_LIB_SPEC \
\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a"
                           libc libc libdir libdir suffix))
--8<---------------cut here---------------end--------------->8---

It turns out that the "-lgcc_s" above was added just a few days after
we generated our last set of bootstrap tarballs, in commit a7bf595ff.

I guess that ever since that commit, any natively-built bootstrap
tarballs we generated for any platform would have created a broken
compiler, and that this is the first time we've tried since then.

Any suggestions on how best to fix this?  My first crude idea is to
simply remove the "-lgcc_s" from %gcc-static.  Thoughts?

      Mark

  reply	other threads:[~2015-01-02  2:19 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-31 17:31 Preliminary 'wip-armhf' branch pushed Mark H Weaver
2014-12-31 17:47 ` John Darrington
2014-12-31 19:23   ` Mark H Weaver
2014-12-31 20:20     ` John Darrington
2014-12-31 23:40       ` Mark H Weaver
2015-01-01  6:14         ` John Darrington
2015-01-01  7:11           ` Mark H Weaver
2015-01-01  7:24             ` John Darrington
2015-01-01 18:22               ` Mark H Weaver
2015-01-01 19:04                 ` John Darrington
2015-01-02 20:48     ` Ludovic Courtès
2015-01-02 22:07       ` Mark H Weaver
2015-01-03 19:07         ` Ludovic Courtès
2014-12-31 22:24 ` Mark H Weaver
2014-12-31 22:55   ` Mark H Weaver
2015-01-01 18:53 ` Problem with natively-built armhf bootstrap compiler Mark H Weaver
2015-01-02  2:19   ` Mark H Weaver [this message]
2015-01-02  4:56     ` Mark H Weaver
2015-01-02 21:06       ` Ludovic Courtès
2015-01-03 18:37         ` Mark H Weaver
2015-01-07 13:15           ` Ludovic Courtès
2015-01-07 15:15             ` Mark H Weaver
2015-01-07 15:30               ` [PATCH] gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC Mark H Weaver
2015-01-07 17:15                 ` Ludovic Courtès
2015-01-02 20:45 ` Preliminary 'wip-armhf' branch pushed Ludovic Courtès
2015-01-03 18:49   ` Mark H Weaver

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8761cp6i17.fsf@netris.org \
    --to=mhw@netris.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).