From patchwork Wed Jun 13 23:43:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 27828 Received: (qmail 66854 invoked by alias); 13 Jun 2018 23:43:56 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 66737 invoked by uid 89); 13 Jun 2018 23:43:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS, SPF_NEUTRAL, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: hera.aquilenet.fr From: Samuel Thibault To: libc-alpha@sourceware.org Cc: Samuel Thibault Subject: [hurd,commited] hurd: Avoid a PLT reference Date: Thu, 14 Jun 2018 01:43:49 +0200 Message-Id: <20180613234349.12205-1-samuel.thibault@ens-lyon.org> * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not use PLT to call _hurd_self_sigstate. --- ChangeLog | 2 ++ sysdeps/mach/hurd/i386/____longjmp_chk.S | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index fab0c81ada..d094d20cfd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ __thread_switch, __evc_wait): Move declarations to... * sysdeps/mach/include/mach/mach_traps.h: ... new file, and add attribute_hidden. + * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not + use PLT to call _hurd_self_sigstate. 2018-06-13 Joseph Myers diff --git a/sysdeps/mach/hurd/i386/____longjmp_chk.S b/sysdeps/mach/hurd/i386/____longjmp_chk.S index 1ee7bae2e4..1bde0efc3d 100644 --- a/sysdeps/mach/hurd/i386/____longjmp_chk.S +++ b/sysdeps/mach/hurd/i386/____longjmp_chk.S @@ -68,12 +68,7 @@ ENTRY (____longjmp_chk) /* TODO: need locking? */ /* struct hurd_sigstate * _hurd_self_sigstate (void) */ -#ifdef PIC - call 1f -1: popl %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx -#endif - call JUMPTARGET(_hurd_self_sigstate) + call _hurd_self_sigstate /* TODO: %eax and %eax->sigaltstack are always valid? */ testl $SS_ONSTACK, (HURD_SIGSTATE__SIGALTSTACK__OFFSET + SIGALTSTACK__SS_FLAGS__OFFSET)(%eax)