From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106628 invoked by alias); 19 May 2015 12:54:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 106377 invoked by uid 89); 19 May 2015 12:54:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 19 May 2015 12:54:25 +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 220BC29; Tue, 19 May 2015 05:54:21 -0700 (PDT) Received: from [10.2.206.27] (e105545-lin.cambridge.arm.com [10.2.206.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DBBC93F837; Tue, 19 May 2015 05:54:22 -0700 (PDT) Message-ID: <555B327F.3090107@foss.arm.com> Date: Tue, 19 May 2015 13:04:00 -0000 From: Ramana Radhakrishnan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" , "libstdc++@gcc.gnu.org" Subject: [Patch AArch64] Add cpu_defines.h for AArch64. Content-Type: multipart/mixed; boundary="------------050202000306020502010603" X-IsSubscribed: yes X-SW-Source: 2015-05/txt/msg01692.txt.bz2 This is a multi-part message in MIME format. --------------050202000306020502010603 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 408 Hi, Like the ARM port, the AArch64 ports needs to set glibc_integral_traps to false as integer divide instructions do not trap. Bootstrapped and regression tested on aarch64-none-linux-gnu Ok to apply ? regards Ramana 2015-05-17 Ramana Radhakrishnan * configure.host: Define cpu_defines_dir for AArch64 * config/cpu/aarch64/cpu_defines.h: New file. --------------050202000306020502010603 Content-Type: text/x-diff; name="0002-Do-the-same-for-AArch64.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0002-Do-the-same-for-AArch64.patch" Content-length: 2625 >From 1e38b2a848a313e5b98494094b198b7a1e34c59c Mon Sep 17 00:00:00 2001 From: Ramana Radhakrishnan Date: Mon, 18 May 2015 15:45:49 +0100 Subject: [PATCH 2/2] Do the same for AArch64. --- libstdc++-v3/config/cpu/aarch64/cpu_defines.h | 36 +++++++++++++++++++++++++++ libstdc++-v3/configure.host | 3 +++ 2 files changed, 39 insertions(+) create mode 100644 libstdc++-v3/config/cpu/aarch64/cpu_defines.h diff --git a/libstdc++-v3/config/cpu/aarch64/cpu_defines.h b/libstdc++-v3/config/cpu/aarch64/cpu_defines.h new file mode 100644 index 0000000..d5a6fd0 --- /dev/null +++ b/libstdc++-v3/config/cpu/aarch64/cpu_defines.h @@ -0,0 +1,36 @@ +// Specific definitions for generic platforms -*- C++ -*- + +// Copyright (C) 2015 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/cpu_defines.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} + */ + +#ifndef _GLIBCXX_CPU_DEFINES +#define _GLIBCXX_CPU_DEFINES 1 + +// Integer divide instructions don't trap on AArch64. +#define __glibcxx_integral_traps false + +#endif diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index 465a40a..b1ca7b7 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -143,6 +143,9 @@ cpu_include_dir=cpu/${try_cpu} # Set specific CPU overrides for cpu_defines_dir. Most can just use generic. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${host_cpu}" in + aarch64*) + cpu_defines_dir=cpu/aarch64 + ;; arm*) cpu_defines_dir=cpu/arm ;; -- 1.9.1 --------------050202000306020502010603--