From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127272 invoked by alias); 22 Jan 2018 14:17:51 -0000 Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org Received: (qmail 127255 invoked by uid 89); 22 Jan 2018 14:17:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=H*Ad:D*nl, enlighten, insights, erik X-HELO: lb1-smtp-cloud9.xs4all.net Received: from lb1-smtp-cloud9.xs4all.net (HELO lb1-smtp-cloud9.xs4all.net) (194.109.24.22) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 22 Jan 2018 14:17:48 +0000 Received: from [IPv6:2001:982:3420:1:1436:b3c2:4a1b:571f] ([IPv6:2001:982:3420:1:1436:b3c2:4a1b:571f]) by smtp-cloud9.xs4all.net with ESMTPA id dcuuedxM56VzTdcuvejVWT; Mon, 22 Jan 2018 15:17:46 +0100 To: crossgcc@sourceware.org From: Erik Leunissen Subject: Target configuration with ct-ng and configurability of the resulting toolchain (regarding target) Message-ID: <3c23dba7-6eb0-5f11-57b1-b49b7577857d@xs4all.nl> Date: Mon, 22 Jan 2018 14:17:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfIkfEqnKnfBCgokm9W5M5hsrz6pD4JkVCWhRyL/qPARorfT77+9dlv4/K2XqSvBQO9W9hwMNywOe1iKNIdXjW0+eMn1iD5MHsKDXDKfnilnBu1oxyUZT Dc/drK63S5Fio1XPHMC72Rjf8l0rvxxo4fsO2S6RhhLQOBGOSSWnGjukSnP3OfMULxqrlgJxZ5w2cIt5tbWRudRs+6oJvMgNv+oz9MZO/TpkG7SmPvHH0rqY cz/+87AaBIf1tl4x1C9fs4E4WeU6Pv0FWkogWrUvWgg= X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00004.txt.bz2 Hi, Can someone please enlighten me about how the choices in ct-ng regarding target options, affect the targets or architectures that the resulting toolchain can generate code for? Context: I'm in the process of making a toolchain that supports arm architectures as generically as possible, while still being able to generate code that is tuned for a specific cpu, by make choices that deviate from the ct-ng configuration when invoking the compiler (using options like -march -m32/64 -mtune, -mcpu, -mfpu). At the very least I'd like to generate code specifically tuned/optimised for cortex-a53 and cortex-a8. Examples: Suppose I configure the target as "arm", and specify "cortex-a53" for "Emit assembly for CPU" (in the category "toolchain optimisations"). Can I still use the resulting toolchain to generate code for cortex-a8 by specifying "-march=cortex-a8" on the compiler command line? Likewise: Suppose I configure the toolchain for 64-Bitness. Can I still use the resulting toolchain to generate code for 32-bit architectures by specifying "-m32" on the command line? And how about the converse case? Again, likewise: Suppose I configure the toolchain for software floating point ("softfp"). Can I still use the resulting toolchain to generate code using hardware fp by specifying "-mfpu=neon-vfpv3" on the command line? Thanks in advance for any insights or pointers, Erik Leunissen.