From patchwork Tue Jan 12 17:21:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 41697 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 353243896C06; Tue, 12 Jan 2021 17:22:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 353243896C06 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1610472120; bh=0rgsnD521ICO1RxuXKoRrhHJ5Ts3KFs/IK6UE1EozgY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=vbVIBSu/j0D9H/mK9DYnSzcl3WOoBohsEYirS0xA8fk4KZ6zz1NqMxkU/BwdvSXCl j4fqK/9D42DD4ZECHSoj63nsYCf5TbRnckZg+X7PzSy2Dh09xZMZ179y+tKuTa4hY8 u3iIsPxxU+m+JKwjGuCZRhPKvfbR6wBVrblZJU7k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2086.outbound.protection.outlook.com [40.107.21.86]) by sourceware.org (Postfix) with ESMTPS id 86D483894C33 for ; Tue, 12 Jan 2021 17:21:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 86D483894C33 Received: from DB6PR0301CA0057.eurprd03.prod.outlook.com (2603:10a6:4:54::25) by AM8PR08MB6340.eurprd08.prod.outlook.com (2603:10a6:20b:368::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Tue, 12 Jan 2021 17:21:55 +0000 Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:54:cafe::4f) by DB6PR0301CA0057.outlook.office365.com (2603:10a6:4:54::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9 via Frontend Transport; Tue, 12 Jan 2021 17:21:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Tue, 12 Jan 2021 17:21:55 +0000 Received: ("Tessian outbound af289585f0f4:v71"); Tue, 12 Jan 2021 17:21:55 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: acc479350b5bbc9c X-CR-MTA-TID: 64aa7808 Received: from 7fdb225fd77d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 59DBADA4-EFD8-4151-AA5C-430F2911AE45.1; Tue, 12 Jan 2021 17:21:49 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7fdb225fd77d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 12 Jan 2021 17:21:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NWvCtJpQ+UqyUM96AlxUEGUX++LqBX8aCZKuh8choiAc1Ze/EI7vhNjrDJCtisP/evPopZnYm9PKI5zCU5gjAxzn7XSuRc+hayYwJaFQXZhZzk31El/wH4NXc2AvBt63kt6KsIPgI0sXL25XCE1FTooAhgb39bWYjSkkgDP+VCV3TeBFoeYXbcZG1q8Uweriy6YP1Yklb0N59kr69vwIHd8lA216sw2SMk7MPpz8mNYVwQgPN3EdtlSSnFcXcyj1t0gFD4FW6He33qnObWoTT+8/4uGYYS4DeovAYf6NvP4yQMmeCHHI9hnMkGPHYuVbv4LLy0gUeyyUyq26vpn96A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0rgsnD521ICO1RxuXKoRrhHJ5Ts3KFs/IK6UE1EozgY=; b=m9lInySF+78WvLMRmhZlB4NmxeKMnjh75g9enIOj0qhQgh5JjkJgjckI1SY1tzXVaD/OVQVaYtYSir2aQ19KfK1W1PKNlmYGYpkb6cHDQngMqqFENvRHp8njNAQJO2v8Qa/MwvaOuR6dpiUp3M5i7nCcmVPqlDcMIOLyeZz+pn0oXdPUprvJ2oaLwpRdD0JwNoU4Qh0oCnqrVzZ0SEWRAh66L2o3B3WZdmqB3qqdvWToHCT6OurEBihXhe50NK28pNqBeG8kGNlzDkG9ClLburvDKUGEZCzL5RRaSxBUc8Nk4LP9I23phyDpLSAmTLAjgSWlsGXWyuWNn3e3OpVHkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) by PR3PR08MB5753.eurprd08.prod.outlook.com (2603:10a6:102:87::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Tue, 12 Jan 2021 17:21:48 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f%6]) with mapi id 15.20.3742.012; Tue, 12 Jan 2021 17:21:48 +0000 To: libc-alpha@sourceware.org Subject: [PATCH v3 1/5] configure: Require PI_STATIC_AND_HIDDEN for static pie Date: Tue, 12 Jan 2021 17:21:42 +0000 Message-Id: <5a446e7a422bc4edd49384884106383485d05c08.1610471272.git.szabolcs.nagy@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: X-Originating-IP: [217.140.106.50] X-ClientProxiedBy: LO4P123CA0323.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:197::22) To PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (217.140.106.50) by LO4P123CA0323.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:197::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Tue, 12 Jan 2021 17:21:48 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 97594e96-7a10-4152-66c2-08d8b71e8f93 X-MS-TrafficTypeDiagnostic: PR3PR08MB5753:|AM8PR08MB6340: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: h2OaUqozJgGlTjMNYB1keZK3B/aYyXLz2PT7XUORah0CdAmROxD9l5cBEKdFX7rNbgNC7eApDAoK9DRrcMWbUGHMKg5o3iGFbS2DBTggbc+huVHYkuMPVz94BrndPzzB2orofIDnn1sqitGenyV4jV3xVBONQYmPCU9DbauxNh1E0Ni3aQ+/16K4eYiaSIsSeQ68Eves34lYs/RuYChHp8LdBKM3WDomzbQK6vENHUiUjeGFinpJVyma+YkBtf8Kr1dxBKv5/jdmOhpTF39xLbwGRWFWbbcZOAe4MDxbIFt5d/RA2p3E3XS48RyJilVM832kIGS8Bp1dDgVZfrh0RDSR3K4NibgBY91K+MwSWt8LMWDy9IeGRWEX9cnXHBLD+yce60DIDeZ5kpce6eVRCOZsLH0OWezZv23T/vMzpYVHuasg/6EcIQOtBFlF3kGtPPZnJqJlFcmst7m2AzK2Mw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6320.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(39850400004)(346002)(366004)(396003)(16526019)(26005)(6916009)(86362001)(6506007)(956004)(36756003)(83380400001)(69590400011)(478600001)(2906002)(8936002)(186003)(66476007)(6512007)(2616005)(6486002)(316002)(5660300002)(66946007)(44832011)(6666004)(66556008)(52116002)(8676002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 2ssJVcJeLFJwyu72pD+8paJ1IG6bobgfJNB7nCbHj3Abh9Us9cGMg/ythIaZOQT42gJI/KJMGQo4zz4KigQ5LPI2yVHxZhSKZfukAPHypdnaZhfDyMIvByZc5II6lDmSaS/0k4ZsTQ8ItzWrptDpEZ5ki8Bvt1kGq1OGTIjvPTsoVd6BB52nOwPK/oALkOwCooiktbLrKfQPJ6KhoBp82iZWu5rsRzGE3wSGMpt0VhSInt+XiAoAHt9XuxjmDNcS9orJdGW3yZTe0tdR1r+jfD8tZZ5PgaKQAHvNuNCu83oI32BCJEuobKXGtEcBwPre9K9PuaG5+14QS1AS339SPAx5xdN5PVJcwEV+74gc4y+YOa2i08nzqGiVgiU1yziluSE+2w+/7bA2yYC73H72bVTM+77IqqHsj/FxmL0pjJfSLhKN/VmMu5MyYyTIx0pEaZdd0DninplvXvWC9q2x8UYX9UWmcPGQUAVY7wSz3YNrAATPLUXHyxMjBYkRsEb1C2/0yUojlY0fkLtXX4GKHEhWl4dElWXQSIv1hBWipttbL9tnQQUnnyxHJyfLsMu0lOGbuulH9CEa9GBpl02ENeLiqIcoX7ZO8RrS5rqsV0+N4c6N/DQtPx/ohxQPqR7W1UUniWPe7T5ty/Vx1V3/t/RiPXi0xs9CmApjs2473iis71fZ9nXa7DaU0YWNEzo2s3iHoWr6fj+45+ZA69uuUdcnSBhMEPvI9ZGwUvui8QcGemKESpVMa3TFF402nQX3exqn3Ma6T+NCK8y8ey2D1leDejirPYcyYwgQ2QUH7j99bPhB28iNsfQVoMxyoHY0UtbyZq1sdz6mABq/14++DQzqLbVsHn/4d1juSK5lE960giA9xchD/4OXGsAyhyDXZpeW8qqX645hbHTqA2aS2KDwHIZEBv8IxaAe4uglbabg1uXOoNS3V1p7W5STvbVz2kXlZl6hVnb1nhNT+NMQu81/1IQW4VSNKFRT8l77UhrJaNjI4sYvlbk/wmTlBEBI X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5753 Original-Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: ad406d9b-2beb-492a-6ba6-08d8b71e8b69 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: af9PigUYPPtwWrpezBfXBmnjpbK1irKkfILYsnmc1s6AdbVY8byPahSaOGqkZuDMb5LPPbOK1x5zTb511kAO9eahvzv8rU/rASZrqQE5FtbTpnXGNOGPil0D0z9sOOJXQDZH1/G4ZOIrn6T1LNt5U5WomePu5mtsXQsoGgjQpjBrSSFFt91lplKjZWjx9Id2A1oGWWbQjMepoggeATbY2AIgEs7iqm8LDJkD6pYgJ5/W6KJgtghSKlITWs8svDlOQPp8nD51ceudRcyg0skF6ayMppg8h7Z5vrTIfzQH8GzhZZEnfFSRrgjhGK9UuFNVfy7mA8KgqGAPKYTzyP4/FL5RRa3uuChclgnvY1jDHmzEN0K83IKbvPK7CfMIvi59108S5V5u991B9edxtbuT1qjVgt2zNTEMogDvxe+rQ5y0Opkm0NljG0/sTaTIfsaS0SebcWNshO2wl/6G0R1a9WG9q52m7jsm/izCZryywm1RbgythaKu/attVzj4o0W2BmVgNm1NP/FkB84ar9v12g== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(396003)(39850400004)(136003)(346002)(46966006)(47076005)(83380400001)(6666004)(86362001)(2616005)(478600001)(82310400003)(44832011)(336012)(16526019)(70586007)(316002)(70206006)(69590400011)(34020700004)(6916009)(6486002)(82740400003)(186003)(2906002)(36756003)(5660300002)(956004)(6512007)(8936002)(356005)(6506007)(81166007)(8676002)(26005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2021 17:21:55.8559 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 97594e96-7a10-4152-66c2-08d8b71e8f93 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6340 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Szabolcs Nagy via Libc-alpha From: Szabolcs Nagy Reply-To: Szabolcs Nagy Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The glibc static pie self relocation code relies on that local symbols can be accessed without dynamic relocations in position independent code. Reviewed-by: Adhemerval Zanella --- configure | 14 ++++++++++++++ configure.ac | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/configure b/configure index 49f7b32b52..81fd116d87 100755 --- a/configure +++ b/configure @@ -6818,6 +6818,20 @@ if test "$static_pie" = yes; then if test "$libc_cv_no_dynamic_linker" != yes; then as_fn_error $? "linker support for --no-dynamic-linker needed" "$LINENO" 5 fi + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef PI_STATIC_AND_HIDDEN +# error static pie depends on PI_STATIC_AND_HIDDEN +#endif +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + as_fn_error $? "the target does not support static pie" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + # Default to PIE. libc_cv_pie_default=yes $as_echo "#define ENABLE_STATIC_PIE 1" >>confdefs.h diff --git a/configure.ac b/configure.ac index 341d4eeac2..8b7c99001d 100644 --- a/configure.ac +++ b/configure.ac @@ -1835,6 +1835,11 @@ if test "$static_pie" = yes; then if test "$libc_cv_no_dynamic_linker" != yes; then AC_MSG_ERROR([linker support for --no-dynamic-linker needed]) fi + + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#ifndef PI_STATIC_AND_HIDDEN +# error static pie depends on PI_STATIC_AND_HIDDEN +#endif]])], , AC_MSG_ERROR([the target does not support static pie])) + # Default to PIE. libc_cv_pie_default=yes AC_DEFINE(ENABLE_STATIC_PIE)