From patchwork Tue Nov 10 00:53:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Wilson X-Patchwork-Id: 41004 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 4748F3857835; Tue, 10 Nov 2020 00:53:31 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) by sourceware.org (Postfix) with ESMTPS id 2C24A385782B for ; Tue, 10 Nov 2020 00:53:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2C24A385782B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=jimw@sifive.com Received: by mail-pg1-x542.google.com with SMTP id h6so8649442pgk.4 for ; Mon, 09 Nov 2020 16:53:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id; bh=YS56GXSHSco88Y2D23P74jccsfE8qFIajsX/6Hmrvj4=; b=HE9JOvcdGq9SlwvjNt68l/4rSGi1m2IcQ9eNQEmTZwAC8FFi7dCiahK9tm8EVac4mx FCziaELWaWdz/H87D7PoSR3bp4TZ7cq8sXsqQFGx1f4c64mDd1ivCS3V3O/TaU0FbIPP /+kpecQqNEZTlRb/B89075/l54rIKEHc6mGp9hiieiWFqD1IbSgFOqGSW/SIxrvNdSlJ koxjnZrAgNOw3j8zceBafaIdSAviRTfShyplM3/3/4eGY0bbiJyMjiTkISZH3XJUxgTF FrtsgyqM1gTqKd40narCWJTrfN6tsS2Q0ydOaEpk8Nh+sywPAh/Q1ULK3hvYAcSWUYpn unQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YS56GXSHSco88Y2D23P74jccsfE8qFIajsX/6Hmrvj4=; b=aitFdlzlDC2k7bgWb2Meq/IznQg3qU+5dN/9v+YT39BZHw6ASGcmBtug2LVBt1Oejf dcFBSHfLOcqpJnChgQfryyYKoLGlZekBokVTQv5CDagOct1cxnXd/67XME12XZoQtOfz 7Y3XSbW/m+PyhwQ2CvvBfiMzEX5ZGHTDsmQ4oCHTWtbMV3itCtBBTaRP8r9DOq/1IFoI ig/wPylQgWCPilXJbPEiW2KaGdSmht2BRg6iHlOFreICqQ18RyM9EpQz293zUJF2TtdT +sgG3OiIdqndK9aJMEcz8gMIb2FRII7iNlcr3LJALZ7bbNOAQ+6QF4aiu/+zlJcPOnC9 Vl9w== X-Gm-Message-State: AOAM532ekwShSHeh2LTOwUyPxf2gwm0USedvW6K6/Od6ndR8xYCN/JyX aBu1bCPvVkIurHBWpy4mrxTd6pEhsfCE0Ulg X-Google-Smtp-Source: ABdhPJyi6B5pIF8Wos9YgBlSbdIWJoeAvakySmobPt850tTZsJHbzUbNC7h+sVkxQLX1i3kNO2k3hw== X-Received: by 2002:a17:90a:d486:: with SMTP id s6mr1979332pju.115.1604969607785; Mon, 09 Nov 2020 16:53:27 -0800 (PST) Received: from rohan.hsd1.ca.comcast.net ([2601:646:c180:b150:e567:9570:e5c3:7b63]) by smtp.gmail.com with ESMTPSA id r4sm12048906pgs.54.2020.11.09.16.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Nov 2020 16:53:27 -0800 (PST) From: Jim Wilson To: libc-alpha@sourceware.org Subject: [PATCH] RISC-V: Add _dl_start_user. Date: Mon, 9 Nov 2020 16:53:23 -0800 Message-Id: <20201110005323.17583-1-jimw@sifive.com> X-Mailer: git-send-email 2.17.1 X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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: , Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This is required for the debugglibc.sh script to work. Tested by successfully using this patched script, and a riscv64-linux testsuite run. We could perhaps call RTLD_EPILOGUE for ENTRY_POINT before calling RTLD_PROLOGUE for _dl_start_user, but I don't think it matters. OK? Jim --- sysdeps/riscv/dl-machine.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sysdeps/riscv/dl-machine.h b/sysdeps/riscv/dl-machine.h index 03db94aeba..511140864e 100644 --- a/sysdeps/riscv/dl-machine.h +++ b/sysdeps/riscv/dl-machine.h @@ -105,6 +105,7 @@ elf_machine_load_address (void) " _RTLD_PROLOGUE (ENTRY_POINT) "\ mv a0, sp\n\ jal _dl_start\n\ + " _RTLD_PROLOGUE (_dl_start_user) "\ # Stash user entry point in s0.\n\ mv s0, a0\n\ # See if we were run as a command with the executable file\n\ @@ -131,7 +132,8 @@ elf_machine_load_address (void) lla a0, _dl_fini\n\ # Jump to the user entry point.\n\ jr s0\n\ - " _RTLD_EPILOGUE (ENTRY_POINT) "\ + " _RTLD_EPILOGUE (ENTRY_POINT) \ + _RTLD_EPILOGUE (_dl_start_user) "\ .previous" \ );