From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60059.outbound.protection.outlook.com [40.107.6.59]) by sourceware.org (Postfix) with ESMTPS id 9FC7B3858405 for ; Fri, 11 Feb 2022 12:31:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9FC7B3858405 Received: from AM6P195CA0045.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:87::22) by DB7PR08MB3579.eurprd08.prod.outlook.com (2603:10a6:10:46::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.18; Fri, 11 Feb 2022 12:31:22 +0000 Received: from AM5EUR03FT005.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:87:cafe::92) by AM6P195CA0045.outlook.office365.com (2603:10a6:209:87::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11 via Frontend Transport; Fri, 11 Feb 2022 12:31:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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 AM5EUR03FT005.mail.protection.outlook.com (10.152.16.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11 via Frontend Transport; Fri, 11 Feb 2022 12:31:22 +0000 Received: ("Tessian outbound 741ca6c82739:v113"); Fri, 11 Feb 2022 12:31:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: e8e83591ab4cb9d6 X-CR-MTA-TID: 64aa7808 Received: from 457d44962565.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 34DDC72F-06CF-4B6C-952B-2F0761940782.1; Fri, 11 Feb 2022 12:31:15 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 457d44962565.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 11 Feb 2022 12:31:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AiCBqByEcMW535Zzw15eS5YxUzTafhMffuOV3d3IWpf2T3SWSJXDX1mCmriei1otTAisnQ3cYzrHv8Kn2AJG2b0P732SuCffagItf/nDmJgXOL8YiuIuMtYWdjPHOXbAmzehAuf9ajxbq+CIH4Yq1rxuMgM6y3LijImrdNBPOSj+93UYHehyKKf4pcNBmylGyV2vOCWSqAmDUnLC8Do1fpR91Tk6oDxxoayDC0PXDm1gDYqrv6p+UY1JeRHPzXPOB+cBGHViFJgRuGFMJeXn2X01X4NtX2qmp0YTSJjPvj28BID872PDL9brLPtiakjo09F9sq6a2ZXvSijShgMRGw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qwXfH3i9fS0Ii4tJMiTYlsn62cH9wF1ua6bufr19OCg=; b=CHjcu8Ta4kQdr7lUSUktfr4/RQAeFXe13hPuf70qiLdNVWCjGC6LkGNOiUNPBWk0ZT2C5AsC+sXaH4gAUqpYc3l+6PpPLWaq2ZeDbAoQqGFjUfAhc8MIE/0VwfocoJ27bzCWCypk0ra/h1OtD7lh1rJ2h05C0gjdHVMX5NUY6XcqUIJ2uyIs7ytlHo/VURWhwm9mk2rxOyX0DL2H+Iwtil9wvHZWhwn5whX+yx8ZyTm+gMXShr9Mnm72clcq0f0efnDy+t2zzi+kJMWqouyMC8chn2VzmLWxdjtWK+N1Ht4LYJZKLvmFy/SI9BP3exhSQUqDrkCKfhskoY74qHP+aA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by DB6PR0801MB1671.eurprd08.prod.outlook.com (2603:10a6:4:3c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.17; Fri, 11 Feb 2022 12:31:13 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::dca:9146:2814:3f63]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::dca:9146:2814:3f63%7]) with mapi id 15.20.4975.012; Fri, 11 Feb 2022 12:31:13 +0000 Date: Fri, 11 Feb 2022 12:31:10 +0000 From: Szabolcs Nagy To: Florian Weimer Cc: libc-alpha@sourceware.org Subject: Re: [PATCH v2 5/5] Linux: Consolidate auxiliary vector parsing Message-ID: <20220211123110.GB2692478@arm.com> References: <151c5398adbbe538a275ea5ac77705b0abd0d748.1643886336.git.fweimer@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <151c5398adbbe538a275ea5ac77705b0abd0d748.1643886336.git.fweimer@redhat.com> X-ClientProxiedBy: LO2P265CA0447.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:e::27) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 8bc5a29e-0908-4bee-d6c8-08d9ed5a6971 X-MS-TrafficTypeDiagnostic: DB6PR0801MB1671:EE_|AM5EUR03FT005:EE_|DB7PR08MB3579:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6430;OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 7H1l+POe9YSTeEbrnBw/4MQdfryCy/63WD7XbYqN7JMKk/lD7tNuZ9MoqEzjGNh/tX5+xlGLrun3pm5eu/iSkyLlckpjA9cm/CZ8kZb1bshFcuTk2pbsxckQ2iHzskESAuTsgeZdTtxbbSSsjRW6rwdhR6GoeXp/ivPNbr6W9DJcpj9cq7rNV4BI4iOem2E4iike0fW08qgELrY2H9WN3JrhDXhUCQU8QjiaUNFkKgT8Ge8G9fJ+qAX4r2jtl5vAuDmfIRlHkhSLPulx14hUnpg2c4yQ52GxP6LRofJGJyRKm7ulJTFP6+cYTQdTZ9c5nSxzbc40hJPNZH/He7CkKkStzJH91Dzq5negkCGXSA8Xj+DSoLk67fxcqasmZy/OWCbcujdtK7W/yxWBsi2ARJXhk1kqYRxC+tYbn2g7uopaTpSaarz/jPxCAgWjBNuuUflTsx1Aj1IGELhAjk25Py9MUptsH2yOzUUeaiQ5ptzHrNV3GVrTPkvUL68HkroJci+4rgb2UXwDN6jqnleBh73V1PyVnvu6JkeA/iFMvclUULBIyCiXXaLHuCu/JK0QVjoafvo7MHSR/VQZDwjAQ7T2IUxAYvT1r4nS15N++w2pHM/yt9+6JOyOrvHzELZnpKfnIY2xS31efHivuqAgiMOz6ZFMzb67dnYRP+yMkzfzzkCY3znQjiFt35i2amiAHf+MAe3sO+KC0HAJvZONGA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7179.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(26005)(5660300002)(186003)(2616005)(66476007)(6512007)(6506007)(8676002)(66946007)(66556008)(33656002)(8936002)(4326008)(1076003)(38100700002)(2906002)(508600001)(86362001)(44832011)(316002)(6916009)(6486002)(52116002)(36756003)(38350700002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1671 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 149180f2-bfb3-40c0-71c2-08d9ed5a6415 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KOOovLcRiiRtQIU7bEC5l89s4jzwNMG58bZqdTLF2VVlpmeVN6UspbvDRmxe6SNfDG8NY1oTgbLPClaA6BPq61jitdNyPSNKfNY5MriZvJqYPgO3RcDzp/PHvZACznp33UQ46FU0g06Lzk0/mAJ/Acs4b+vZIgA5q6XYLYiwOA63wektCdgsU6e02/44swC//wiXfQLeKcdD4nsPuzPNRr1m3fAG0wKOdXm55/xP7anp0JVpNkTOcugDWnSd8ihIuuqkEEhJTYMStit+tjtEQthIydzkpQ9Fi5nkwLDz+G7UxpwGlfvcI8xlxuHxRRX0uoSY9YPJcivlOFm6oH16PUp3WqwkQH6aej/jhcn+POIeCGUnNx69zzurM3yCeETJsV3DL4r34UhTQ9sJ4Qzb5qBjWCB87ikWxT8h/vzwLrO2qB0XmwoJXuOd5Jn4nNUJLjV6DVG2kynxSeteNiIgIpb4/zDihdAu1k0GILb8VKhOtadxs6pVTcr/zJIsd3iSKM+t3mia/xdMPmP0VcbgiLoHM4BkS06ICCSTYrsciGFftoQpgAtwoRpwb38X3/8GUGS0qCRE/YMNXXxqepli7+4AuosHKzOEvmFc7D06XMt+3Z4J0uyhjuuPTdo73uz8gEwk9BPqbUpJa4AE/hjOEA+CvNnqflZ5ot4nB6kyMD7NEFME0rVWzTyW5dgzit35 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:(13230001)(4636009)(40470700004)(46966006)(36840700001)(2616005)(40460700003)(36860700001)(336012)(2906002)(6506007)(81166007)(26005)(82310400004)(47076005)(186003)(86362001)(1076003)(6512007)(70586007)(8676002)(8936002)(70206006)(356005)(6486002)(316002)(4326008)(6862004)(44832011)(33656002)(5660300002)(508600001)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2022 12:31:22.0939 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc5a29e-0908-4bee-d6c8-08d9ed5a6971 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: AM5EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3579 X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-List-Received-Date: Fri, 11 Feb 2022 12:31:34 -0000 this broke aarch64 static binaries: The 02/03/2022 12:08, Florian Weimer via Libc-alpha wrote > void > _dl_aux_init (ElfW(auxv_t) *av) > { > - int seen = 0; > - uid_t uid = 0; > - gid_t gid = 0; > - > #ifdef NEED_DL_SYSINFO > /* NB: Avoid RELATIVE relocation in static PIE. */ > GL(dl_sysinfo) = DL_SYSINFO_DEFAULT; > #endif > > _dl_auxv = av; > - for (; av->a_type != AT_NULL; ++av) > - switch (av->a_type) > - { > - case AT_PAGESZ: > - if (av->a_un.a_val != 0) > - GLRO(dl_pagesize) = av->a_un.a_val; > - break; > - case AT_CLKTCK: > - GLRO(dl_clktck) = av->a_un.a_val; > - break; > - case AT_PHDR: > - GL(dl_phdr) = (const void *) av->a_un.a_val; > - break; > - case AT_PHNUM: > - GL(dl_phnum) = av->a_un.a_val; > - break; > - case AT_PLATFORM: > - GLRO(dl_platform) = (void *) av->a_un.a_val; > - break; > - case AT_HWCAP: > - GLRO(dl_hwcap) = (unsigned long int) av->a_un.a_val; > - break; > - case AT_HWCAP2: > - GLRO(dl_hwcap2) = (unsigned long int) av->a_un.a_val; > - break; > - case AT_FPUCW: > - GLRO(dl_fpu_control) = av->a_un.a_val; > - break; > -#ifdef NEED_DL_SYSINFO > - case AT_SYSINFO: > - GL(dl_sysinfo) = av->a_un.a_val; > - break; > -#endif > -#ifdef NEED_DL_SYSINFO_DSO > - case AT_SYSINFO_EHDR: > - GL(dl_sysinfo_dso) = (void *) av->a_un.a_val; > - break; > -#endif > - case AT_UID: > - uid ^= av->a_un.a_val; > - seen |= 1; > - break; > - case AT_EUID: > - uid ^= av->a_un.a_val; > - seen |= 2; > - break; > - case AT_GID: > - gid ^= av->a_un.a_val; > - seen |= 4; > - break; > - case AT_EGID: > - gid ^= av->a_un.a_val; > - seen |= 8; > - break; > - case AT_SECURE: > - seen = -1; > - __libc_enable_secure = av->a_un.a_val; > - __libc_enable_secure_decided = 1; > - break; > - case AT_RANDOM: > - _dl_random = (void *) av->a_un.a_val; > - break; > - case AT_MINSIGSTKSZ: > - _dl_minsigstacksize = av->a_un.a_val; > - break; > - DL_PLATFORM_AUXV > - } > - if (seen == 0xf) > - { > - __libc_enable_secure = uid != 0 || gid != 0; > - __libc_enable_secure_decided = 1; > - } > + dl_parse_auxv_t auxv_values = { 0, }; > + _dl_parse_auxv (av, auxv_values); this seems to use memset now on aarch64 before irelative relocs are resolved in static binaries. which causes infinite loops in the iplt (i've also seen segfaults in the build log). i wonder what is a clean fix...