From patchwork Thu Jul 25 14:16:46 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 261705 X-Patchwork-Delegate: albert.aribaud@free.fr Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id CCA622C008C for ; Fri, 26 Jul 2013 00:17:21 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 993E64A019; Thu, 25 Jul 2013 16:17:19 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4aeJZtwEF3lf; Thu, 25 Jul 2013 16:17:19 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 704634A01B; Thu, 25 Jul 2013 16:17:12 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 535A04A01B for ; Thu, 25 Jul 2013 16:17:05 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yXStCZuu1TqD for ; Thu, 25 Jul 2013 16:17:00 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-ee0-f52.google.com (mail-ee0-f52.google.com [74.125.83.52]) by theia.denx.de (Postfix) with ESMTPS id 9792B4A019 for ; Thu, 25 Jul 2013 16:16:52 +0200 (CEST) Received: by mail-ee0-f52.google.com with SMTP id c41so204490eek.39 for ; Thu, 25 Jul 2013 07:16:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:content-type :x-gm-message-state; bh=P7nd1VtoGMVhroMKOYYm/1a6xflj0zQDQ9Pv5veOO/s=; b=kgHYBxGCUFm3c+ZP69lLYmbFR4uwWvUsww0AEw8gNotdaauqcwnoLNbh5bkH3zhApF JXeJ4TfGFGjl+QCzpHsXSNObjTOlNrM+hARKpP7745S8zBi0FYaA/8HOki5Um1gFnMPk cFkZxtDj6bRFjuvvyl/0ABHPNH0zGq+khLsyUh3wAfXCaie8c92yTvuWdOkENbPiVhN/ 7/XBGWI4xVr5R6wW7O7mcksIFVORNv9OSmK3PA7NdUzSCyzSxXgsLN/21KLbRD4cf/GF bVqWTEN9KDZRSRDtoJVZ24ONg+t21HTDFag9cTLA72sHvRDLqRr68fWb4GTe7HXNwVIk H0fg== X-Received: by 10.15.43.11 with SMTP id w11mr42988831eev.27.1374761810488; Thu, 25 Jul 2013 07:16:50 -0700 (PDT) Received: from localhost (nat-63.starnet.cz. [178.255.168.63]) by mx.google.com with ESMTPSA id r54sm73989265eev.8.2013.07.25.07.16.49 for (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Thu, 25 Jul 2013 07:16:49 -0700 (PDT) From: Michal Simek To: u-boot@lists.denx.de, Albert Aribaud , Tom Rini Date: Thu, 25 Jul 2013 16:16:46 +0200 Message-Id: <8ea0cfb9e4987cf34c22e7057487060c99023d7e.1374761803.git.michal.simek@xilinx.com> X-Mailer: git-send-email 1.8.2.3 X-Gm-Message-State: ALoCoQlHU4sJ1I5viI7VLTQeWAwwIjKCwCnlIaWtcxmedEnkX4ZMDBSqylWrDf6jhDBUqp/Mh2va Cc: "Edgar E. Iglesias" , Peter Crosthwaite , Jagannadha Sutradharudu Teki Subject: [U-Boot] [PATCH] arm: lds: Remove libgcc eabi exception handling tables X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Remove ARM eabi exception handling tables (for frame unwinding). AFAICT, u-boot stubs away the frame unwiding routines, so the tables will more or less just consume space. It should be OK to remove them. Signed-off-by: Edgar E. Iglesias Signed-off-by: Michal Simek --- This patch was sent to ML as RFC (May 9) Here is the origin response in connection to this patch. Ok, so Michal and I just did some fiddling with zynq builds and *exidx* sections. By default the *exidx* sections are between rodata and data, so removing them causes many apparent changes at the binary level. However, builds of zynq based on ARM master with the patch above vs master with a patch mapping *exidx* sections after BSS gives identical binaries. Thus the RFC has no functional effect. Also, ARM EHABI states that [exception] Tables are not required for ABI compliance at the C/Assembler level but are required for C++. http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf So as long as we don't put any C++ code in U-Boot (a prospect that I don't see happening any time soon), this RFC is safe and either is a no-op or removes useless bytes from the binary. --- arch/arm/cpu/u-boot.lds | 2 ++ 1 file changed, 2 insertions(+) -- 1.8.2.3 diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds index 3037885..8894c8a 100644 --- a/arch/arm/cpu/u-boot.lds +++ b/arch/arm/cpu/u-boot.lds @@ -113,4 +113,6 @@ SECTIONS /DISCARD/ : { *(.plt*) } /DISCARD/ : { *(.interp*) } /DISCARD/ : { *(.gnu*) } + /DISCARD/ : { *(.ARM.exidx*) } + /DISCARD/ : { *(.gnu.linkonce.armexidx.*) } }