From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 102743 invoked by alias); 20 Sep 2017 15:37:45 -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 102719 invoked by uid 89); 20 Sep 2017 15:37:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-Spam-User: qpsmtpd, 2 recipients X-HELO: NAM03-BY2-obe.outbound.protection.outlook.com Received: from mail-by2nam03on0053.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) (104.47.42.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 20 Sep 2017 15:37:43 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Received: from sellcey-dt.caveonetworks.com (50.233.148.156) by CY4PR07MB3543.namprd07.prod.outlook.com (10.171.252.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 20 Sep 2017 15:37:40 +0000 Message-ID: <1505921857.2286.101.camel@cavium.com> Subject: Re: [PATCH] detect incompatible aliases (PR c/81854) From: Steve Ellcey Reply-To: sellcey@cavium.com To: Martin Sebor , Joseph Myers Cc: Gcc Patch List , Jonathan Wakely , libstdc++ Date: Wed, 20 Sep 2017 15:37:00 -0000 In-Reply-To: <61673e8d-6f5c-9bc0-dcf8-75eee71f98de@gmail.com> References: <61673e8d-6f5c-9bc0-dcf8-75eee71f98de@gmail.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MWHPR20CA0042.namprd20.prod.outlook.com (10.172.102.156) To CY4PR07MB3543.namprd07.prod.outlook.com (10.171.252.164) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 99ff7070-6ae3-4533-dc71-08d5003d8789 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY4PR07MB3543; X-Microsoft-Exchange-Diagnostics: 1;CY4PR07MB3543;3:TQHBwfsctPSP873YzMogxCCYW2FragkiiIjJsAOdNCNuWahbcQXlGQvNAwwYebTndHM46eXyzrtJe2kUXNKFAhp1UxifsAAD0LItTrPTBKsEzFI72rStqUvf/wmAoBURoIITw0vvxSv378wHg7yxSzsHXZZvbPEgENQEAlSwbg27Gi6lPcSVBazGiY2dw8xPlnSygULCXjh4/98KNulKVl+8mlI2CFHr2L/KiCFl5T/Jl0puZpwUy5Kt3GXI4+yC;25:VN2/NnN6D4JX7DCgQGSNYRLVOh0dkV8nDKM6kzHyBCivuauA9LWbM/1vwdGC5HywWkWOHKr9MpClUsrsTD0QYOIGnawLZEvKtCJIFElxXPuwZZ/tCVaEw+rSbtXhfFDR3iaQbkjF8J3S7c1Cqve7Ny9hKqcio7AIKxMVhuH69YuIW1hWDBdY1m6X80q7KA6vGgDQFlKQ1mvAFcD8SrFD+O7JZGsSkujmCHQXM/EPBY9QV4NbggG3j12IxlUMJYBSLVoygjJ9bkueOtK0XDWEagnbf0VeQGHOL6oa6jCFvQ1UKV5HPwYXbXu5JidnTqY4+NOtaPUKUG4rxjmVy/eo4A==;31:MG6d0tqLbodCnO72mKltUNqUPGIT0sWijhwD2P8iuh6VWToXCKwo+Lw3Snw34goV+XaXj96RuXH291aBauBKh7HVaWJBPdLuMNyCjszHo/mWgTrKLtSyhwlNZ99/yw9wttQHeIRQvVgjBd92Si7KIfHfdnXMm2AhiYXK+gU3Uvp/jlnMiBn1+nfwm/dtBa9jS6WGX5JOK8cyMs6BEA9VGair9+JvsDdA1DjMMxO2QjE= X-MS-TrafficTypeDiagnostic: CY4PR07MB3543: X-Microsoft-Exchange-Diagnostics: 1;CY4PR07MB3543;20:4XQsHn6Nkp6DS8Bd+TdUCKLiUEzaXyKAx/Hv5bgZ90lzpJdzYt7SVAMPTsQQ9vSigsDaPl6L2d4GnGBqDgMGUTRuJ2EysKUTqvl5/vCPJrXlY4d1BkxshK7AiZBUgguo/ERFoEHvGJePn6DE4iiJkkl+aGT0pqD+gWWPbOgE8gzx/Q7rTOYkvsPjKfAzHe7M+YlUdjLULdoRblskOUSVigwvck2khVymjfrOOt2TqzVpV/qm7Pk5Ff8Wy/MAKssce3wYPy7kIAXjktg+Rqbd+3gP0hIOaLO1pvfXUOg6TqQV6QEJ7BUnGlqJ9+zxjomRDVMBG023htYUHk62ZejQK7GsOuPICEwwXvCBdNTTxg7UHu4I7gW9NEOX7NtY7clTxYx/GHIB0ES1HOxCY+xfooh5nMw9C+jMSlqwWKp50h7PM8cZq1t09wEHECdVtOvJCzTgSi4WZXyYBMseiZfT5JN01WhPJVdG/uizjkRsDqxVcF+ilrUzR7FaSSJ74hTe;4:8HU124IJEcQcbxZpXbe9j97awfE3xKvtMK3//bdO2QZ6qqULKZiDIjtuMmx3ACLKhncRslWOUOZtbd3E6ODRHMpW9LWr3qHXlN5sZhldg6Z5HfcHwZtphUAPY2RE7Yi7TCZObjSa7Vv6G0PjX+SzVdiAxFkKpScVwrvael2JH9Ibyko6mKiPCseLBJFWMBsyhIn58mprnfxVL6zhJpJhI5NXQygIGy/6ei1fezsNTjYBjD5ggbZvQCGNpYqlMcgR X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR07MB3543;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR07MB3543; X-Forefront-PRVS: 04362AC73B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(346002)(24454002)(377454003)(189002)(377424004)(199003)(50466002)(53546010)(97736004)(54906003)(110136005)(16526017)(23676002)(5820100001)(316002)(229853002)(2950100002)(6666003)(2870700001)(6506006)(7736002)(6486002)(2906002)(3450700001)(305945005)(33646002)(25786009)(106356001)(105586002)(6246003)(478600001)(72206003)(8936002)(103116003)(66066001)(8676002)(47776003)(6512007)(53936002)(81156014)(81166006)(3846002)(68736007)(6116002)(5660300001)(36756003)(69596002)(50226002)(53416004)(43066003)(4326008)(189998001)(76176999)(50986999)(101416001)(39060400002)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR07MB3543;H:sellcey-dt.caveonetworks.com;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: =?utf-8?B?MTtDWTRQUjA3TUIzNTQzOzIzOkdYT3pHdDRDb2tnRXNlb0dYakZlZGV0ei9l?= =?utf-8?B?cURKb2NnU0NORXByc0I1TWh6ZUd1UXg4RnFUdUcxQzkrbm5jVXVnM0w3WXdp?= =?utf-8?B?WFdJbm16R0h5TEV4TFkrUmJYLzg2ZThHalhsZGdBZ0FCQlAvcTBBWWphcDZi?= =?utf-8?B?eUtZSmJ0c1FtWUpSRWV4STNkWmJsNm95aUg4bHk2bC9xQXVtTEEvMlMxOXRm?= =?utf-8?B?QkI5S21IM1FRcHBMY3RqZ2dZLzdaaWJjNFMxR1lhek1BT3owZEVlemhYQjBP?= =?utf-8?B?M1RUK3REZTRoUkdyUGlNdjMzZHNjaGpMQk9sV0FXRVorQ1lUa2dTN21SSGta?= =?utf-8?B?bTZsNnh5MDN0T2NiN3BHcktHNVpablF1cEdNWTY0ZVMreTByOElsTzZtR2J1?= =?utf-8?B?a3FsRkxiTU43UXFxbTdrNTRzV0F1c3JiZXhaL0IxYTZ5RzRTZzhGMmtDNGhG?= =?utf-8?B?UTZWSjh1bjZjZzEzQ3ZoZlUxWExwM242NkRpeVQ5QlJnZTlRWE9vU0NackRI?= =?utf-8?B?a1dIQXRTWUdPWHMzTWRZb3EyRCt2VnFXSzdGSXdUQzcrT3pGRk1xZUhQeGFC?= =?utf-8?B?MzZiLzdOT0hDbFFqd1U5ZTNWZVlXV2RDYklPUCtwYjQyVnBHZ1lVZjNWbjhI?= =?utf-8?B?NzlLZVUxUTN5N3BmbG5UUk9WOUh1TVRGRzllZGtIMVoyQUlIdlpNZW12Q2VF?= =?utf-8?B?NEdIbVBjRUQ2S0JCR09GaU15SUZPTEw1YjB0QkxMcDVpZDdVY2lkWkV1V3Rh?= =?utf-8?B?aWNnYzJTTXZUdGhoVWlzSGlkS2ljMk5HVlBLWCs3UTcrcGJoVTRiOTRMOTMy?= =?utf-8?B?dEUxWXBMdm1MSjhjdysza1VRNitJK3V6TG5od1JjN2tMNzEzLzlVVFBQYjlB?= =?utf-8?B?TkI2K1FFdFJIejkzcUpWVzV6YjB4eTJzeVB3U3UzU0xkVWhiNUY1bGpLZHIv?= =?utf-8?B?TzNXNm9oMEVJa2ZZMFhYSG41a1VqeGZLLy9wR0hYUzFyeFJOV2RVcU9paEs4?= =?utf-8?B?YVVXcHlENFVENEVZYzhWNDhkaHNRc2xwbGdob2c0akdSNDUxaFI2Q2FvZXF1?= =?utf-8?B?b1RMVE0yWTJJOHJiTkhzRm04KzFFOHRHeEhWSzZUYWtHSVVVQ0hJdURxVVVL?= =?utf-8?B?WWorNURIUll3S290OEZEVmVVUHloWUdoUG1XL3lMZjJjUzdoeUJHVnBhaUhy?= =?utf-8?B?WitUeDdML3BVV0d5N0R3Rm8rL0ZNbE84VUV5VE5QVHpPUy9lOG1PbkdVc3F2?= =?utf-8?B?Q2NZK0lIZ2ZsQ0tMVlg3SmhwV1hJcG1ld1AwTEFaTTVTVlpucm45NTJOSmVO?= =?utf-8?B?bXFHQi8ySHV6WFdja0Q2QVVTQUJIVDdBbkEzRUxCbzZ4TkE1Ymt2STdyaGZU?= =?utf-8?B?SnRONUJnakRCakI2OUR3MFZYUTZ5UlRNdTUrSE9zQWFpKy9kMlZ4SzhoeGk5?= =?utf-8?B?T1dHWnptclp0N2FDbzBvZ3g0UlJpNG93Sm5neUk0YnEvQjllbFdreHNQWHRu?= =?utf-8?B?OU9nVzA1ZjNOZ0NBS2VKQ0crQVJZWWZpSk1KQndTVUZ1QzczVWNGSGxiaUd5?= =?utf-8?B?WGZERHZhUHlVcGJXenQrVFJPWTE1ejlwVHN5MlR0blR2dnZ2dGhtbWptSU9Y?= =?utf-8?B?Y3hOZWZickwrcDJORm5ibHZoZ3g1ZGJXZ2YxRGFSeDZqSnZIeTh5VUt2c3FY?= =?utf-8?B?Z3dOOVBTc2dZYndxaCt5cFFRa3NxMTRDR1poRUlkcGJITjRIYnRueVBpbjU5?= =?utf-8?B?TnA0cVMvbTltUFhaNUNvMHR5ZXJJYTJDcWZIbEtmMWw1ZDRJbGw4RU82QUpn?= =?utf-8?B?WTBJVFFRa1o2TkcwLzYrb3RtL2o2VkVaSXNtMUJCVUs5VGJGTzBLL0I5WC9T?= =?utf-8?Q?El5XY5G24X8=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR07MB3543;6:9TCSikCqBZceCKBPfgogEYr9T9Hnc+s+5oifG1ixTM9oKGq9lJb5MTbSswuKtm0QpCm8+ntdne4lqdRjGt/UZZ7Nt4ceAoUCi3uC5hrMGD1GN3qKSKZYc03iTASL2WtMn/n9wGYHOP93DbhQEujDLJN+LObYVZNy3trmAXIUU3LV4jhBFE+SUDIFNVRTEf+LwaHZuEzjJSFBke20er/ReXBmPX+wfWPURb86QyIzkeQiHumT+NQ0arczywVB1LMYhO3UgKEiv79qCbzwV47V0FuJYxrxSqyws79jV40LogfDLUkctIoUPbWj5FzQYlAO7niXZfPAC/Wxq2ROasZYEw==;5:IZva6tXeck4gSYesCIn9hwvw7/DoTXnyS/qZ2Gc+NXGORz6ohzjx3cMYCVxk3ma/GnXqXRdhJLwRkg5WXKGGM+tWdqrmwMyqx9EnNqXV69NCOuVMcgOHpGV97NyHdgLbiFWuzlD8Oo5Qqegl70FY1g==;24:gqt4Wxj7nffo2gk+D7Fv/uuDXFjOAMd2SVK0GwfBMCo8OVud1enerOokFgU8LOlhsWv8/SW+Zx9k8f/3mP29rl5Q5NeLGltsAI988l3/Kic=;7:BzQJtdGB4DwuiOpgSpl7ckjuWOEX0+g3bs1rWhAcq+WGc00hssgiBiqQynFchvFLvjGkoOLsYPd2yeDl8YDmW8v/HhMkVuH+er/wzEd5UfxIdBNkt4Lgsexj3p/imQml5UarATy+nnJzfkjSqx5XMxugfl7b4i7fmoK6rzBuDz8Vtu8CWts0I/WRE2CU4bAfovIcZ+kktq/7iyjRikz3+gKZAtPzRRHAtolSwBkb7Fk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2017 15:37:40.5226 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3543 X-SW-Source: 2017-09/txt/msg01373.txt.bz2 On Tue, 2017-09-19 at 09:16 -0600, Martin Sebor wrote: > On 09/18/2017 03:44 PM, Joseph Myers wrote: > > > > On Mon, 18 Sep 2017, Martin Sebor wrote: > > > > > > > > It's meant as an escape hatch.  It allows declaring compatibility > > > symbols, for example by the libstdc++ _GLIBCXX_3_4_SYMVER macro > > > defined in libstdc++-v3/src/c++98/compatibility.cc.  The macro is > > > used to declare compatibility functions of all sorts of > > > incompatible > > > types.  The originally posted patch had libstdc++ disable the > > > warning > > > for the file with the symbols but Jonathan preferred this > > > solution. > > > > > > It could perhaps be tightened up to detect some of the cases on > > > your > > > list but I'm not sure it's worth the effort and added complexity. > > > Let me know if you feel differently (or have a different > > > suggestion), > > > otherwise I will go ahead and commit the patch as is. > > Please add a comment explaining this reasoning and commit the > > patch. > Done in r252976. > > Thanks > Martin This patch is causing my gcc/glibc ToT build to fail on aarch64.  I am not sure if everything should be working at this point or not or if there is more that needs to be done.  The problem is with the memcpy, memmove, etc. ifuncs on aarch64. Steve Ellcey sellcey@cavium.com In file included from :0:0: ../sysdeps/aarch64/multiarch/memmove.c:38:31: error: ‘memmove’ alias between functions of incompatible types ‘void *(void *, const void *, size_t) {aka void *(void *, const void *, long unsigned int)}’ and ‘void * (*(void))(void *, const void *, size_t) {aka void * (*(void))(void *, const void *, long unsigned int)}’ [- Werror=attributes]  strong_alias (__libc_memmove, memmove);                                ^~~~~~~ ./../include/libc-symbols.h:135:26: note: in definition of macro ‘_strong_alias’    extern __typeof (name) aliasname __attribute__ ((alias (#name)));                           ^~~~~~~~~ ../sysdeps/aarch64/multiarch/memmove.c:38:1: note: in expansion of macro ‘strong_alias’  strong_alias (__libc_memmove, memmove);  ^~~~~~~~~~~~ In file included from :0:0: ../sysdeps/aarch64/multiarch/memmove.c:34:13: note: aliased declaration here  libc_ifunc (__libc_memmove,              ^~~~~~~~~~~~~~ ./../include/libc-symbols.h:800:25: note: in definition of macro ‘__ifunc_resolver’    __typeof (type_name) *name##_ifunc (arg)    \                          ^~~~ ./../include/libc-symbols.h:916:32: note: in expansion of macro ‘__ifunc’  #define libc_ifunc(name, expr) __ifunc (name, name, expr, void, INIT_ARCH)                                 ^~~~~~~ ../sysdeps/aarch64/multiarch/memmove.c:34:1: note: in expansion of macro ‘libc_ifunc’  libc_ifunc (__libc_memmove,  ^~~~~~~~~~ cc1: all warnings being treated as errors