From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20053.outbound.protection.outlook.com [40.107.2.53]) by sourceware.org (Postfix) with ESMTPS id 8C20A3858415 for ; Wed, 6 Oct 2021 12:55:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8C20A3858415 Received: from DU2PR04CA0353.eurprd04.prod.outlook.com (2603:10a6:10:2b4::13) by AS8PR08MB6374.eurprd08.prod.outlook.com (2603:10a6:20b:338::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19; Wed, 6 Oct 2021 12:55:35 +0000 Received: from DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2b4:cafe::54) by DU2PR04CA0353.outlook.office365.com (2603:10a6:10:2b4::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Wed, 6 Oct 2021 12:55:35 +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 DB5EUR03FT059.mail.protection.outlook.com (10.152.21.175) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Wed, 6 Oct 2021 12:55:35 +0000 Received: ("Tessian outbound 2e7020cc8961:v103"); Wed, 06 Oct 2021 12:55:35 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 87aae338a2f616bb X-CR-MTA-TID: 64aa7808 Received: from 4d3ded069462.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E079E9D9-702E-465C-BE2A-F6AE8821D7EB.1; Wed, 06 Oct 2021 12:55:28 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4d3ded069462.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 06 Oct 2021 12:55:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oMNWm6Ihc65Yv3A3wOiMhbmC//OL25AKOiPdSkkdGU3gWqY/wXf7T1EMb0AYf3SsoOXpIW6amBwPwHNl6rZUzW6sZ6mtQcBmEYxY4nFFlywW6P5fq/0dUp6srcWb32S1Qr7xXKDK7Y1cKwxAMvZBISuc81/wPzffmGYAFHunIJqYW5g7i3MhBgbtPNPH9MqWaMVPtB2oY0PY620SuGIUEmz35C5A7xZ9P390YGFBCk7mUUa9RPQLOfx651l1nfKBY4wC5b6k104i4Ea+f5/bwGLW1G/qgkLsx0J97KX3goD1B59Kyf5yBjcT3UJ1er+UQBtlTzxVOu/tusuGx3lCoQ== 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=ujtPAywAXZdOCAt234IZtDdPHtYpVoPjgWdnybJF47E=; b=e8AfhzEtitiP5okq3FFBmkwdEL0r9Di5Tn8LiQ/0t6m1f5pffFwnfRdBAQygC9HqR24tvE478t3o9TypFMHbU5Cyrbdod7cnPx+val9FpuyasYNpWHa705uRz8INxoNWlcASwy+a9W0EBhx0cKoTUj4HbUXASEPAywbOJahFriJJaMEeZFF15k8tIX0hKAGn5JRljjweIMBarLnO8y7N8GmnJSbUCl4T4NQ5Ugdzd026L9g+1HTzlirv3UwkjVvs2f93viHI1Or/qJrsQhAy99Iqf2VEyNj7VmJIMtM+J86WiVFP2Knksqy931a2MawvxcYJukQtBKswx7oLU3c0IQ== 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 VI1PR0801MB1854.eurprd08.prod.outlook.com (2603:10a6:800:5c::15) by VE1PR08MB4927.eurprd08.prod.outlook.com (2603:10a6:802:b1::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 12:55:26 +0000 Received: from VI1PR0801MB1854.eurprd08.prod.outlook.com ([fe80::a592:9d43:f9d3:bad7]) by VI1PR0801MB1854.eurprd08.prod.outlook.com ([fe80::a592:9d43:f9d3:bad7%5]) with mapi id 15.20.4566.023; Wed, 6 Oct 2021 12:55:26 +0000 Date: Wed, 6 Oct 2021 13:55:17 +0100 From: Szabolcs Nagy To: Lukasz Majewski Cc: Fangrui Song , Adhemerval Zanella , Florian Weimer , Joseph Myers , Andreas Schwab , libc-alpha Subject: Re: [PATCH] dl: Use "adr" assembler command to get proper load address Message-ID: <20211006125517.GE2700@arm.com> References: <20210907131616.23472-1-lukma@denx.de> <20210907164906.yt6nonvfyhvbrx6p@google.com> <20210907193227.6047f9cc@ktm> <20210907174417.sctsswphsyae4mpc@google.com> <20211005094554.2f28d6bd@ktm> <20211006075721.qnv6qabroytcsido@google.com> <20211006110321.5f1a9610@ktm> <20211006134344.63395242@ktm> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20211006134344.63395242@ktm> X-ClientProxiedBy: SN6PR08CA0023.namprd08.prod.outlook.com (2603:10b6:805:66::36) To VI1PR0801MB1854.eurprd08.prod.outlook.com (2603:10a6:800:5c::15) MIME-Version: 1.0 Received: from arm.com (217.140.106.50) by SN6PR08CA0023.namprd08.prod.outlook.com (2603:10b6:805:66::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Wed, 6 Oct 2021 12:55:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 80284bb9-7d6e-4c19-24ae-08d988c896df X-MS-TrafficTypeDiagnostic: VE1PR08MB4927:|AS8PR08MB6374: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7219;OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Jt0wWX9I/UaSk3WZSts07/xbbHOPKR9pTkPpRRAxLz/diaXV7svNWWhWAqfNNlhDJ2KuY5kw+TOrU3fUojqOSxwssVn79Oblxq26wwa2VoWcQaHrTdbRxwNA5rHSWdXepQkEf9IW9m1A/7jsymdlmqx48Q6OxZGVKHxGWJ6+21W/g/VnGbqImb/3C1EaqnjxQZS6aPshQyh++uMFBf0Bw+hscbCXERkXvjr0xFIG+A+jYSykJDMchBrPMV2lQ6QRUCZq1CdRpetHcXxsjjwfEFYHCFUY8LEnIF1RuYS85oson/ObWzYLiG6znAc8XLlQg6LULHadkof99sb53TZY92cFlKpHBj53eoD269RpG1fDePHT7VE6mFD84xSrRIxvfKR9beEwpdSuVXnL6DOQCsbmt1Y77NxGZLGyJtZEfFX+VMOt40uZjkLIhtqo2xkk/Gacw/ngolm0PQikT/Tct3k2+snkJIkVhRyrcHFsw2rG3nWATHYrIQUTJlaoZUanlAXTWOcgM/pJUOI5sgDm9gxi9DzeEl4xxK1WsO5g9j255P+kHf73EoEiqM6y8jLi4eW1gWQ5OI3N0rfE300NU6uu5A7BPk+jhANO+vf6siXxiKh3KjtHBwWBbQWmO9JwfI6CehSgTvA/zx0kI0d74aodohrXCwjMYD/Rm7JtKP4yDDIoCcD4AcXyDR8L1fESgkMrb72eaPr4S+0KxIcP3VqtAs9feHODrtC/UhPXcWZKrt/gbJaSIHoj7qwNJs5NaxOQXxCl9NuaRGuzCXoxWz7NbQDIn5oNJL9MSY0fhWijgL3IkLA6rXJVXmtePIGpCEaZGycgTSr1CgOGEbeEpw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR0801MB1854.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(86362001)(38100700002)(8886007)(7696005)(66556008)(66476007)(66946007)(2906002)(55016002)(316002)(52116002)(8676002)(8936002)(966005)(508600001)(6916009)(38350700002)(54906003)(5660300002)(6666004)(186003)(44832011)(956004)(2616005)(33656002)(4326008)(26005)(83380400001)(1076003)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4927 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: DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 317fca10-6c40-48ab-cbd0-08d988c8915c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9gMOP+xvpSSWb4HvJcrlVXAP/0ZE1mhauDvaKQlBfPGOlFN8XUPTEtHSuCmtvdoqnrvhgs9CrgfIz6FQd5ygU2KJCc+6I6/aPRgF7i8aB7igNOApS7bMUwW4XFGLsU/RVqiy3AAB74nduKa72U73Tu+GXh66M9ZXrpFWp6bhiCZUYAxXqwmIdOZpy77HyGisjlejl2RqKGLAtitnciU/ylIGSr1jiGym4bCn/XnK1EixXpa+fuzhcwNuRY/GYEggJh7JCj6SQTbTLwnaoeRdqxgGp8nFQ7Hlb/GKY1lMytO3l7XK+2Rbzj7/oBup1yjcmQD9crmNl73UlQ/2ftm8tknjHAz/XcTgGpJTzDOUUdWoMU9t3EPag44cEF9JKarrJBmGhriOCUb4zjVePj6bc8F+qlTsu9R1YIixyQueNd9bnrmquj8rRGfjsUeP6XtIYz7REv72g3mg54mOzuTvZSbC4pF0E4t9qGPg9wunK3Z4mXsf5OXUkdnCfjf4LH6LsoL1Q2y9nsFT22xBLuphGMzSCX356qJhjYb0f/jPRFpOPoyy0VI30uEASoBpARerbXyRRzRhYAUDr+NMF173ZhQm09Hsx9T6tc5w+S0BqY50+C68JpZ/pREZRwrdFwJlKTRertLUAzhm6RtoE0BhJH8RAx5uVCjqkwRraGxIXWgIFSUEkFrAV+BhHtKILV8ordyorCw+WwLu6VwWEZjNUkMWYijkiZEDF2WSa9mwMdqE25vyxDD0j7/JIu6ZC1Dph1UBMwQ+V1q3xsHON8y8MLkLs3ZlBq0dnZ2w8DumzK2Rbc7BPiMXQgd11L2T09w/ONVlicUeym/z91he3rwGaA== 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)(36840700001)(46966006)(8936002)(36860700001)(316002)(1076003)(83380400001)(8886007)(8676002)(44832011)(55016002)(966005)(5660300002)(33656002)(508600001)(2906002)(4326008)(956004)(2616005)(54906003)(70586007)(26005)(186003)(36756003)(86362001)(70206006)(6666004)(47076005)(81166007)(6862004)(336012)(356005)(82310400003)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2021 12:55:35.5429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 80284bb9-7d6e-4c19-24ae-08d988c896df 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: DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6374 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: Wed, 06 Oct 2021 12:55:46 -0000 The 10/06/2021 13:43, Lukasz Majewski wrote: > Please find in-depth analyze about the issue: > > It was tested with Beagle Bone Black (BBB) and QEMU (the same binary > rootfs images). > (If needed I will upload images and script to run QEMU to some server > for reproduction). > Branch: https://github.com/lmajewski/y2038_glibc/commits/y2038_edge i think it is easier to look at if you upload the broken ld.so binary. or at least readelf -aW ld.so output. > On working setup to trigger the core dump: > /home/root/ld-linux-armhf.so.3 /sbin/init > gdb ./ld-linux-armhf.so.3 core > > (and the /home/root/ld-linux-armhf.so.3 is the "broken" one). > > > Not working (patch [1] not applied): > ==================================== > > All the code is located in _dl_start in elf/rtld.c and > elf/get-dynamic-info.h files: > > (gdb) p/x $r5 > $46 = 0xb6fc8000 > r5 is set from the elf_machine_load_address() > > Then we enter the elf_get_dynamic_info() > > 0xb6fc95fc 99 ADJUST_DYN_INFO (DT_SYMTAB); > 0xb6fc95f8 <_dl_start+308>: 04 30 92 15 ldrne r3, [r2, #4] > => 0xb6fc95fc <_dl_start+312>: 05 30 83 10 addne r3, r3, r5 > 0xb6fc9600 <_dl_start+316>: 04 30 82 15 strne r3, [r2, #4] > (gdb) p/x $r3 > $63 = 0x410003f4 > (gdb) p/x $r5 > $64 = 0xb6fc8000 it seems r5 is already wrong here, it's not the runtime address of 0. (looks more like the runtime address of 0x41000000) likely something goes wrong with the computation of r5. > Links: > [1] - > https://github.com/lmajewski/y2038_glibc/commit/e67e0f589b88a44be8f8b9b770b08950dd7e5bd5 > > readelf -e ld-linux-armhf.so.3 > > [10] .plt PROGBITS 41000994 000994 000050 04 AX 0 0 4 > [11] .text PROGBITS 41000a00 000a00 01fed0 00 AX 0 0 64 > [12] .rodata PROGBITS 410208d0 0208d0 004b24 00 A 0 0 4 > [13] .ARM.extab PROGBITS 410253f4 0253f4 000018 00 A 0 0 4 > [14] .ARM.exidx ARM_EXIDX 4102540c 02540c 0000c8 00 AL 11 0 4 > [15] .data.rel.ro PROGBITS 41036200 026200 000cf4 00 WA 0 0 8 > [16] .dynamic DYNAMIC 41036ef4 026ef4 0000c8 08 WA 5 0 4 > [17] .got PROGBITS 41036fbc 026fbc 000040 04 WA 0 0 4 why are all addresses >0x41000000 ? in a shared library i expect all those addresses to be close to 0. is this made by some modified binutils?