From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17624 invoked by alias); 21 May 2012 17:59:44 -0000 Received: (qmail 17612 invoked by uid 22791); 21 May 2012 17:59:43 -0000 X-SWARE-Spam-Status: No, hits=-3.6 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-gh0-f169.google.com (HELO mail-gh0-f169.google.com) (209.85.160.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 21 May 2012 17:59:29 +0000 Received: by ghrr18 with SMTP id r18so592008ghr.0 for ; Mon, 21 May 2012 10:59:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :organization:content-type:x-mailer:content-transfer-encoding :mime-version:x-gm-message-state; bh=zqNFPN0oPUrvjPKU/fkTv/phiAKXoQ6Gl8OLzdvNjHA=; b=Pcv6i+xdBxQAkfRXmSr94OPfRNfxM7PqhVpsU//qaVLpa2TY4SXL6Rwalo8j8xnXka 2ordfV/arIJ/yHt/+seDu78M8kU9yVTITYyrWgrKfyEB5Aw/CG83LAVEjc/IDUnwjMpE VtJ9KSXV/lqRfX4Ss2rEYI5NHb7qKzChcCDDFVzsizudL822hh2jU7YXkG+ST40AtutF dt6YMAk57qh0aTfoPBUKYinP5UWm7lUoCdbNWKRHljnW99C6lda43fq2QUdc31bBSpsa U1ASRt4JOmnS4ZR7B+k13F/bNoI2SJyz59z2JEsGmhalVx46PDM/4bOVIGzwxR/9+29V 9JXQ== Received: by 10.236.190.4 with SMTP id d4mr6010898yhn.73.1337623168691; Mon, 21 May 2012 10:59:28 -0700 (PDT) Received: from [192.168.1.50] (201.22.14.187.dynamic.adsl.gvt.net.br. [201.22.14.187]) by mx.google.com with ESMTPS id q44sm79401484yhg.3.2012.05.21.10.59.26 (version=SSLv3 cipher=OTHER); Mon, 21 May 2012 10:59:27 -0700 (PDT) Message-ID: <1337623164.22073.9.camel@hactar> Subject: Re: [patch] Support bionic's jmp_buf. From: Thiago Jung Bauermann To: Pedro Alves Cc: gdb-patches ml Date: Mon, 21 May 2012 17:59:00 -0000 In-Reply-To: <4FBA2920.4070909@redhat.com> References: <1337560528.4363.13.camel@hactar> <4FBA2920.4070909@redhat.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Mime-Version: 1.0 X-Gm-Message-State: ALoCoQkQgvMjUxeCIFeOqaX/GrfqxwHlR84nxTJBJFxmj7M8UcEn1i3cRdU099SfDElJevN2eOkb X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-05/txt/msg00780.txt.bz2 Hello Pedro, Thanks for the quick response. On Mon, 2012-05-21 at 12:38 +0100, Pedro Alves wrote: > On 05/21/2012 01:35 AM, Thiago Jung Bauermann wrote: > > I'm using the ELF interpreter field to identify an Android binary (the > > program loader is /system/bin/linker). > > > Urgh. Isn't there a better way? This doesn't work with shared libraries, > for starters. There is. I thought of adding an Android flag to .note.ABI-tag and I even have a patch ready which adds it to Android binaries. I gave up on it because I thought it was overkill but I can certainly use that if using the interpreter field is a worse solution. Regarding shared libraries, does it matter? If the executable uses bionic, then the shared libraries can't be using something else, or can they? > But I think question number one is: > > - Shouldn't there be an "Android" or "Bionic/Linux" OSABI instead > of abusing "GNU/Linux" ? I think it shouldn't, and I think it's not abuse. Android has the same ABI as GNU/Linux, the differences are in implementation details outside the scope of the ABI: "Note that the AAPCS standard defines 'EABI' as a moniker used to specify a _family_ of similar but distinct ABIs. Android follows the little-endian ARM GNU/Linux ABI as documented in the following document: http://www.codesourcery.com/gnu_toolchains/arm/arm_gnu_linux_abi.pdf With the exception that wchar_t is only one byte. This should not matter in practice since wchar_t is simply *not* really supported by the Android platform anyway. This ABI does *not* support hardware-assisted floating point computations. Instead, all FP operations are performed through software helper functions that come from the compiler's libgcc.a static library." It also doesn't support C++ exceptions. [1] http://www.kandroid.org/ndk/docs/CPU-ARCH-ABIS.html -- []'s Thiago Jung Bauermann Linaro Toolchain Working Group