From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-1.6 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,UNWANTED_LANGUAGE_BODY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 0698C1F463 for ; Wed, 8 Jan 2020 16:16:01 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; q=dns; s= default; b=N22fjb0qooVQ3UTbG5cobeWatGE4H3yDCxc45qQ8aynJqtCuJMsMh u+lyYDvhzJ3ZnLreKHrXt2AUapjYwiYZIt07ibXjoJDXoV+Nt1fdwqO/4/q9iH2n vj+eUKZ9+66sP9jsYT+/reG9/8MAD314/zQrDNyVGgwCOno+KYKhbI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; s=default; bh=mNFWhX1LxZ/wgahknNCFUBpkUY8=; b=IEmRTN+XOGZz2bKqo9njiGVYL2D1 HUKWDXF0Uk8tnspPBtZcVGnJrjj6Bp1u6haooYcSuTURCpq26RKC68qgTcKbANOg ZfbaCpp3BI27rj7wqponJeSuz2JOX9t9dQRZns6K8DYZQvr7IFHOg1OykOLOY3qq wc3/fRTSQPpiPUo= Received: (qmail 11111 invoked by alias); 8 Jan 2020 16:15:44 -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 Received: (qmail 11024 invoked by uid 89); 8 Jan 2020 16:15:43 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mail-pj1-f65.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=z+Qi9m9qPs7GOCTBsFQdPct2cakFncJRbNjq3/g82H4=; b=ZeppYiHUoqzQh6GOAm5URh6tsEPZdUKFMDXO9zClanszqyHNAhsfi7jW12Z3Xz+7En iSZP+mRYQgD3zn7SrWdPxeRzW3wGHnYbekYiZVnqAm3JMZJhLXllKTxzAcbuXHmFN53A 3wHQS817mkVfYEBOXx4kOcLrn5iFpiT90bm/OxZpBFkjejKpxmxSo1w3Y7J1q0rTLMmC aZczKaghZrL8rSbFvkocWrw6OPKlvu3gR0IYrRBUTWmIdqpPYG29r6N8dNfIJcFxuJIu z0jt//4CX7lO1Yctq7KVVIapUbHyGjjKGg6H67mCc/ofHFKaYqFKnviM2Zgk/qBRimY8 12DQ== From: "H.J. Lu" To: libc-alpha@sourceware.org Subject: V2 [PATCH 3/5] i386: Add _CET_ENDBR to assembly files without ENTRY Date: Wed, 8 Jan 2020 08:15:33 -0800 Message-Id: <20200108161535.6141-4-hjl.tools@gmail.com> In-Reply-To: <20200108161535.6141-1-hjl.tools@gmail.com> References: <20200108161535.6141-1-hjl.tools@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add _CET_ENDBR to i386 assembly files which don't use ENTRY to add ENDBR32 at function entries when CET is enabled. --- sysdeps/i386/i386-mcount.S | 2 ++ sysdeps/i386/nptl/pthread_spin_lock.S | 2 ++ sysdeps/i386/nptl/pthread_spin_unlock.S | 3 +++ sysdeps/i386/pthread_spin_trylock.S | 2 ++ 4 files changed, 9 insertions(+) diff --git a/sysdeps/i386/i386-mcount.S b/sysdeps/i386/i386-mcount.S index 9516265bcb..8b60bd20fe 100644 --- a/sysdeps/i386/i386-mcount.S +++ b/sysdeps/i386/i386-mcount.S @@ -30,6 +30,7 @@ .type C_SYMBOL_NAME(_mcount), @function .align ALIGNARG(4) C_LABEL(_mcount) + _CET_ENDBR /* Save the caller-clobbered registers. */ pushl %eax pushl %ecx @@ -58,6 +59,7 @@ weak_alias (_mcount, mcount) .type C_SYMBOL_NAME(__fentry__), @function .align ALIGNARG(4) C_LABEL(__fentry__) + _CET_ENDBR /* Save the caller-clobbered registers. */ pushl %eax pushl %ecx diff --git a/sysdeps/i386/nptl/pthread_spin_lock.S b/sysdeps/i386/nptl/pthread_spin_lock.S index 5736c82078..7eb8f0e069 100644 --- a/sysdeps/i386/nptl/pthread_spin_lock.S +++ b/sysdeps/i386/nptl/pthread_spin_lock.S @@ -15,12 +15,14 @@ License along with the GNU C Library; if not, see . */ +#include #include .globl pthread_spin_lock .type pthread_spin_lock,@function .align 16 pthread_spin_lock: + _CET_ENDBR mov 4(%esp), %eax 1: LOCK decl 0(%eax) diff --git a/sysdeps/i386/nptl/pthread_spin_unlock.S b/sysdeps/i386/nptl/pthread_spin_unlock.S index e7757d0a03..dac730af1f 100644 --- a/sysdeps/i386/nptl/pthread_spin_unlock.S +++ b/sysdeps/i386/nptl/pthread_spin_unlock.S @@ -16,10 +16,13 @@ License along with the GNU C Library; if not, see . */ +#include + .globl pthread_spin_unlock .type pthread_spin_unlock,@function .align 16 pthread_spin_unlock: + _CET_ENDBR movl 4(%esp), %eax movl $1, (%eax) xorl %eax, %eax diff --git a/sysdeps/i386/pthread_spin_trylock.S b/sysdeps/i386/pthread_spin_trylock.S index dd08d38f8d..b3965a150f 100644 --- a/sysdeps/i386/pthread_spin_trylock.S +++ b/sysdeps/i386/pthread_spin_trylock.S @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see . */ +#include #include @@ -29,6 +30,7 @@ .type pthread_spin_trylock,@function .align 16 pthread_spin_trylock: + _CET_ENDBR movl 4(%esp), %edx movl $1, %eax xorl %ecx, %ecx -- 2.24.1