From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21102 invoked by alias); 4 Nov 2016 12:10:27 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 21076 invoked by uid 89); 4 Nov 2016 12:10:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-ua0-f174.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=ppVTtTvC1uG4m26EaFH9t8t+se+aqHmVid8aa1gSDFY=; b=J/4NYXSxcAS2pOdkkAFQbTwvwrxXfs8zqExR8bGrUjn0JSpM9hAukwCVQbfoFGFrSn JF1YCOXunGPFcknjkxpGNvBL1HjhzNRIWz0oa1jZAMwdRkkVhx8KQxsUgqgkGYpVv8A2 nERCNpR2CuY34yoqGgsf1gpg2k/5d6Jk6peXRnn4AK4eL+tRLBYaH1GabTX0K3SpG5q5 AkdvJHgwRtKfHqzSxt0jHEFnodzgu+Em4OWMbp7poQtAZFEU6InTvuKFpdhCvY8We9Xb /RxAg4zcR2GjEs+zCPCZHmzqHOwwv+N7/+vu2vG+qnk20NRY4Cg3SIla/awaI/ctRenZ Bw0A== X-Gm-Message-State: ABUngvdT87KE2/et+2eFoem8QnyCbhhbrzieMUr81yidq9BUZFH7hTl221pEMvSaBR17sNc3 X-Received: by 10.159.54.143 with SMTP id p15mr10822339uap.56.1478261413989; Fri, 04 Nov 2016 05:10:13 -0700 (PDT) Subject: Re: Bootstrapping cross-toolchain for ia64 To: libc-alpha@sourceware.org References: From: Adhemerval Zanella Message-ID: <64a4cff9-b1d3-4645-7baf-29ec50ebbb94@linaro.org> Date: Fri, 04 Nov 2016 12:10:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-11/txt/msg00146.txt.bz2 On 03/11/2016 22:51, Joseph Myers wrote: > The current cleanest approach for bootstrapping cross toolchains for > GNU/Linux targets is (following the guidance at > ): > > * Build binutils. > > * Install kernel headers. > > * Build static-only, C-only GCC, configured so that inhibit_libc is > defined, and using --with-glibc-version so things like stack-smashing > protection are correctly configured without glibc headers being available. > > * Build glibc, which should be identical to what you get from a longer > sequence of alternating GCC and glibc builds (following fixes I made a few > years ago for building like that with the initial bootstrap compiler). > > * Build GCC with shared libraries and C++ support. > > * If you want to run the glibc tests, you should reconfigure / rebuild > with the new compiler to get everything required for all the tests. > > This doesn't work for ia64 because libgcc depends on system headers even > with inhibit_libc. What's the cleanest approach (assuming recent-enough > GCC and glibc) for building a cross toolchain for ia64-linux-gnu target, > so I can make build-many-glibcs.py do whatever's necessary? I faced the same issue and the solution I found was to configure gcc with '--disable-shared'. It is not an optimal approach for a complete toolchain, but it is at least suffice to correctly build glibc.