From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754832AbbLVRld (ORCPT ); Tue, 22 Dec 2015 12:41:33 -0500 Received: from mail-am1on0091.outbound.protection.outlook.com ([157.56.112.91]:37184 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753881AbbLVRlb (ORCPT ); Tue, 22 Dec 2015 12:41:31 -0500 Authentication-Results: spf=fail (sender IP is 12.216.194.146) smtp.mailfrom=ezchip.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ezchip.com; From: Chris Metcalf To: , Al Viro , "David S. Miller" , James Morris , "Andrew Morton" CC: Chris Metcalf , Sudip Mukherjee Subject: [PATCH] lib/clz_tab.c: put in lib-y rather than obj-y Date: Tue, 22 Dec 2015 12:41:24 -0500 Message-ID: <1450806084-26727-1-git-send-email-cmetcalf@ezchip.com> X-Mailer: git-send-email 2.1.2 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD025;1:55VZbfH2gA5eGsIkQA9qh8Xrcijeu0NnFFItQzalRzinSpxu7xswB8RqVowyn0ngZW3v1NOZMzVsA+MrKzqem4WzD2INQNpdxuFVxmGdVGdG5Hr81OuJO78vZC4v3rM9FW32CjH3EQhSD7MziKJTPgUqNLo6nlniTx+HxHEtyLgmLfiz89k/EKfOzuWAM97FoXjjc/4yFa7jReZlAyV0EAv5IX/fON8zTS7V66xOIoW93yOv7+9ZhRAfsmHWw5YBRGEwRIWHuDjYXzQombNhAMm3qNEELEmBJJ3iyEMIwD9wxPH4eMtp/Us9r2rvFXsqI4szky7ulqLtW7r2K9OuW8nUCDkOIF90AWwuNq2tbLXstbmr6TrH+0J6haJ+txHfawu2LRWi+DVvIjJpUIw1vA== X-Forefront-Antispam-Report: CIP:12.216.194.146;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(6806005)(5001970100001)(50466002)(48376002)(50226001)(50986999)(229853001)(36756003)(104016004)(11100500001)(189998001)(19580395003)(33646002)(5003940100001)(92566002)(85426001)(5001770100001)(42186005)(106466001)(1220700001)(87936001)(47776003)(86362001)(19580405001)(105606002)(586003)(1096002)(5008740100001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB3PR02MB122;H:lab-41.internal.tilera.com;FPR:;SPF:Fail;PTR:wb-fw1.tilera.com;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;DB3PR02MB122;2:pgxbWhh2cQLhn+q1dsNFUIFZaFMzWm0GVLT+eP6DXboYle0laJausablhzWraKaBZPyCWQnUFlFlO7pfikCKVz9AqpOAN3ChhUUVufnzkQM/qhg3J2jQRiytfMExfURc3LCtD2VWCkIHkRuAdD9/Mw==;3:vtsaroXDRcJGQVlt/MapbIIQ5LrIkbCOgQrDYLB2NvIIG+ZZwA/llwaqWre7il17xn1BkHRs4WULatJH7AsFy+U2Ip2A3abzbzjl9neNkC3riz4LMwJaFfuK08cHiBqx5tClrAP5doIxRuQcL/GEv/zZAKR9mewgmiz6EtfZQRQr231HEc2U45T6yqESDNj2gaqbWaUun0QJQFN9QpCa9vZrZqeG/NMUVfGTCCCWkSM=;25:YwcUIILI2jk8T3Q7mGiaW2cMXCEe14/EjWFydCLt2lC+IiAfNgTMDbF9kLNaYDfVXo6X5i3MxxYMyas1FsQ/A71xaMAZSChRCU6nlDUPAwhqLeidiloKNslBTJ6vYOmpzHPZqamwy6VbnYiZ1iszDBmRcFs9w0EBEryRxmJhAxoV/qoy/EzOTNiK8FinYQnzPXDZyEwzPK2gN0XoEFQnfA7M02RGQwQsbyV4fr0sRzuw2VOGqauDpN7n0wU1T89KwLjmFVBLbuqDPv+S1WNNTQ==;20:fTC++pRx5N99EmErI1kwwSSEW1grY4Fd9iFATxmAUpBx3zQ/OSapi1S3cVJfAkeanodwIjxna5poDqozWlxPB4nTczhZtHyUKlGnax0MQ14O1C52taqNn+YOGj0eepWq0j2qAVWbUKDvNUH1BC+IWkfsbOzWS+PjWtXcDt+CnGI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB3PR02MB122; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046);SRVR:DB3PR02MB122;BCL:0;PCL:0;RULEID:;SRVR:DB3PR02MB122; X-Microsoft-Exchange-Diagnostics: 1;DB3PR02MB122;4:kP2PYaibEKGnn8Gb7/nmabplXm1RZ7UXYj7u7EEtMDpGZuMCpyamRCMY8YT6HX6udsF0jczKtRArZ/Oeb2lhcvkqjxMfFwbwpf4FNnBXJ1PmFhWC+zZs0SWcx+jW3pO9svQAvaqHdfBhWGy4gszvTsIzhDs6n7J7qDVxfkSY7YYrmXcUn6fx67zBcU8QRYVrzbK6ph1S6GtbLeXXyKrxW2QN6pB+TaCwy+bayElCZQpfODGWNSnRr2g1Dt5qQg3VeX/xfQ3G8t/6FWICmUUmQ6ZyIX2xq4LdKk+8RS44WhsiNtzmi8bCMDYB/UrG80SPoTGGQ43qIYHXKWV2qrLzgKYpP/C2qArm73PcJyU/2WBxOq8cchvuOR64aSpycUO5K8VNx2Vd8FIP1qFAa1LyamUa/q1CadWL82IEInyeFIRLfsT/zPxtCZMacIX4IpfB X-Forefront-PRVS: 0798146F16 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB3PR02MB122;23:t6J8XTz1Z/TyeIM31rZwJneq638C+rH9xU5o7U5/VS?= =?us-ascii?Q?Qk4xCHhxLZ8qELCvJpcfHxbhNbuNY/7VRJ0Q2OdEIyEZCLQORmtw1wnOyBs6?= =?us-ascii?Q?kTCfmJH67GnVPzSuP+g8SspQV5tXKKZf/H4Olgdqtb2AEoQbDj9ZUwk5XaCV?= =?us-ascii?Q?0AsmUHJHMLci00tdOM2XgrsItey9EUwAlM/pcclMbjWIScCYIP84111DjHAt?= =?us-ascii?Q?YqWgtXybWRRc4Uw8LPhll6NvqWWcHd04vTH3ecn1bcNMH8dvQYMh/1fk9Y6n?= =?us-ascii?Q?ftH6jLCR1wU350vqpHEk02D36Ouf837lx8HN4HS0WGoiLrca25wbyNDOYFUS?= =?us-ascii?Q?taJhw6Bzop79HxRlvCdZWcTTQfQbv6pLZGf9nWvfAY4dprpTx5/+D/G7BKn/?= =?us-ascii?Q?qMxJaHut7IHQRycEqR2/c6+G5z6AITZOy5o5y39/9VIDZq/jtZkzZKf8gBPv?= =?us-ascii?Q?VehGG0XWgkReesnHUVE464fkH9l4HVm+FRWw87e8EiJTRX8UBiLTZhD12ajV?= =?us-ascii?Q?ujnCATRGmvNGrHQkTEashtiUt4QeKGYe51BI89pHKGJjbXsJ8KIKHymYuS/n?= =?us-ascii?Q?IdC2GSRfNo1sL+SJcPjL5Rpqog/CqHbeCnLq0xfwLUCy8/FdrAwJWD77WLIq?= =?us-ascii?Q?FWIAmHW/7XEtToRtUlE2hxxDXmE7oNeG5BzRAPzrawwq65vltoQs6Tkf7Ry7?= =?us-ascii?Q?AXtRGtNxfk1rpIXjCiHdAyKHmvpvSuqE1wx3j+aAWf6feFGCaANRfYgR2UpW?= =?us-ascii?Q?0uld2s2WBtF4Jkg+QJxtBatMO9xuUnxcy121Cu8CBKfdq26Cwrhyxgyqhh/7?= =?us-ascii?Q?MvCLLkacytn6+YoME0I7aZaaZt5uKJEonUN3iiBZvkZ6ocgFwhqFl+Oxgwsi?= =?us-ascii?Q?oWWUtBHTBBPXZgdlpoY1EWclRROQOyrKQw1ffSi7nDU/7AjkZanIEccSFTCW?= =?us-ascii?Q?peRPtV3gNkb+k8TxmyYW+T3DJDIssSXfNmzFPehw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB3PR02MB122;5:TRU/eLZX2aiRDSCfwu7LDboLO3VWhAECWQBxKggyXcNt7EGZ0QithepbGVG7tlm9dLalc5BO0rEAAp2qxf5JfkMhgMdKt1AnRDcIP7WjqVaqA+CQlvvBICt0XIBzaHcK3HSOwJ3T3jknrguqNkA2KQ==;24:1ee+7SPEDi8Ee2U/sOwfbYDInTsJzbKBjBuOna+SF3wnUV6u+hpDJj5nYOzSB6fOSh4YdfNZ7IqhfatoLJ9tY7dUM4N5Qm7qSXRjlW8Y97M= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2015 17:41:26.8526 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[12.216.194.146];Helo=[lab-41.internal.tilera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR02MB122 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The clz table (__clz_tab) in lib/clz_tab.c is also provided as part of libgcc.a, and many architectures link against libgcc. To allow the linker to avoid a multiple-definition link failure, clz_tab.o has to be in lib/lib.a rather than lib/builtin.o. The specific issue is that libgcc.a comes before lib/builtin.o on vmlinux.o's link command line, so its _clz.o is pulled to satisfy __clz_tab, and then when the remainder of lib/builtin.o is pulled in to satisfy all the other dependencies, the __clz_tab symbols conflict. By putting clz_tab.o in lib.a, the linker can simply avoid pulling it into vmlinux.o when this situation arises. The definitions of __clz_tab are the same in libgcc.a and in the kernel; arguably we could also simply rename the kernel version, but it's unlikely the libgcc version will ever change to become incompatible, so just using it seems reasonably safe. Signed-off-by: Chris Metcalf --- I have this in the tile tree for linux-next since it broke tilepro, but perhaps it makes more sense for it to get pushed through Andrew's tree or somewhere else? lib/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Makefile b/lib/Makefile index 7f1de26613d2..8487893b4deb 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -153,7 +153,7 @@ obj-$(CONFIG_GLOB) += glob.o obj-$(CONFIG_MPILIB) += mpi/ obj-$(CONFIG_SIGNATURE) += digsig.o -obj-$(CONFIG_CLZ_TAB) += clz_tab.o +lib-$(CONFIG_CLZ_TAB) += clz_tab.o obj-$(CONFIG_DDR) += jedec_ddr_data.o -- 2.1.2