From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0617.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::617]) by sourceware.org (Postfix) with ESMTPS id 86A5B3861847 for ; Wed, 23 Jun 2021 07:38:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 86A5B3861847 Received: from DB8PR06CA0015.eurprd06.prod.outlook.com (2603:10a6:10:100::28) by AM7PR08MB5464.eurprd08.prod.outlook.com (2603:10a6:20b:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Wed, 23 Jun 2021 07:38:08 +0000 Received: from DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:100:cafe::6b) by DB8PR06CA0015.outlook.office365.com (2603:10a6:10:100::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Wed, 23 Jun 2021 07:38:08 +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 DB5EUR03FT035.mail.protection.outlook.com (10.152.20.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Wed, 23 Jun 2021 07:38:08 +0000 Received: ("Tessian outbound f88ae75fbd47:v96"); Wed, 23 Jun 2021 07:38:08 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1447f7309740adfb X-CR-MTA-TID: 64aa7808 Received: from b0304bdad489.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 39D6AED3-E4F4-4611-A8D9-51DB0341657C.1; Wed, 23 Jun 2021 07:38:01 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b0304bdad489.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 23 Jun 2021 07:38:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l51Na+KKtGjXmHs0r1emsV6ul0ZSeWWyA0UPqBahW6BZf8yOvFa/bNpYgA9jYmbH4cSuLlY5Gb1cVAhCGvS7+BrnX7jSA35zB1wnp+MNAHVlne97ofm0e55WPHAQvWanbdxwaHTTpArtP4CXRFTZprmtu4rCuqaxt4yvT0B7IW3exOfdXU39bhlPx+kd6E6GzBA82pvzqS/lI4rs2BDpebjh9E8h/EEXoS7fNvwUDzsqY8vcz8qRXn7c0R89Wc1jwUVJeID8s6oGg14XQetC1j09smCM6iNw8v2OMHmDH+oHRVX0Jzc241P1A1TmFEc7wcsjSi9PSRcm5wQODDBq3A== 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=Q/c2vqM3E2UqJZJ8mAIn0CzA7C+XOoJ8m30kouLuXxE=; b=KfFIvBvVtV64BVekXf8gEd3xkHRdukCuf2/K9L2hB7MDGDGFi1p4AskZuAkdq9DQAxu++3Xp4TmsL08ndtJ0e3+cMjrhD1Bej0Qt45me1INITzEv3jBerv7sXXW90AZYnBfTr7IrmD2v13FRep3CnWo5gq2mnfpFlKYoOkw3zSNgnpXg9l7To4nHQytcW/o7Aw/Ifk/TX2qbkScKEIHGWWRtRrREE+76b3JMo7QfuoMtdUbMJCsOsA14Vd+9SOYC528DRosNlUBbZ8Xs8JKxMlKW6BC5Xxn9SGlofDjoUA/5cgOW+1Lkkvtw62SQEQ4tSanw20fIeaL4mpD8HxX6vQ== 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: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; Received: from DBBPR08MB6313.eurprd08.prod.outlook.com (2603:10a6:10:202::19) by DB6PR0801MB1637.eurprd08.prod.outlook.com (2603:10a6:4:3a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.18; Wed, 23 Jun 2021 07:37:59 +0000 Received: from DBBPR08MB6313.eurprd08.prod.outlook.com ([fe80::ada5:303a:de76:b0e2]) by DBBPR08MB6313.eurprd08.prod.outlook.com ([fe80::ada5:303a:de76:b0e2%5]) with mapi id 15.20.4242.023; Wed, 23 Jun 2021 07:37:59 +0000 Date: Wed, 23 Jun 2021 08:37:52 +0100 From: Szabolcs Nagy To: Jakob Skaar Cc: libc-help@sourceware.org Subject: Re: [Feature Request] dlopen_from function Message-ID: <20210623073751.GE13058@arm.com> References: Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.55] X-ClientProxiedBy: SN7P220CA0026.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::31) To DBBPR08MB6313.eurprd08.prod.outlook.com (2603:10a6:10:202::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.55) by SN7P220CA0026.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Wed, 23 Jun 2021 07:37:58 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ea42666d-b074-4d83-79d6-08d93619d873 X-MS-TrafficTypeDiagnostic: DB6PR0801MB1637:|AM7PR08MB5464: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: i2gFKX37YMPpeCga+PyZKn6t45PRqZxRTD2xC458rZnnEThf25HmpAqJWeAw6kAF0wldN4h8sahGRMxzSFscrQDul5Sc5A3iPNH7HRr1BOG/o0eX5OvZvscjwNzXeYIn8cgYwA9e2C5hC5LE8DGrP4KEy/ubg8mmYkVhWHAqRZZURCV7AcOzcVSF91CIEd2oaSnT76kFZP7JmY8p10M+JwshMBJA01Sq01N3tIcxPzyLgZXfuywWKHEkQt1Inle7HDUrZ8maewW0TV1CPvHA4770xqIY6EFsGxBGJe6k3NMJXgv/YrYcgmUt7wKTVX+sAOFF0IpaBDYxCMMB6oPUc3GPQu3SlkTd4/AlSGATSKSwplDwch5i1KaoCXCZwnIunPFNvaGRWxw3kwYLJTMi25sSaIJgjShsMfF5zkPpjMPE63U7ETuF7GiryjtxhaMxmN4GGq3Jqpk5PdqKhFk30g0LbHJJc4LCknmmVr0l6Ne4YOEETjIra9IfDLbF5anTogeFxm33XzDl0ctmgaNIBFvM0yMJfrr+Z1ZgO/o5LyH8N6ck33tJZXAIWAVEic0tg5jkeajwDqD6+pmz7w9mEVC2f+03rJQhOQaNyIBVH7K8oI5BiynFhER/8PIMzbxh7H6rsWu+d53FDZNhX79E2vuEYMp4UglKrNLyavVrbpthtFsZtQevTifP4XCoM4XBxicMgvjWbhT/+6OK2o+7DpUl+24mtZ2aQFBye6lsR7Vizf72Lw1nvgoh98sxJckx9RQMF22UOJLYJKXR093Xig== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB6313.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(396003)(39860400002)(346002)(366004)(6916009)(44832011)(2616005)(956004)(316002)(6666004)(36756003)(8936002)(33656002)(83380400001)(66556008)(186003)(4326008)(1076003)(478600001)(7696005)(8886007)(55016002)(66946007)(26005)(66476007)(2906002)(38350700002)(8676002)(52116002)(16526019)(86362001)(38100700002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dk5uZE04VlU5eU96dTNDWnhhSXUyOG9vTnBQeFBTdzBEeURPZFlScXFYMHEz?= =?utf-8?B?NlNldWRNQmtxUS9Ra1hCVG0vK0tUS2JTMFEzMlZxYVB5bzhoaFVSSHl1MnQy?= =?utf-8?B?eTZheU5oTXd1Q0ptR3Z6cDVsVjRCV1BnWFBXbm5ZaUg5SDlvZ2RtOG1LKzAx?= =?utf-8?B?dktscVFmaVQ2REZmTldneFJrNEtWNkZLQURXUTNtOHltM0Y3N0pEWlRKcTZs?= =?utf-8?B?UzZCNTQ5TzZPcm0wazMwK3JDN05WR0tGdmhCZmNJQXZ5bG1KTmY5Yk81MzE4?= =?utf-8?B?OVN6a1FzMkxGNktobDZvaFVkQk9raUhUVEdpbUExYlVucWcvQllLREl6bko0?= =?utf-8?B?YVJ5a0k3VHFTVit1UjBGa0l2UXIwUHNMVktGdGpTaW9hWkRzS1kwczlwdG5h?= =?utf-8?B?clZJZWdMSUZ1cWZVNEhRSkltcHJSUVdMeVowY0N1dXNESGgyNkNqVW9lY1Np?= =?utf-8?B?d2hTbEl0NWtaZysxMURvdy9mYklVVktOa0tZbXovUmYxRStiK3FwMGYxVHVE?= =?utf-8?B?bkI3S2NES0JQbTVlSDJQd2dIeUVUc0swdmRMZlM2WnNxTE9JR2F4OWl2S1RT?= =?utf-8?B?dkw4SVZwdjJhRnFsTDRIYkJJb0s2UEx0UVlaV2k0YkxRNlJRVzVyaE9POGJC?= =?utf-8?B?TVRWV3k5ZEVTcnBlOW9OOWhNSUEvL242bXZ4eXh4STlsYytNWFdMUFh4aW5P?= =?utf-8?B?VHFBTGVoaEtnYStSbWJJOENPaDNuaUJTRk9BcDlBNndLajkrUTdEcnE0Z0tw?= =?utf-8?B?ZVF2SEhhcllCVUUyUnkyOXpjcUU0Wkx0QVNmWU0zMlp5cUw2TVk3QTg2WlVp?= =?utf-8?B?VTFRLzZ0TURMK3BtMk1yVnI2OVdkbG5Uc04zUmVZWWNHd0dLeWtOSEtEZVRx?= =?utf-8?B?blBFK294Q05Ma05rRWVnaXpocWpRQmk0MVhjVjFMRWhaaXFKZ01KeUM1L2lw?= =?utf-8?B?TVlIWkxoZ0REdGxvSGFkbitGMExKTW84S0RCWG4rcXhQdGtORlhIeWNsdVUv?= =?utf-8?B?L05JTlFPK3JOSllFSDc2ZVdkelNleG0wdWJiSEZhdFc3ZUFUTmlIMXU4WTYz?= =?utf-8?B?T0tKdlF1ZWZlRUVnMjIyMmtCQ3dHdEVIZXYyVFU4RDJoNTBFdHE0RGtBOGJE?= =?utf-8?B?RFRZQjkxdkx4azFQK045REdsanM1b3FKMHl4N3l5VzdPS0o4aWpaL3J1d3ZX?= =?utf-8?B?TXVoT2Fib0xreXNuN0Fha3o2OU5KNGdqdDFxcExuRXdtcExpNmV5SFFDV0gy?= =?utf-8?B?UEd5dkNacXhTUlVIeTN5OGdOdzFBUExsQ3dCUEZHUTA1eDVZTnUvampqZkNm?= =?utf-8?B?eFVGWWxveUJiRnVzeEZoQWFzUXVBcTBDVHZPSk5rK05lR2VMODUwaER1alRq?= =?utf-8?B?OGJJQVlVMUE3NEM1dTMzZSs4dmxXTjJYcXlyQkpCcnhnaXJpRkJqWkJtbXpQ?= =?utf-8?B?aFo0blkrdWgrKzVobVJMeFZJa3FGZTliQ2tlc2l3UGpEcXNXU09KYUZNVUNM?= =?utf-8?B?NUQvQmJXaUNtbHhRT2h2dVJtZkxWaGJmZ0ZiOVNVa0pVWWhHeFlvbGx3bjNH?= =?utf-8?B?UW1iaTlOdjJxdkJ3QVpOSVM0OUI1YkNpcHVtaVVlWjlQRE94eG9YUk9DUW1u?= =?utf-8?B?ZTh0ZUFleTliZnlzOGRKb0J3MWxhdjh5ZDd5VlorVVRRTXdVZTZGSGhhemU1?= =?utf-8?B?N2xLNy9iZFFPRDJNd2Z4M1k3anQ0K1YwK09VVHU1Y2VsZGZJT3lacGp3Tjlu?= =?utf-8?Q?5uy16sV3PBzp6seQy0uL5PGS7d7QmFIZWAsFSQn?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1637 Original-Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 376a2bc4-7fcd-40d3-cc70-08d93619d31e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ctyiDm9p/6yl5+iAGu+LjfHJIrOIxV/Th9iGjAtjCVs41jWjqiN8vCX2Qt0ZvIkDfHd35yHndMdw5MgTvKyBkp3YgzuGsRNQ3CH3/iz/mfk7SIinabx6mvhddyKbRiRpeuVYR29tp/BRqf82FuRvrUDW2ukCq0N4WHMZBNvMlYxcMbmXr1MVJy+TYrcxincd0AoSmWHJOLNUljMmLzWM5QIA+K8lKfeK6iv2bfpQ4GCIQ6XLHLHNpmLd04U3v16aJHclQuddA4Dr/UKqHmuHbmF7OI9ighArtM47FJ1fg2oOHaeEZ19ndSWH9ZxcAmHR6dM2dwJuQadPcBbnCW7ttMTRbXHjHoRJnJKQOkBTysyR0dhV2OpBlZDTbLPgLWJR9nmOFP/TWonyrlNLWFO3CSeWm27bEd3xR01FtWrYB4Q7wR2PGWqQGBTIL8aM07kZIfvCEhf61Fbk5IIXxmXOBBF1BlyeFYKe6EbSQIWki6ydoDbL//MKtWJHHUVc82P4v2rszqO+wsAFYLmO3ZaQS6kQOwk1eMzy5PUvF6rCHs5YAZYbxkWT9JKb1dabMYeJq2j/H5o7dj1/p5dfEVV6/JX7IeTq9n7JyxiEXbjMmHk9p2b/CGX7CoKYzR0eprXNS0Tp0ljoB4J32f/GqGqus3kKW/tEgYuFAydK37ytjH3uIKmq2wTL03d9QK6KJ5moy7mVvvRlWoBWL4TQ+8BNRxd69+leeIrUG5tCMSk0SFPB7jhlrRUjVO1LiCyIITAtBoxBs3H/jMTvp4qdCsc2YTKYok6wsa/xZs0xsNDsIjnt9orENQgGphjQCLvTtq4AExQp+URFAX4XGiKI7uBVHA== 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)(136003)(376002)(396003)(346002)(39860400002)(46966006)(36840700001)(956004)(81166007)(70206006)(316002)(44832011)(70586007)(47076005)(7696005)(336012)(2616005)(356005)(82310400003)(33656002)(5660300002)(86362001)(478600001)(36860700001)(8936002)(6666004)(4326008)(1076003)(8886007)(6862004)(83380400001)(26005)(36756003)(16526019)(2906002)(55016002)(186003)(8676002)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2021 07:38:08.3094 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea42666d-b074-4d83-79d6-08d93619d873 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: DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5464 X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, 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-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jun 2021 07:38:12 -0000 The 06/19/2021 09:23, Jakob Skaar via Libc-help wrote: > Hi, > > The behaviour of certain functions in libdl[^2] like the `dlopen` > function is dependent on where it is called from. This is normally > what you want, but sometimes you may want to specify the caller > address yourself, for example when intercepting/hooking the `dlopen` > function itself. For this reason, Apple has added the `dlopen_from` > function in macOS Big Sur. `dlopen_from` has an extra parameter, `void > *caller`, that specifies the "fake" caller address to be used instead > of `RETURN_ADDRESS(0)`[^3]. Using `dlopen_from` significantly > simplifies intercepting `dlopen` calls (see [here][1] for an example). > So my feature request is to implement `dlopen_from` in glibc too. i think glibc specific feature requests should go to bugzilla. but i would be useful to discuss this on libc-coord@lists.openwall.com to see if there is interest across implementations otherwise the api will not work portably. > > [1]: > [^2]: The same logic also applies to `dlmopen`, `dlsym`, and `dlvsym`. > [^3]: Header file where `dlopen_from` is declared: >