From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60040.outbound.protection.outlook.com [40.107.6.40]) by sourceware.org (Postfix) with ESMTPS id A26663858D28 for ; Mon, 11 Oct 2021 10:19:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A26663858D28 Received: from AM6P191CA0096.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8a::37) by AM0PR08MB3233.eurprd08.prod.outlook.com (2603:10a6:208:60::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Mon, 11 Oct 2021 10:19:02 +0000 Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8a:cafe::77) by AM6P191CA0096.outlook.office365.com (2603:10a6:209:8a::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25 via Frontend Transport; Mon, 11 Oct 2021 10:19:02 +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 AM5EUR03FT018.mail.protection.outlook.com (10.152.16.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Mon, 11 Oct 2021 10:19:01 +0000 Received: ("Tessian outbound d5def7722ff7:v103"); Mon, 11 Oct 2021 10:19:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8c300caabf6c2320 X-CR-MTA-TID: 64aa7808 Received: from 0adc6112d70a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 29023783-9CB3-4E04-BC00-6725AF59D885.1; Mon, 11 Oct 2021 10:18:49 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0adc6112d70a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 11 Oct 2021 10:18:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jdNwja5TZ1sR49Pgjv3xhknHLlcACU3DJmZiPsYqV14ALSH0JthoTWOUdq0xDi5gloUKtIQpcVjAmTI0J6XuUB6AmgIkIZUVd7Xw42uPN4Y89d2xwGoIZMs9IKGOdhaG9vu6NuiC3qz286tstXjVfw0EI8eiBRuR/QuTdqGMR0IAML73TnjOgJIvPZSCPHHK2PNDNxh8kFtYN8bDFM5op14xqNe2+lqBGO5cR6P05jkRJ7ZhyPDv42SMMKb9PrjKDujOOuIX0E5vO3hI0WY8iMeKthed8NzlA4GDa1aIZlhpjBbyU1qY1MyPm73wi/nc2LffVa4ucRYy7yN8ryvm7g== 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=ckFKPwxqNjsf7SGBXiCbirkySv9D9TpD8N+ZBGtfJvE=; b=ah0CGd8SipjZ/J1v6S2b9uEjtDjMaT41tOGd03o4jWHC1KzQO+V6O++T5v9KNEfqNI6pSmxAVvVXOwEzI1nkc6jd+d3d26pSEg2D6XdjtZt9vuBq7iruVTh4v4l06G5DzVRJcJxrnrw1eohhyimQOmP0rNDQTCks62zUJ0Z+iFgUGGCrQ5PUQr01mUdgFJLvnsGOFVf9wDiLU42F5iscZJsLEV9m8zwbBZ2nM/vofV6paWRgdk6XXOK/4x8LEhKJMvnFIM8Sl6nuBKeUj2hP7/bkrJy/7SQd3JOyK605VOmxO9G7x6Rrq6D7iMBp8O/iNZDAqbQVkRWrA3+4fbCr1Q== 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: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by DU2PR08MB7326.eurprd08.prod.outlook.com (2603:10a6:10:2e5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.26; Mon, 11 Oct 2021 10:18:48 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::2900:7140:8ac4:6846]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::2900:7140:8ac4:6846%5]) with mapi id 15.20.4587.026; Mon, 11 Oct 2021 10:18:48 +0000 Date: Mon, 11 Oct 2021 11:18:39 +0100 From: Szabolcs Nagy To: Lukasz Majewski Cc: "H.J. Lu" , Adhemerval Zanella , Florian Weimer , libc-alpha , Andreas Schwab , Joseph Myers Subject: Re: [PATCH] dl: Use "adr" assembler command to get proper load address Message-ID: <20211011101839.GJ2700@arm.com> References: <20211005094554.2f28d6bd@ktm> <20211006075721.qnv6qabroytcsido@google.com> <20211006110321.5f1a9610@ktm> <20211006134344.63395242@ktm> <20211006125517.GE2700@arm.com> <20211007111926.30db4c4f@ktm> <20211007120038.1445bbd3@ktm> <44bac775-3127-7bc7-c4ea-fa282ed277d3@linaro.org> <20211011105617.5bcd493d@ktm> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20211011105617.5bcd493d@ktm> X-ClientProxiedBy: SA0PR11CA0061.namprd11.prod.outlook.com (2603:10b6:806:d2::6) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 Received: from arm.com (217.140.106.52) by SA0PR11CA0061.namprd11.prod.outlook.com (2603:10b6:806:d2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25 via Frontend Transport; Mon, 11 Oct 2021 10:18:45 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91cd704a-c375-4c98-3bfb-08d98ca08be6 X-MS-TrafficTypeDiagnostic: DU2PR08MB7326:|AM0PR08MB3233: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: oBEAPqgXbgHEHOpxEgqg/IORKIVuzQvzGmgMfsp8ybtPAZmVw0xxe7ef1XBQENEpgNnwwPmhSJc6K9ZxFEl9X+t1Sz4MKs+DAVDQOm5+IXak71n4OSuNYIPos5XEx/VJ+8aW8BNSfXKDN3pwrlWecr153Q4qs2KKipybGCxZtHC1dogZemAfYJG0IxE+9/VG7emBsMsGQZ69jSniI4D2tA6ttUsNvN4kbtSFAddwnQSUTD0eBrDqYGmKQk96obsKHv8i2qtD5XP/BXcOu7U1OvWIOsd7ORUHENTdM4fdXL+/YZc9rwuCQF5fQxXt/Co1nDPsU5J7BVf6r0No0mdG9xw69qiO0KxpfB3jilxxlKJRhlmpBYavTpfNLIkFy9nJGByUlLskeaOfqXjKCHTrHwf5lIIJnxi+97AlWRTzvsjTKHpXfAL6uwjMMxWKuBNZKbO8eveh7dAlurLAbIyldt0mCoGWTPZmTTXM2q4QVLi78a5ZZDgSZ+rJ+zQitWF2mQjCOYGI+eGLqVvxNKLTOytDp5Qln0wmDsPs3BsEwQ4Gc0534SGMrz0ZpgrccT/qkqO2koTgxCBG5+iQ1oDdpSuGBIYeKGXeMIOwCYbIW7zLGyK7pgE74ug/epw4z8Re4gn2yz9PO9bpps9oT7DQ427w3Ef3ktD3t2zRdbJVG3isf2iylnlACrYPv+ZLbygDlueXUPeFESVH4kExHiy2kg== 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:(4636009)(366004)(2616005)(33656002)(8676002)(86362001)(8886007)(956004)(83380400001)(54906003)(55016002)(8936002)(38100700002)(38350700002)(316002)(4326008)(36756003)(508600001)(6666004)(44832011)(66556008)(66476007)(1076003)(5660300002)(66946007)(6916009)(2906002)(7696005)(52116002)(186003)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7326 Original-Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: aa4684d1-96d7-46e0-cae5-08d98ca083aa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Mhr6XArdMraJUnjFw6P9pxWm99QsYVUZ/Gv9j9sNBRqi13zoYPu2adUqJ4Nv7+EZBXru0p6B1h3WLWzELTBYJyLjzMTXTWhUEKXkGKlpeSJpKA3vj9zt1Pi6g0+b7hPRPfROxrnFhKZSbC0dvnaoBpTkYusYO02ymZ08pZFz6K1dHVwWnBJCv8cxGqqC/YBQbOhP7u0H3kXaUpTEdjcNAcjgpgS48Zkp7l6PO1hwa7w0FsocEojafGfSmvSuLsGse+q8eA9kbuS1z3NGwYYN+otDQEEXYBpA3pdjrF8YAAQJYY/YdqnoqwhdWuupKhR3jwWttF1UMvKIop9l9mfLhHuBMc1kQa8uiLzVuWZlO+jwqaiBLxMqR8iZc4jjOd5PMKhnm7kOozRqDzdZN0Qo50v06weUPcCLosRAboNs2MdPtAoX9IDPTLScO9eb/obItrrKhzDKXf4CuA1YDRaZHCs3QHSxR4VYilFKWpXxfi1D4T7BY/IPDCvVOqnwxco2DHJz39WoAzhmc/c8U9V+5Y9AUKk+CukWXnSYAYrZxEorHmM4n54o7j9mGFCSxwFKhOgEA8pZcrSY1Mln1pZmPgpXWSvvwVxTwuA75tWecfQRdQShNtHeuy8iIiNcz2yynU4cZdWMgdQQP4f3ZA7JGXLSlXLYfRb0maIuV2R6D6XAVF9LiM5WUR/zokDvE87ANJMs9VnJpupiWSP6p3zOfQ== 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)(46966006)(36840700001)(107886003)(5660300002)(86362001)(336012)(26005)(1076003)(2616005)(70586007)(33656002)(47076005)(54906003)(70206006)(44832011)(82310400003)(508600001)(4326008)(8886007)(956004)(186003)(356005)(8676002)(36756003)(83380400001)(81166007)(316002)(55016002)(7696005)(6666004)(36860700001)(6862004)(8936002)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2021 10:19:01.8763 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 91cd704a-c375-4c98-3bfb-08d98ca08be6 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: AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3233 X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, 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: Mon, 11 Oct 2021 10:19:08 -0000 The 10/11/2021 10:56, Lukasz Majewski wrote: > Do we have _any_ plan how to fix it? BSPs for many boards are built > with Yocto/OE nowadays... > > The approach with using 'adr' (pseudo) assembler instruction to > calculate the on-runtime addresses was working previously. > > Shall we revert changes which were introduced recently (to use > __ehdr_start)? the reason for the change was to avoid relying on GOT[0]. i guess we can revert elf_machine_load_address on arm, but keep the new elf_machine_dynamic that does not rely on GOT[0]. it is also useful to have the same c code across targets for the load address. if we want to do that and support vaddr!=0 for ehdr then i think it can be (untested): __attribute__ ((const)) ElfW(Addr) load_addr (void) { extern const ElfW(Ehdr) __ehdr_start __attribute__ ((visibility ("hidden"))); ElfW(Addr) addr = (ElfW(Addr)) &__ehdr_start; ElfW(Word) phnum = __ehdr_start.e_phnum; const ElfW(Phdr) *phdr = (const void *) (addr + __ehdr_start.e_phoff); const ElfW(Phdr) *ph; assert (__ehdr_start.e_phentsize == sizeof *phdr); for (ph = phdr; ph < &phdr[phnum]; ++ph) if (ph->p_type == PT_LOAD && ph->p_offset == 0) { addr -= ph->p_vaddr; break; } return addr; } i don't have a strong preference either way: 1) fix yocto 2) partial revert 3) new way to compute the load address.