Received: by 10.223.176.46 with SMTP id f43csp2016566wra; Thu, 25 Jan 2018 03:40:03 -0800 (PST) X-Google-Smtp-Source: AH8x2259j3T+CZrU21ImFVU7N+zoC49A3UOhKnqS4LgJQB38BH1rcNDyeSkDROs1PU/C9PdREuMp X-Received: by 2002:a17:902:f:: with SMTP id 15-v6mr11065428pla.419.1516880403695; Thu, 25 Jan 2018 03:40:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516880403; cv=none; d=google.com; s=arc-20160816; b=uCGk7aTZv9ihN1y321QwnATdzZTthODm2mlVDfMYqPneO63DCs9hMdYq4KZdCN2ish TsDk5L8sFKaJVxfNpu8eh4vqEQIfgQGHCkl3Uity4ycMGno+V8vG2Y1sSu7oviGcOpmG lmd0C9PqmxS6wV67f62142shZsxKqjTTirWHueXaQ3HljbBCU1mlm6Ztfl6/LptxPLdf pwfC3svu7/un/CvjnDckwy8wan7DEu+s8AnQ2S4Fh/RL5e8IzMss9sCJ+yZ5Cz3h+KOg WYjGKX6yfRp2iYsFiFXNSoLiejkU8vPiYU9QYjBk9IDizMEYVJ6XClfj87BV7f07g+TG zYig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:arc-authentication-results; bh=OCverwgPGqtYcEM/SY2cfneKWD8wJNd/zxeuPCgM9CM=; b=ShnKkxqT0vsikkkyvjoRgdQz+UUmO83HVSOba49IPaEo7Ai6haZRLnw7Vn7XXLI2Nc oGrvZj4oIDodY+5MdIsr/zc8c0dCz61LsfDNh1s0p8GgHKApXZUlZ3sww8Au+Qpx15uU egjy3O430/KZB6J8Cwp8u+tl7kx9AKAt3o1DOZRlt6Ugzo2WgpcUyU7XFnfK2q8nbh8n 8TcH9msUy1o6BlO8ZQdvcEOeH6hb0Z/1Tn92skqvuCq5baABcl9lCPcSQkhY5dfkX+eF /D9UnQvq3LghD1EufTDFKdJa3fyeidAuoyWl0L6kCwhfvqP6A2KNXCJkiJoyMEsgbbOS Zsjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@CAVIUMNETWORKS.onmicrosoft.com header.s=selector1-cavium-com header.b=NV01zgKR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y1-v6si1926990pli.11.2018.01.25.03.39.49; Thu, 25 Jan 2018 03:40:03 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@CAVIUMNETWORKS.onmicrosoft.com header.s=selector1-cavium-com header.b=NV01zgKR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751830AbeAYLjI (ORCPT + 99 others); Thu, 25 Jan 2018 06:39:08 -0500 Received: from mail-by2nam01on0052.outbound.protection.outlook.com ([104.47.34.52]:4992 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751813AbeAYLjF (ORCPT ); Thu, 25 Jan 2018 06:39:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OCverwgPGqtYcEM/SY2cfneKWD8wJNd/zxeuPCgM9CM=; b=NV01zgKRpcLxTTh0iyYhphiOWhHVXJidP1gd5PD1liINKUrNbPRTjfKjCvB+bBM5OC8yC50L2HCOWHwSJoFe3SYDGSf2OFR2OXYCUwd2xtwhQt1mIk9K9C3AgLmxTmG0CRuXcPAAmWCKO1ijumkcjy6ODgwlvZjUMPAuo57s3SY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@cavium.com; Received: from localhost (50.233.148.156) by MWHPR07MB2911.namprd07.prod.outlook.com (10.169.231.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Thu, 25 Jan 2018 11:39:00 +0000 Date: Thu, 25 Jan 2018 14:38:43 +0300 From: Yury Norov To: Arnd Bergmann Cc: Linux ARM , linux-arch , Linux Kernel Mailing List , "open list:HARDWARE RANDOM NUMBER GENERATOR CORE" , Al Viro , Andrew Morton , Andrew Pinski , Catalin Marinas , "David S . Miller" , Geethasowjanya Akula , Greg Kroah-Hartman , Ingo Molnar , Kees Cook , Laura Abbott , Nicholas Piggin , Sunil Goutham , Will Deacon , Jeffrey Walton Subject: Re: [PATCH RFC 0/3] API for 128-bit IO access Message-ID: <20180125113843.vgv6kyp7qjd75qif@yury-thinkpad> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: DB6PR0402CA0013.eurprd04.prod.outlook.com (10.172.243.151) To MWHPR07MB2911.namprd07.prod.outlook.com (10.169.231.135) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a8ddcdc7-c9ce-484c-ee23-08d563e83b65 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:MWHPR07MB2911; X-Microsoft-Exchange-Diagnostics: 1;MWHPR07MB2911;3:p5YoI4hZwCGbuxdKtCP7Oo4P4jkHhVl4ys7ZbqOtEjX1lXDNDk4Fu4B9Rro3jlEkiLR7sXJSjlJYeHpeXUjX+MmP98vH2SzmsLzV3ug0ZRg7g2EkMCN5iGa7+da7JcusKk591EGwR8V/MrQW0nnworT1S8QemAIv19n7hvIprHCu5U3i+09vXJGiP4berpi4qBrywJPaG98NMzXYHKUPwHAjmm9S2ZOuIS6zEl+JLkrJRaG6rRtMTOGH27AylWbo;25:alWqIVTwzOgd/ygKRoevfnu6LAUh5HxZWsDo2NGFz1FO8hbp1SoZtAR3fClyiPCMCuB54uoy8G7VpPM/Q7I92oCaALbpZMO8W1zI2AkD/5dyYFa+0UqKOwSVSRnFoT8X6/3b6yEVGDjHWSFAL16txvxYCSBPMEkW8O8y9XnS8R2mNWVF3+DXuyW2pd1G8mQYTa8kdHbwPYaH1YOphWA+QAW2quefH04BQH0EiSL3DTnM8POjFeMt6I8QzmvzyLdQaZf84IAtM4CWA78ieB4lVJvTUq6Othxheog9OBoyxmUJWSAN7+X+AlyPsnXEqJJa+MXqieKZouXzIKQYQemH/g==;31:pbwtQeYMETQ643lmi2sCJWbC4DHlrevSsntI3iN3t/uk4NqYL7k2lDFl/f75K9oJn8cLiOk6ecSvVHNxUA/f2abyhzo6oc3UZxqyjPsteEWifOwjk3IHYOJZDu2TBQ4/bq0itoqwr0DWj6DBMo3Jjb2oR0mhCEdwHOhy8dPovG6Rh21Dbyvk3jqtphB2rKL+o1YxzYCUcAWN+NtN9xeRAD6X+mhbIVRFfH2M0Hbx3+c= X-MS-TrafficTypeDiagnostic: MWHPR07MB2911: X-Microsoft-Exchange-Diagnostics: 1;MWHPR07MB2911;20:IFbEr/D9yRYokG7EFL22mDbkeWzzjlRyefzSFkHJeTjri9W1clmNeZnA5Upbn67kAPyvoY2tcRswy3rwbx689Id62mMts+fKElFwYFP7e126Kb5cfGdM2/tiuthVzY0LPN+6AA78cGjLCEJilzO1i1kY1Bpkv37k4BtqV1p3g06gr+gxJM37vUsieevMXNpPl/eEXfIoH5XpQSHFP72DwtO0850X0tGaHTr0IDl9SIKmDqLIGS0V/AoTVmB3PRNyizKgMbLPPgRKw0TfB5jzhka0EMfOtjI2JG1eKdglkNoaLRlF2MU+h3rt23xyw0peQOYpNSf6OSqzteqGUJUthOmy8huGzMWehGRJzX3goFEzShTZDJ/HeVcPtkkKbItcQvuT27Auk1uIhHjxAc7XiGULAqb1foCRmldUAXdDRMQyIpsuKAnuawfA3y+ws+dtW1l6Vz0EPbkOjCWhuoxI8Kn7Dk9tZhms6vYviAWO6K8eh/IXwDWXLQcvO/C3CMIkulJVxdLYh0hsV3gp4CLTeLFLkSrvgVyGQGFlQrry1iwkydPos4sJkSKngf59wQ2z4hpLG+q+E0djLVPwpCw1iC+hvRucVac48vmfN2Eb3zQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(22074186197030)(183786458502308); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(3231023)(2400081)(944501161)(6041288)(20161123564045)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:MWHPR07MB2911;BCL:0;PCL:0;RULEID:;SRVR:MWHPR07MB2911; X-Microsoft-Exchange-Diagnostics: 1;MWHPR07MB2911;4:FeSce+jPQ0OVCUvcq/w1PI1hvA989jN4gLUG60vZJZhsGVlQakxe7h0069mJaJFR9EEQYDUa1L7ut+FmQ0oVW+e0B7nx44dt0Edi3atI+L1//sQWZopJl0H+fJ0/ptp8FExlBqhReOqBrpIzU3krBCpmWIsnEW1cw2y2K/SWH8rBsbbQxn6smWBUR6uNsxX6UDD3P8XG7mmeeS1L4tCxK/0PLN7rWfLrfnQUsqscotBuBT7Zn9CZ/BbY+uDCQLBoOQQByXjAr4zUvbCS5VmjnI6/uNofmQIXeZoMObFuzymnlBKP2Qw+wreeuo2rG7ck07jrcsPV6tgWAa4JX70Q0nfJ+7ACohVWq9E1g7Ihaes= X-Forefront-PRVS: 0563F2E8B7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6069001)(7916004)(396003)(39380400002)(39860400002)(346002)(376002)(366004)(189003)(199004)(57704003)(316002)(6246003)(54906003)(58126008)(7736002)(305945005)(16586007)(229853002)(97736004)(83506002)(6486002)(26005)(186003)(2950100002)(6916009)(3846002)(6116002)(16526018)(39060400002)(105586002)(23726003)(76506005)(6666003)(7416002)(42882006)(386003)(5660300001)(6306002)(68736007)(4326008)(8676002)(66066001)(81156014)(81166006)(33716001)(72206003)(478600001)(9686003)(53546011)(53936002)(2906002)(1076002)(59450400001)(6496006)(25786009)(52116002)(33896004)(76176011)(8936002)(50466002)(106356001)(47776003)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR07MB2911;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR07MB2911;23:13tABpYjPr2l8MCgNDLwvG6OtQi9Qb/EfP45/Mz5X?= =?us-ascii?Q?6Uj9LtGGS7eHAu0JSObAKhOIjTYcNQizqChYGRY7FWKWY6IMErl17Xh2bTX3?= =?us-ascii?Q?Rhz3bowMHu3geSZdI+9QGW2qr/aeMxrkGoLNOPEAUny0qF1cedGSBAze7KWn?= =?us-ascii?Q?n6PCVqKKct+xxLhl+eDb/3mbLzo9D28bNYE1ZN0yP6kbkoxdA3Qrx9tnE2EB?= =?us-ascii?Q?ZasqpGdHQk9eLnqxBqbtG1pltrTOuP4JitPSWSBGcqP6LZTRDKKeb4iiygfk?= =?us-ascii?Q?am3yyHY4/HFMCK19ES4M6JD9AvzfZkR4HdebQUt3rTpF+BsN5Ro2Vhx3fbXf?= =?us-ascii?Q?NDX7pO/rQvRu1nox+EM8dCYY1k2wzUNheqz/UPH50ku5yZ9rWge2lZ1c4Ub0?= =?us-ascii?Q?qrbIw2tsWh5hrVNHffHmJaPLcxwPzgz+dgXCSeRcRK+SBZAxZzyHUCsRKRZB?= =?us-ascii?Q?qZN1JNZE+/5y41A2AAi+Yf+tGXSSkKKf2tNPyWS2VJfUGzMerFQX/d1XwIG7?= =?us-ascii?Q?8zWmp6FYoe4ysxkKeqbxZ6EqNNv3DbyCU3HmO47YPKAV6Bn/c/19K2nOdj/e?= =?us-ascii?Q?2i7+paJpll5MNeiRiDPfFKl/x+2GDiGjJGOS1+Hgiupx6DcNCpXxzWZdEbVh?= =?us-ascii?Q?ph893YXtKAhmMvA5XOq2cums49jIb4RCI9txqc6Va0OPo8aUs5M2GQm/GGmE?= =?us-ascii?Q?ARWcsPsw9/LXtSfan50+E4N9vLqJSBVhUuFHD9FxpQc5tN33Jr7AvmoosyxE?= =?us-ascii?Q?feSXmUCGOnvjTdnyDYjcSXg8WEktgGOanLfZmAUkqcos3P2/adHhATboej/U?= =?us-ascii?Q?CUnODwZTiYo3KqkVsmlKJgTim+dtM1caNm+LeHunZD7HF8pRvC4Tjw6nuOYR?= =?us-ascii?Q?m4sRPtDhXUFKSSdgr7WwZp/UH90NUIx9wOG2unEeRYCbU50e2u/vOWvEsEpa?= =?us-ascii?Q?FgsmO/IuEuXF/rhzSCwrETHvU3sehPcrykteqPEC4upZ26vGRWEk9jdfd4Lq?= =?us-ascii?Q?bISa1Eb+HQyppQ7OhkjUj96kAcbKSFvN1kkgPolmgg8zHBItUTGM3FJct/SG?= =?us-ascii?Q?RY1ePZtVHw/8Odyioy6DgK8RrtcdJ05jy2XXBp1hyxgxub9Mo08oPVHGaMEG?= =?us-ascii?Q?nLByB+BgXfqeRcOuoX2cSIrN5/a8Nr4oqJg0+SB7q/WA852telQnJKvzL6jP?= =?us-ascii?Q?QMtq4H/oICgy8S1bqKH9H+PHxHsv2opokGf1fB7aGt7yMK4JwcPSIVjwFICv?= =?us-ascii?Q?u0GDYCTgDnOFmUOFF/DTp7Rw9KCnQnvta7sOom4ApxsTeXy/RsqjefUTTl8R?= =?us-ascii?Q?OFfvVdulPdAW3t3AVy31Bp6YB2iue6SLmODJAqCmUueJF4RfS3nd2wOGftKN?= =?us-ascii?Q?icTJ4DDzfzcVscyv5QptFxnzt69YI9r7D2FoRVVZqRJ+HMSG8I8P07cjynl6?= =?us-ascii?Q?DxEIamFj/MDPkWu/caEfNSFZLYVsZo=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR07MB2911;6:NYqO+qekJ2RMIPqmcF2rDZf+fiRIw4cItKDKsrukaT1YQAR6tD7ZPo8DGkpEjTT99fPWyscdgBqTdjUzzQXdB/4J/b/QwKPa8MB+Z3xufAJn9TRIai3wE35nAjX/tnd1szfGLg/Q9tfy4NnExsrC8uNFOOK+af0v2WMIoUh6E2t4oOfJDj6BTArT5TkK3c5cdQkCkDS/1SqIXvcLut+tGWv/BesjTfdVUcNUZqlx/UMuRas6w+Ta6zR7ycIInzkPVujbTwNb2v3fKqpht8sK1T5xWUUKIpMzlUiovqiD3xRobm3AuMjOAnE9udZn/UtaOwnmBXp7/CbL1mJSCxiCeuEFH5UVqVBNsHNY7i6GZDQ=;5:uXMdKtD4FrgY9AbQ7aloiKusf8Lsv7Xg5vmkl+/VMIPHABKVCgzimr4tKMHoffNESuh3pEJ63Bg06QSA5OO89hdotaCQeyYruRpFF5tIaVbX1uYK4F8vkFPDmjkPQh8zpgq7vueLkwJOfHWf2zC7XgTU6619n68Ur+fep5MhGSc=;24:sTbcXf3EspFEgipuNs7MXI5Q25SGj/NmpPJ8NQf2OEs3dQsBCh4Jz/ZypdcW4+Dj8S5YYW5R0U7m6yJIsuUzA8QAR/3SVbueWctg5ueajCI=;7:UpF3aNUN1EBJEiYRTGq0i48NHf3nbDwp+gc4A+ba2y03HuDE1CsHzdkMGcsUnLIoytLa5FjLuZFp17shEUG5UAm+H/jRqATCgkAGKYiBkiZLgirBULj5yCef2tZ5eu+zX9ZBxjR7elUFjrHTLeGGEXjdZ/XXV3da7+VuljpuLJ1iFUhvDJyOUWYN1ned17xC4OCUQXCdZDZRzFuZOlMkU+A+1t8dL6AsF/ALgFKZ50FjNbUrV1G84kGQ5Y0uo7A/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2018 11:39:00.5704 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a8ddcdc7-c9ce-484c-ee23-08d563e83b65 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB2911 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 24, 2018 at 11:28:55AM +0100, Arnd Bergmann wrote: > On Wed, Jan 24, 2018 at 10:05 AM, Yury Norov wrote: > > This series adds API for 128-bit memory IO access and enables it for ARM64. > > The original motivation for 128-bit API came from new Cavium network device > > driver. The hardware requires 128-bit access to make things work. See > > description in patch 3 for details. > > We might also want to do something similar to the > include/linux/io-64-nonatomic-lo-hi.h > and hi-lo.h files, to simulate 128-bit access using pairs of 64-bit access on > other targets. It's apparently driver specific which half you need to do first > to make it work, so we need both. OK, will do. > > Also, starting from ARMv8.4, stp and ldp instructions become atomic, and > > API for 128-bit access would be helpful in core arm64 code. > > > > This series is RFC. I'd like to collect opinions on idea and implementation > > details. > > * I didn't implement all 128-bit operations existing for 64-bit variables > > and other types (__swab128p etc). Do we need them all right now, or we > > can add them when actually needed? > > I think in this case it's better to do them all at once. Ack. > > * u128 name is already used in crypto code. So here I use __uint128_t that > > comes from GCC for 128-bit types. Should I rename existing type in crypto > > and make core code for 128-bit variables consistent with u64, u32 etc? (I > > think yes, but would like to ask crypto people for it.) > > Hmm, that file probably predates the __uint128_t support. My guess would > be that the crypto code using it can actually benefit from the new types as > well, so maybe move the existing file to include/linux/int128.h and add > an #if/#else logic to it so we use 'typedef __uint128_t __u128' if that > is available. It sounds reasonable. But I worry about testing that changes. Hope, crypto community will help with it. > > * Some compilers don't support __uint128_t, so I protected all generic code > > with config option HAVE_128BIT_ACCESS. I think it's OK, but... > > That would be nicely solved by using the #if/#else definition above. > > > * For 128-bit read/write functions I take suffix 'o', which means read/write > > the octet of bytes. Is this name OK? > > Can't think of anything better. It's not an octet though, but 16 bytes > ('q' is for quadword, meaning four 16-bit words in Intel terminology). Ah, sure. Octet of words. Will change it. > > * my mips-linux-gnu-gcc v6.3.0 doesn't support __uint128_t, and I > > don't have other BE setup on hand, so BE case is formally not tested. > > BE code for arm64 is looking well though. > > I've run it through my collection of compilers, it seems that most but not > all 64-bit targets support it (exceptions appear to be older versions of > gcc for s390x and parisc), and none of the 32-bit targets do: Thanks for doing this test. Looking at this I realize that this is not the architecture feature but compiler feature. So if we add 128-bit interface, it would be reasonable to add it for all targets that compiled with toolchain supporting 128-bit accesses. There's already the option ARCH_SUPPORTS_INT128 that is enabled for x86_64 in arch/x86/Kconfig and conditionally enabled for arm64 in arch/arm64/Makefile: KBUILD_CFLAGS += $(call cc-ifversion, -ge, 0500, -DCONFIG_ARCH_SUPPORTS_INT128) It is used in include/linux/math64.h and in lib/ubsan.c, not so wide. So I find things little messed. Crypto code ignores compilers' ability to operate with 128-bit numbers. Ubsan and math64 relies on compiler version (at least for arm64, and I doubt it would work correctly with clang). And now I introduce HAVE_128BIT_ACCESS with the same meaning for memory access. I think it's time to unify 128-bit code: - enable CONFIG_ARCH_SUPPORTS_INT128 if compiler supports it, ie check it like you do below; - declare u128 as structure or typedef depending on ARCH_SUPPORTS_INT128 in generic include/linux/int128.h, as you suggest here; - switch this series to ARCH_SUPPORTS_INT128. Does it sound reasonable? Yury > $ for i in /home/arnd/cross-gcc/bin/*gcc-[3-8]* ; do echo -n $i" " ; > echo '__uint128_t v;' | $i -xc -S - -o /dev/null && echo ok ; done > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-4.8.5 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-4.9.3 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-4.9.4 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-5.2.1 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-5.4.1 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-5.5.0 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-6.3.1 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-7.0.0 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-7.0.1 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-7.1.1 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/aarch64-linux-gcc-8.0.0 ok > /home/arnd/cross-gcc/bin/alpha-linux-gcc-4.1.3 ok > /home/arnd/cross-gcc/bin/alpha-linux-gcc-4.3.6 ok > /home/arnd/cross-gcc/bin/alpha-linux-gcc-4.9.3 ok > /home/arnd/cross-gcc/bin/alpha-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/am33_2.0-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/am33_2.0-linux-gcc-5.2.1 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/am33_2.0-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/arc-elf-gcc-7.2.1 :1:1: error: unknown > type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-3.4.6 ok > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.4.7 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.5.4 :1:13: > error: expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.6.4 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.7.4 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.8.5 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.9.0 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.9.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.9.2 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.9.3 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-4.9.4 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-5.0.0 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-5.1.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-5.2.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-5.3.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-5.4.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-5.5.0 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-6.0.0 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-6.1.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-6.3.1 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-7.0.0 :1:1: > error: unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-7.0.1 :1:1: > error: unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-7.1.1 :1:1: > error: unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-7.2.1 :1:1: > error: unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/arm-linux-gnueabi-gcc-8.0.0 :1:1: > error: unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/bfin-uclinux-gcc-7.0.0 > bfin-uclinux-gcc-7.0.0: error trying to exec 'cc1': execvp: No such > file or directory > /home/arnd/cross-gcc/bin/bfin-uclinux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/c6x-elf-gcc-7.2.1 :1:1: error: unknown > type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/cris-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/cris-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/cris-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/cris-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/frv-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/frv-linux-gcc-4.3.6 :1: internal > compiler error: in default_secondary_reload, at targhooks.c:618 > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > /home/arnd/cross-gcc/bin/frv-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/frv-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/h8300-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/hppa64-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/hppa64-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/hppa-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/hppa-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/hppa-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/hppa-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/i386-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/i386-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/ia64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/m32r-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/m32r-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/m32r-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/m32r-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/m68k-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/m68k-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/m68k-linux-gcc-6.0.0 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/m68k-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/microblaze-linux-gcc-4.9.3 :1:1: > error: unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/microblaze-linux-gcc-7.2.1 :1:1: > error: unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/mips64-linux-gcc-4.9.3 ok > /home/arnd/cross-gcc/bin/mips64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/mips-linux-gcc-4.0.4 :1: error: syntax > error before 'v' > :1: warning: data definition has no type or storage class > /home/arnd/cross-gcc/bin/mips-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/mips-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/mips-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/mips-linux-gcc-7.0.0 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/mips-linux-gcc-7.0.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/mips-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/nios2-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/parisc-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/powerpc64-linux-gcc-4.1.3 ok > /home/arnd/cross-gcc/bin/powerpc64-linux-gcc-4.3.6 ok > /home/arnd/cross-gcc/bin/powerpc64-linux-gcc-4.9.3 ok > /home/arnd/cross-gcc/bin/powerpc64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/powerpc-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/powerpc-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/riscv32-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/riscv64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/s390-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/s390-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/s390-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/s390-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/sh2-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/sh3-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/sh3-linux-gcc-4.3.6 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/sh3-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/sh4-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/sh-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/sparc64-linux-gcc-4.9.3 ok > /home/arnd/cross-gcc/bin/sparc64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/sparc-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/sparc-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/sparc-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/tilegx-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/tilepro-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'? > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-3.4.6 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.0.4 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.1.3 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.2.5 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.3.6 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.4.7 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.5.4 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.6.4 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.7.4 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.8.5 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.9.3 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-4.9.4 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-5.4.1 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-5.5.0 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-6.1.1 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-6.3.1 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-7.0.0 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-7.0.1 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-7.1.1 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-7.2.1 ok > /home/arnd/cross-gcc/bin/x86_64-linux-gcc-8.0.0 ok > /home/arnd/cross-gcc/bin/xtensa-linux-gcc-4.1.3 :1: error: > expected '=', ',', ';', 'asm' or '__attribute__' before 'v' > /home/arnd/cross-gcc/bin/xtensa-linux-gcc-4.9.3 :1:1: error: > unknown type name '__uint128_t' > /home/arnd/cross-gcc/bin/xtensa-linux-gcc-7.2.1 :1:1: error: > unknown type name '__uint128_t'; did you mean '__int128'?