From patchwork Fri Sep 1 18:00:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 808913 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-84100-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="fK1oWZuU"; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 3xkS2K6Y1Bz9s7g for ; Sat, 2 Sep 2017 04:10:01 +1000 (AEST) 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; q=dns; s=default; b=QjZx7Vq2mf9SwaQQ/icA/4VT8P4kZ9+ ZQf0gr9TTarAxtzrBSu25DA0UpCn2Iott2W/bonouVfdRZq++8SNGi2m7dEJvcRC 1vc0gmJUUUXgUFGTDTpUTMm8xvq2AVvqagXGHPLKFg2uFsIM6Z7ZXNGQPGs3yI7+ 8SAC+LJqWV0g= 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; s=default; bh=7R6eIJdCEw177DDRGAxyWu6T3DU=; b=fK1oW ZuUy9QO5Vp0Oskyl72w6LZt7tLiTGc6dijbOUC4NL/Brr74EgZe6HmGgod5/nIfw MFgROMkBl/89kg2/VVeR076Gn3G9LVLQL82ZPvbsW7pwWvLtev1Q/r3JB2mivp3A nQIiYtdnG39+KFOKZO3TK+s9HnzU1bCZ8QRm/w= Received: (qmail 91295 invoked by alias); 1 Sep 2017 18:01:25 -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 91260 invoked by uid 89); 1 Sep 2017 18:01:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy= X-HELO: mga02.intel.com X-ExtLoop1: 1 From: "H.J. Lu" To: libc-alpha@sourceware.org Subject: [PATCH 47/58] Hide internal __setrlimit function [BZ #18822] Date: Fri, 1 Sep 2017 11:00:18 -0700 Message-Id: <20170901180029.9527-48-hjl.tools@gmail.com> In-Reply-To: <20170901180029.9527-1-hjl.tools@gmail.com> References: <20170901180029.9527-1-hjl.tools@gmail.com> Hide internal __setrlimit function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/resource.h (__setrlimit): Add libc_hidden_proto. * resource/setrlimit.c (__setrlimit): Add libc_hidden_def. * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise. * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise. * sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New. --- include/sys/resource.h | 1 + resource/setrlimit.c | 1 + sysdeps/mach/hurd/setrlimit.c | 1 + sysdeps/unix/sysv/linux/setrlimit.c | 1 + sysdeps/unix/sysv/linux/setrlimit64.c | 3 +++ 5 files changed, 7 insertions(+) diff --git a/include/sys/resource.h b/include/sys/resource.h index 688c46c4ae..c55d4e63bd 100644 --- a/include/sys/resource.h +++ b/include/sys/resource.h @@ -23,5 +23,6 @@ extern int __getrusage (enum __rusage_who __who, struct rusage *__usage) extern int __setrlimit (enum __rlimit_resource __resource, const struct rlimit *__rlimits); +libc_hidden_proto (__setrlimit); #endif #endif diff --git a/resource/setrlimit.c b/resource/setrlimit.c index 6e3a1fbc54..e02b6a826a 100644 --- a/resource/setrlimit.c +++ b/resource/setrlimit.c @@ -29,6 +29,7 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits) __set_errno (ENOSYS); return -1; } +libc_hidden_def (__setrlimit) weak_alias (__setrlimit, setrlimit) stub_warning (setrlimit) diff --git a/sysdeps/mach/hurd/setrlimit.c b/sysdeps/mach/hurd/setrlimit.c index 3ea9af2e7c..693422a537 100644 --- a/sysdeps/mach/hurd/setrlimit.c +++ b/sysdeps/mach/hurd/setrlimit.c @@ -53,4 +53,5 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits) return 0; } +libc_hidden_def (__setrlimit) weak_alias (__setrlimit, setrlimit) diff --git a/sysdeps/unix/sysv/linux/setrlimit.c b/sysdeps/unix/sysv/linux/setrlimit.c index 8773c78236..50a21636ef 100644 --- a/sysdeps/unix/sysv/linux/setrlimit.c +++ b/sysdeps/unix/sysv/linux/setrlimit.c @@ -48,6 +48,7 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlim) return INLINE_SYSCALL_CALL (prlimit64, 0, resource, &rlim64, NULL); } +libc_hidden_def (__setrlimit) # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) strong_alias (__setrlimit, __setrlimit_1) compat_symbol (libc, __setrlimit, setrlimit, GLIBC_2_0); diff --git a/sysdeps/unix/sysv/linux/setrlimit64.c b/sysdeps/unix/sysv/linux/setrlimit64.c index db1960fc18..ff835c8733 100644 --- a/sysdeps/unix/sysv/linux/setrlimit64.c +++ b/sysdeps/unix/sysv/linux/setrlimit64.c @@ -43,4 +43,7 @@ weak_alias (__setrlimit64, setrlimit64) #if __RLIM_T_MATCHES_RLIM64_T strong_alias (__setrlimit64, __setrlimit) weak_alias (__setrlimit64, setrlimit) +# ifdef SHARED +__hidden_ver1 (__setrlimit64, __GI___setrlimit, __setrlimit64); +# endif #endif