From patchwork Thu Aug 24 17:20:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 22347 Received: (qmail 129462 invoked by alias); 24 Aug 2017 17:20:55 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 129002 invoked by uid 89); 24 Aug 2017 17:20:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=-25.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=liked, 4812, seperate, including=c2?= X-HELO: NAM02-BL2-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1503595246.28672.90.camel@cavium.com> Subject: Re: Obsolete matherr, _LIB_VERSION, libieee.a From: Steve Ellcey Reply-To: sellcey@cavium.com To: Joseph Myers Cc: libc-alpha@sourceware.org, Szabolcs Nagy , nd Date: Thu, 24 Aug 2017 10:20:46 -0700 In-Reply-To: References: <1503519708.28672.77.camel@cavium.com> Mime-Version: 1.0 X-ClientProxiedBy: MWHPR22CA0012.namprd22.prod.outlook.com (10.172.163.150) To MWHPR07MB3550.namprd07.prod.outlook.com (10.164.192.139) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e8e3e268-48f3-4760-0bc7-08d4eb1476ff X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR07MB3550; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 3:5jQqpiPE6KeYDHQSzMTLA7PrNUhQZLsLGQ3ELnu4/lUIZBj5yGmAECU0KwksYnHT6AhRs/gu3+SJ/pOjPwWPj3OIO/noHmLTikREUuQtwbpIS3Y2uq6xpNOFhCe3Ea2/s2CaXkLamLK+3ylbceirpthPhJD51hp/vYCtFBxhCg//XoyZkoRgBRLV8qKVGf8cZjWVCBO74cAgdhpLEebRVDrafMrRy/PucULkl4ewob8b0oii6CMKJgR0N2NoZKAK; 25:fP5I5k4rRT9TqE9bvSku3TMr7Ue3e6IiYjbKc3PO/yJVk6kIpxVwEWQdoY2ITziimqvaTla4I27mZJGSLgqgNoHZ9+i1VWTdh8LdVZ5haUVIrN57a8SpI4+nM1s8lgXOpDfJvphsSHvsekLZejCF2zCryLQ8D+LkcvI4a22AoOohXcu704aE1nkWDhYo/Niu7gOPeQxkeg1U/sfeuUQKCGem8TfS+OfNVffOREXfOBVnhoZRhscRbd88ICqNCbvhOHfFiyC6BX1vfhB97zGpaNfD39yQhUTxaBZc5iNeIyq9SAPYMQovJ0p9hZKPRfXkytao5kfzthZnLefR3FI9ww==; 31:9fUoNbxD2egEm4brBA/HgDEOIHeWsJleb3Y7ma9cKb/p2GWA4JOZgtVd30V6lBp1sV+lY6gdu5JcCTChngdytZrSrjYQaza1vyk0wmYr9ZIRRCBOqXxBGQy8F20uptgb7q6eNAZSbLnRdhnjLo9jZjitqqW1wXzM5Z8rfJpXKrR1syzOtMgYJhZjZLhh9QgQqrRjvHCYdxODa9SZlNnAmljrKesa17gXiD4uVGOhWw0= X-MS-TrafficTypeDiagnostic: MWHPR07MB3550: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 20:kgI7GOThphFC/5Hj+0Xn+oNQ8OKEHGDrY6TVvsJes0ABaBN9p+4cMAhiqHrWpSXsQlXb/o2Dyr9iaC6YB1rijlJ8WLGbOJstv/ISwjWSBT/coyh5xAA2Yhi9SXS1555u2iznVVJnc6zyFLdQK+sF2EVQNbPgS+htlwqIjyuY6wrTobdZpK85yWFbN6V2uX+Q+Rv6IduFqMSXhiyg1E56RS713DgbOrPjBf6o8kieNJZpIINW9+N1FRo9jrtSf8ua9nA91aAlJVDRLXEpltKkGTXPtVdFY0ojsqeNyy+DQpJP9RTcPHnO102bX3zfW5oFU3MXcb1KfRflfyFGV01HP1Bj1CYMuPv2NxOhp+wxzeYBELXtTrUsbXHhDfbpGv8psmhFavPpndipP4uiAXoe3poJ6HP+atG41YDekJCXfKsIdliygVCbw1HXMOICYRwbPsY0TQS4fWpqDe9D01VAkrLn/Pm5by82bOl0P8L21dDJ3aJfinyEHqUohZLDq/Tv; 4:cH+clqmvZe4O+LIW18UuDcREluIi7rUzszCGnhFWhnfqAgMDvEFw4EO3UVQi8pyuaMi4ql4bhYiwPaQHx8vJOB63J+jTUK4RLUYFrjjZOCrLS+7WR6CrEQZPATxPpQrsAzlKabdr52/a99vmk4T2FNt1Pb6uBmT7RNipzYptn2VRllWE/3QmXDLkfSHY1GBzqSAmDBPyfcEHXCStg840ldSNYuCRe3/E7uEEk6CTVMyoRGTnWdqa/dkZFWJOybTL 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)(102415395)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR07MB3550; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR07MB3550; X-Forefront-PRVS: 04097B7F7F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(377424004)(199003)(24454002)(54534003)(189002)(512874002)(4610100001)(97736004)(2906002)(189998001)(84326002)(3450700001)(7350300001)(5890100001)(478600001)(76176999)(305945005)(53936002)(7736002)(966005)(42186005)(6506006)(68736007)(6916009)(2950100002)(568964002)(54906002)(5660300001)(101416001)(66066001)(6246003)(36756003)(4326008)(110136004)(43066003)(53416004)(25786009)(72206003)(103116003)(6666003)(6486002)(6306002)(81156014)(229853002)(3846002)(105586002)(33646002)(2476003)(81166006)(8676002)(69596002)(6512007)(50986999)(106356001)(50226002)(6116002)(99106002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3550; H:sellcey-dt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; MWHPR07MB3550; 23:CKSrKI/oRWveLQKrOGZFR2x/QhYXKR9lGBLo97ZV5?= =?us-ascii?Q?WSkaEP7L8CVvoeI5szY/9UIilsnPUUZt+GJI4L8TYhC5G+8/jXg3WKS9tsyP?= =?us-ascii?Q?VHEaDDuWvcj3Gzm8RArmfBQuo2GqCBS6Qt5jxiYiZHYFOraQHm5BVp6JkVkN?= =?us-ascii?Q?x9jpnYFkE/9vtVQ0q9MA0MQ6GO1NmBxCCPgyHNNx6Noh2xy8nlWP9TjmxAha?= =?us-ascii?Q?ZdvXgNbV7+QS8LGv/RDX7Zvv2w9OnqqHvFHHC5b7S7T3XR8WPRYutY5S7jyd?= =?us-ascii?Q?cfKk8pNrpkYFvc8udgk25auVVSXLK1VhcIrkDHd3Ph5Hy1Rgj4o7wivy3e5W?= =?us-ascii?Q?ig5/J0oP/JS2vJgV04DSzR3OTKlzYMqW2gbzWK22Uf6Oho1UUngidKo1Aoqz?= =?us-ascii?Q?MW3jgIBLwlWn0iRF4TTEQfbivXAYUctHawxi6XoTATbwjesYryUM/HLpbvFx?= =?us-ascii?Q?zRMtC6YRYELt647fAdwEhX9el/WZa6jVgvYh3rnfyzPzk81m/TQYLBFuedRi?= =?us-ascii?Q?XRZ8qr0iPPz5k5129KHdcRSzCVZqFhqgjhxLZEqcJNrHdMcBci3MoMOYGOuK?= =?us-ascii?Q?d4rSZPBb8eeIfYntLRw9dH9W7AaX1jzZ1Ovmpws6OGjxWR6N1GY66PorXCYQ?= =?us-ascii?Q?Daroqv6HH3jLXS9dxIFdXea22vC6cf+LaU3SsU6moIeCW5Y+w7rRtTR2HQLN?= =?us-ascii?Q?BIt/ij4jDeURNcD5F1F8ki/TkpvMEbZiNraacEwiNOGqypoYZ8uz2875V0cM?= =?us-ascii?Q?Hl3HcMnOVBKoHXbB1sNu1JGcy2uLsMmaD70oaY+TZ91yjkxbS5eLdxWaYW76?= =?us-ascii?Q?OVYNqLXJJZ+lYdMmbIzxE1XBBzcDtMMdEtthCma/u3ydMT3ZM2S/eU0xdjXO?= =?us-ascii?Q?shii7P2EAxmFnUKEo1cR4jBrdlKGmYXVur/e8OzCW+8UdGHz2Nic9QNM93LI?= =?us-ascii?Q?4Tssg5j3A4gjeEZQGnfnes9cewy0RN0My+EryOnXfrogbfHqA4ZvDFbltx5p?= =?us-ascii?Q?dHLzFR0eE8Dsm3HcnP7qgV5HiO+Ya51gjx448N0jZkmBQX+4O5RbYx68NsiJ?= =?us-ascii?Q?XymLDJbm8CtZ/9LsYY56l6ZCq5ZVqKoDTSVZGxTFAhRi3T0SZVWE1QiDemBy?= =?us-ascii?Q?dd3U779cDIKmktN8OoVMfgM0eC1mIHK4+ME1F+jadWJqv8MqXWj860szRWs7?= =?us-ascii?Q?3fiQTGmY7dPs97lfnUeqN13RV0+o5FtiZYNPWHJzrHtyt8d6g41SQOKXkPzm?= =?us-ascii?Q?ZOPnr7HTWsEf2KDn15zAdcBhzcJznEPHCGTp0qQXO9g5jA4611i6WWsTicjm?= =?us-ascii?Q?P30h9AWMosQXyhat8hZ+cMjqtjJazludZRM69Hu16sFTsCB/iys8Sq5uio/B?= =?us-ascii?Q?xIRCL5q72RxNju644AuCfeIpgi1LrkA5vVcmAMhJgUlu/DjVEWohBRcDEcaQ?= =?us-ascii?Q?AkCAWfOKw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 6:qThKCY6lGtvzDdSOPwljq/Wvq8u12eKyWBrONuN70H1W/zp3fS/XPXEDH/wEcZiQsH/YG1ak1TzpF7YNwgVrfVo/XxJ+CztWJ/ux3vL5GZCyZTy33VYptl99zHTfLsB5Mu1jatbe9ALLRHcJ+UxU+1+hFah06JipEq8HDeHUuuoC49Z+RwMwD3lglepVo4n37Pu1EPYxOnKhJ4typcsLhViUahTl9Qh1QaR/SIhvKYcRHxD0+OfE/mBCwz2A5U59+sM33iz2KhZHBrGv8iQjQCuU59S56EV17Ny6BDRN9VFnXSEkxYmwIGG7xxNl1C+kC6pxQXdF/QRK1Vr/LrUajQ==; 5:m8Z/e7kkV+7xUCi+LpYA4G6PLli7Nu/2WxRa62+BfQUahPDuOd8kWFwBY5zbU12VJJd74/sz4xtLg02jbkEat20sugsv6TBlvdDUJ2hzDOrSB8R0MwLyW8Dc4V/4+MgfVKvypffQx5Yuj/wXKaSXfw==; 24:tHvSTiOojEX74lBdjiWj3XPYSWWqt9L8fpKondqKeRCe1obmxcArgCvG9W+EcWAbD9LQj6fkjBPahFVMeyyF4NmvD/QWDsZpWlZ70z4gGws=; 7:x23Rfh/qqrbdmXAx/1geNY+M1TdZUdDueQHPKzOnJQK8YKiio2nN2fbL1uvSGU6F49mH3qFll0QXV4KX3GjSkUI4PLgsozvxauFF+APhbMXKQNZ3Io2fR973JuGJjitZ1M5m+I99efd4IDtAdfXdHd6vx6xJesPxW6HFtoPVf5bMu419zPuYaGUgcY99WniZvjAaXgzUzbRsIPVWTvQLn2HZrRaiWM5t6X6kKEbvlm8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2017 17:20:49.2507 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3550 On Thu, 2017-08-24 at 12:32 +0000, Joseph Myers wrote: >  > > Earlier discussion about tst-mallocstate: > > https://sourceware.org/ml/libc-alpha/2016-12/msg00527.html > I think Florian's suggestion from that discussion is a good idea: generate  > a makefile equivalent of abi-versions.h, so that you can write  > conditionals in makefiles that are equivalent to SHLIB_COMPAT conditions  > in C code. It is not clear to me that I need a separate abi-versions.h file, the tests are already including shlib-compat.h and that includes the existing abi-versions.h.  Here is a patch that I have created and tested, if the approach seems reasonable I can submit it in a seperate thread with a ChangeLog file.  Basically, I created a TEST_COMPAT macro that is almost identical to SHLIB_COMPAT and then I used that to ifdef the test.  I put the macro in shlib-compat.h, maybe it should be in a different or new header file but I liked having it there so that it was near SHLIB_COMPAT which it is based on.  Testing on aarch64 looked good for both ILP32 and LP64 with ILP32 doing the dummy do_test and LP64 running the original do_test. Steve Ellcey sellcey@cavium.com diff --git a/include/shlib-compat.h b/include/shlib-compat.h index 41eb362..d872afc 100644 --- a/include/shlib-compat.h +++ b/include/shlib-compat.h @@ -97,4 +97,14 @@ compat_symbol (libc, name, aliasname, version); # endif +/* The TEST_COMPAT macro acts just like the SHLIB_COMPAT macro except + that it does not check IS_IN. It is used by tests that are testing + functionality that is only available in specific GLIBC versions. */ + +# define TEST_COMPAT(lib, introduced, obsoleted) \ + _TEST_COMPAT (lib, introduced, obsoleted) +# define _TEST_COMPAT(lib, introduced, obsoleted) \ + (!(ABI_##lib##_##obsoleted - 0) \ + || ((ABI_##lib##_##introduced - 0) < (ABI_##lib##_##obsoleted - 0))) + #endif /* shlib-compat.h */ diff --git a/math/test-matherr-2.c b/math/test-matherr-2.c index c2fc5e6..667e9be 100644 --- a/math/test-matherr-2.c +++ b/math/test-matherr-2.c @@ -22,8 +22,11 @@ #include #include -#undef matherr -#undef _LIB_VERSION + +#if TEST_COMPAT (libm, GLIBC_2_0, GLIBC_2_27) + +# undef matherr +# undef _LIB_VERSION compat_symbol_reference (libm, matherr, matherr, GLIBC_2_0); compat_symbol_reference (libm, _LIB_VERSION, _LIB_VERSION, GLIBC_2_0); @@ -45,5 +48,12 @@ do_test (void) acos (2.0); return fail; } +#else +static int +do_test (void) +{ + return 0; +} +#endif #include diff --git a/math/test-matherr.c b/math/test-matherr.c index 34856f1..927433c 100644 --- a/math/test-matherr.c +++ b/math/test-matherr.c @@ -22,8 +22,11 @@ #include #include -#undef matherr -#undef _LIB_VERSION + +#if TEST_COMPAT (libm, GLIBC_2_0, GLIBC_2_27) + +# undef matherr +# undef _LIB_VERSION compat_symbol_reference (libm, matherr, matherr, GLIBC_2_0); compat_symbol_reference (libm, _LIB_VERSION, _LIB_VERSION, GLIBC_2_0); @@ -44,5 +47,12 @@ do_test (void) acos (2.0); return fail; } +#else +static int +do_test (void) +{ + return 0; +} +#endif #include