From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 112277 invoked by alias); 4 Nov 2016 02:48:45 -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 112249 invoked by uid 89); 4 Nov 2016 02:48:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy=H*Ad:D*tech X-HELO: relay1.mentorg.com Date: Fri, 04 Nov 2016 02:48:00 -0000 From: Joseph Myers To: , Subject: Building cross-toolchain for microblaze Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-SW-Source: 2016-11/txt/msg00135.txt.bz2 Continuing the issues shown up by writing a script to build glibc for all ABIs, I find that MicroBlaze glibc does not build using the final compiler because MicroBlaze GCC always uses SJLJ exceptions (see gcc/common/config/microblaze/microblaze-common.c defining TARGET_EXCEPT_UNWIND_INFO to sjlj_except_unwind_info), which is not supported in glibc, resulting in undefined references to _Unwind_SjLj_* (glibc deliberately links with libgcc.a and *not* libgcc_eh.a and gets EH functionality via loading libgcc_s as needed, which is not implemented for the SJLJ case; in the static-only case there isn't a separate libgcc_eh so a build with the initial static-only compiler works accidentally). How is building MicroBlaze glibc meant to work? Is there some GCC patch missing upstream to use DWARF2 exceptions? -- Joseph S. Myers joseph@codesourcery.com