From patchwork Tue Mar 13 13:35:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ramana Radhakrishnan X-Patchwork-Id: 885127 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-474656-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=foss.arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="veNFVWs8"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 400wqD6NsXz9sRN for ; Wed, 14 Mar 2018 00:36:08 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=sMMcfreNh42e1t+UmEP9OUMV+H3tvr16v/1oHpd7OXUoXqbgs8 Sf+v2F+6z7wGW4pSFndoRYAlehNYjlW6D9//KXutWTsBF3dfaA4WkyhHvFu+UG+Q 9GZfILSdRKGgTB7a/HVCsuTKVwrGfsX8kthdoGG6OcbiHeGq2FQ33bUZg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=/r7q2YFH+herqJxWPCy69dxboTU=; b=veNFVWs8jKXQgtRuZDWM EkrYbyUt5YiIJqoqGxeoVkNWgInjtdfQNZFEh5lrrHVnrIkvjac9829BsQZTM5Lz it/7Iz6fuNaF6gLOOarw1Nh6AD4syveMw/Alpf7TH5iAOatqXaxaT3VCfuwiZiwK ZcBd84Mfzlz5YESUcikifIw= Received: (qmail 3743 invoked by alias); 13 Mar 2018 13:36:02 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 3368 invoked by uid 89); 13 Mar 2018 13:36:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, KAM_SHORT, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: foss.arm.com Received: from usa-sjc-mx-foss1.foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 13 Mar 2018 13:35:59 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 31BBC15AB for ; Tue, 13 Mar 2018 06:35:58 -0700 (PDT) Received: from [10.2.206.71] (e113077-lin.cambridge.arm.com [10.2.206.71]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D289D3F25C for ; Tue, 13 Mar 2018 06:35:57 -0700 (PDT) To: GCC Patches From: Ramana Radhakrishnan Subject: [Patch AArch64] Turn on -fasynchronous-unwind-tables and -funwind-tables by default. Message-ID: <7b28c03a-c032-6cec-c127-1c12cbe98eeb@foss.arm.com> Date: Tue, 13 Mar 2018 13:35:56 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Thunderbird/57.0 MIME-Version: 1.0 X-IsSubscribed: yes Jakub commented here that https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01325.html we don't turn on fasynchronous-unwind-tables for AArch64. I note that x86_64 turns on funwind-tables as well. Thus this patch turns on both. Note that this doesn't increase code size but will likely increase binary size because we now have a lot more eh_frame / debug_frame information being spat out. We probably need to do get the clang /llvm guys to do the same but I'll prod them separately. Bootstrapped and regression tested on aarch64-none-linux-gnu. Ok ? regards Ramana config.gcc (aarch64*-*-linux*): New TARGET_DEFAULT_ASYNC_UNWIND_TABLES common/config/aarch64/aarch64-common.c (aarch64_optimization_table[]): Turn on fasynchronous-unwind-tables and funwind-tables. commit ef1b5fa855a369b9996ccd7041255ff75a4b5b63 Author: Ramana Radhakrishnan Date: Mon Mar 5 17:13:58 2018 +0000 Add unwind tables by default for AArch64 asynctables diff --git a/gcc/common/config/aarch64/aarch64-common.c b/gcc/common/config/aarch64/aarch64-common.c index 7fd9305..a9fc5f1 100644 --- a/gcc/common/config/aarch64/aarch64-common.c +++ b/gcc/common/config/aarch64/aarch64-common.c @@ -53,6 +53,10 @@ static const struct default_options aarch_option_optimization_table[] = { OPT_LEVELS_1_PLUS, OPT_fsched_pressure, NULL, 1 }, /* Enable redundant extension instructions removal at -O2 and higher. */ { OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 }, +#if (TARGET_DEFAULT_ASYNC_UNWIND_TABLES == 1) + { OPT_LEVELS_ALL, OPT_fasynchronous_unwind_tables, NULL, 1 }, + { OPT_LEVELS_ALL, OPT_funwind_tables, NULL, 1}, +#endif { OPT_LEVELS_NONE, 0, NULL, 0 } }; diff --git a/gcc/config.gcc b/gcc/config.gcc index 2156c6b..3fe7c8f 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -981,6 +981,7 @@ aarch64*-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" + tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" case $target in aarch64_be-*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"