{"id":808311,"url":"http://patchwork.ozlabs.org/api/patches/808311/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/20170831165634.C6D9143994318@oldenburg.str.redhat.com/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170831165634.C6D9143994318@oldenburg.str.redhat.com>","list_archive_url":null,"date":"2017-08-31T16:56:34","name":"[COMMITTED] nptl: Remove internal_function attribute","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"ea32f6304a61bbffe2faec96d227ccdcefa005b3","submitter":{"id":14312,"url":"http://patchwork.ozlabs.org/api/people/14312/?format=json","name":"Florian Weimer","email":"fweimer@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/20170831165634.C6D9143994318@oldenburg.str.redhat.com/mbox/","series":[{"id":876,"url":"http://patchwork.ozlabs.org/api/series/876/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=876","date":"2017-08-31T16:56:34","name":"[COMMITTED] nptl: Remove internal_function attribute","version":1,"mbox":"http://patchwork.ozlabs.org/series/876/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/808311/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808311/checks/","tags":{},"related":[],"headers":{"Return-Path":"<libc-alpha-return-83956-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-83956-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"xZ634siS\"; dkim-atps=neutral","sourceware.org; auth=none","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=fweimer@redhat.com"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjpSY2pzTz9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 02:57:01 +1000 (AEST)","(qmail 36248 invoked by alias); 31 Aug 2017 16:56:47 -0000","(qmail 36212 invoked by uid 89); 31 Aug 2017 16:56:47 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:to:subject:mime-version:content-type\n\t:content-transfer-encoding:message-id:from; q=dns; s=default; b=\n\tGu048Oyc3nwb8bOV4H7tWUmgDwoHHMgjXr0z7h8TMNdodG18SjkA4BVwO/uJAvff\n\tlFFvrUDkFOhi0O6tO20ZjXCCXRo5BhBzdkr8kPdVqzZhK7y4El/JZxhzrFMOC+CD\n\tOwACrteIKrbifUHi0O+llLXNRJ4Ud8gFoee2wq6RKko=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:to:subject:mime-version:content-type\n\t:content-transfer-encoding:message-id:from; s=default; bh=NmNrJZ\n\tPwlmSjbFABtxa/bvkPOyw=; b=xZ634siSlCkbIn7BD+vvfub2Nc3xqSS8jieDVu\n\tIqUFwpYKLXYo4gFE0n/VMri8wiu6dp6XwO8R4cgGuQxFnVWUqMOVo1y18unxq1ow\n\tugSqHwyBvBLNY1CNg+g15dJV24mxXSg9GcO5oLVfzGCeARqVAsa/faPiyxruTAAo\n\t8x9S4=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD,\n\tSPF_HELO_PASS autolearn=ham version=3.3.2 spammy=asynchronous","X-HELO":"mx1.redhat.com","DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com A8ACEC027394","Date":"Thu, 31 Aug 2017 18:56:34 +0200","To":"libc-alpha@sourceware.org","Subject":"[PATCH COMMITTED] nptl: Remove internal_function attribute","User-Agent":"Heirloom mailx 12.5 7/5/10","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","Message-Id":"<20170831165634.C6D9143994318@oldenburg.str.redhat.com>","From":"fweimer@redhat.com (Florian Weimer)"},"content":"2017-08-31  Florian Weimer  <fweimer@redhat.com>\n\n\t* nptl/allocatestack.c (change_stack_perm, __deallocate_stack)\n\t(setxid_mark_thread, setxid_unmark_thread, setxid_signal_thread):\n\tRemove internal_function.\n\t* nptl/cancellation.c (__pthread_disable_asynccancel): Likewise.\n\t* nptl/libc_pthread_init.c (__libc_pthread_init): Likewise.\n\t* nptl/pthreadP.h (__find_in_stack_list, __free_tcb)\n\t(__deallocate_stack, __libc_pthread_init)\n\t(__pthread_mutex_cond_lock, __pthread_mutex_cond_lock_adjust)\n\t(__pthread_mutex_unlock_usercnt, __pthread_disable_asynccancel)\n\t(__libc_disable_asynccancel, __librt_disable_asynccancel):\n\tLikewise.\n\t* nptl/pthread_create.c (__find_in_stack_list, __free_tcb): Likewise.\n\t* nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Likewise.\n\t* nptl/pthread_mutex_lock.c (__pthread_mutex_cond_lock_adjust):\n\tLikewise.\n\t* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full)\n\t(__pthread_mutex_unlock_usercnt): Likewise.","diff":"diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c\nindex 8766debde5..196371a88f 100644\n--- a/nptl/allocatestack.c\n+++ b/nptl/allocatestack.c\n@@ -307,7 +307,6 @@ queue_stack (struct pthread *stack)\n \n \n static int\n-internal_function\n change_stack_perm (struct pthread *pd\n #ifdef NEED_SEPARATE_REGISTER_STACK\n \t\t   , size_t pagemask\n@@ -787,7 +786,6 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,\n \n \n void\n-internal_function\n __deallocate_stack (struct pthread *pd)\n {\n   lll_lock (stack_cache_lock, LLL_PRIVATE);\n@@ -1016,7 +1014,6 @@ __find_thread_by_id (pid_t tid)\n \n #ifdef SIGSETXID\n static void\n-internal_function\n setxid_mark_thread (struct xid_command *cmdp, struct pthread *t)\n {\n   int ch;\n@@ -1054,7 +1051,6 @@ setxid_mark_thread (struct xid_command *cmdp, struct pthread *t)\n \n \n static void\n-internal_function\n setxid_unmark_thread (struct xid_command *cmdp, struct pthread *t)\n {\n   int ch;\n@@ -1075,7 +1071,6 @@ setxid_unmark_thread (struct xid_command *cmdp, struct pthread *t)\n \n \n static int\n-internal_function\n setxid_signal_thread (struct xid_command *cmdp, struct pthread *t)\n {\n   if ((t->cancelhandling & SETXID_BITMASK) == 0)\ndiff --git a/nptl/cancellation.c b/nptl/cancellation.c\nindex e3f0b619d6..f3a38059d5 100644\n--- a/nptl/cancellation.c\n+++ b/nptl/cancellation.c\n@@ -61,7 +61,7 @@ __pthread_enable_asynccancel (void)\n \n \n void\n-internal_function attribute_hidden\n+attribute_hidden\n __pthread_disable_asynccancel (int oldtype)\n {\n   /* If asynchronous cancellation was enabled before we do not have\ndiff --git a/nptl/libc_pthread_init.c b/nptl/libc_pthread_init.c\nindex 0db7a10893..875b27e74c 100644\n--- a/nptl/libc_pthread_init.c\n+++ b/nptl/libc_pthread_init.c\n@@ -38,7 +38,6 @@ extern int __libc_multiple_threads attribute_hidden;\n \n int *\n #endif\n-internal_function\n __libc_pthread_init (unsigned long int *ptr, void (*reclaim) (void),\n \t\t     const struct pthread_functions *functions)\n {\ndiff --git a/nptl/pthreadP.h b/nptl/pthreadP.h\nindex 5f0c18299d..dbf46b0973 100644\n--- a/nptl/pthreadP.h\n+++ b/nptl/pthreadP.h\n@@ -341,15 +341,14 @@ __do_cancel (void)\n \n /* Thread list handling.  */\n extern struct pthread *__find_in_stack_list (struct pthread *pd)\n-     attribute_hidden internal_function;\n+     attribute_hidden;\n \n /* Deallocate a thread's stack after optionally making sure the thread\n    descriptor is still valid.  */\n-extern void __free_tcb (struct pthread *pd) attribute_hidden internal_function;\n+extern void __free_tcb (struct pthread *pd) attribute_hidden;\n \n /* Free allocated stack.  */\n-extern void __deallocate_stack (struct pthread *pd)\n-     attribute_hidden internal_function;\n+extern void __deallocate_stack (struct pthread *pd) attribute_hidden;\n \n /* Mark all the stacks except for the current one as available.  This\n    function also re-initializes the lock for the stack cache.  */\n@@ -386,13 +385,11 @@ hidden_proto (__nptl_death_event)\n #ifdef TLS_MULTIPLE_THREADS_IN_TCB\n extern void __libc_pthread_init (unsigned long int *ptr,\n \t\t\t\t void (*reclaim) (void),\n-\t\t\t\t const struct pthread_functions *functions)\n-     internal_function;\n+\t\t\t\t const struct pthread_functions *functions);\n #else\n extern int *__libc_pthread_init (unsigned long int *ptr,\n \t\t\t\t void (*reclaim) (void),\n-\t\t\t\t const struct pthread_functions *functions)\n-     internal_function;\n+\t\t\t\t const struct pthread_functions *functions);\n \n /* Variable set to a nonzero value either if more than one thread runs or ran,\n    or if a single-threaded process is trying to cancel itself.  See\n@@ -430,13 +427,12 @@ extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);\n extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex,\n      const struct timespec *__abstime);\n extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)\n-     attribute_hidden internal_function;\n+     attribute_hidden;\n extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex)\n-     attribute_hidden internal_function;\n+     attribute_hidden;\n extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);\n extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,\n-\t\t\t\t\t   int __decr)\n-     attribute_hidden internal_function;\n+\t\t\t\t\t   int __decr) attribute_hidden;\n extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr);\n extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr);\n extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);\n@@ -508,8 +504,7 @@ extern void __pthread_exit (void *value) __attribute__ ((__noreturn__));\n extern int __pthread_join (pthread_t threadid, void **thread_return);\n extern int __pthread_setcanceltype (int type, int *oldtype);\n extern int __pthread_enable_asynccancel (void) attribute_hidden;\n-extern void __pthread_disable_asynccancel (int oldtype)\n-     internal_function attribute_hidden;\n+extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden;\n extern void __pthread_testcancel (void);\n \n #if IS_IN (libpthread)\n@@ -547,14 +542,12 @@ extern int __pthread_getaffinity_np (pthread_t th, size_t cpusetsize,\n \n /* The two functions are in libc.so and not exported.  */\n extern int __libc_enable_asynccancel (void) attribute_hidden;\n-extern void __libc_disable_asynccancel (int oldtype)\n-     internal_function attribute_hidden;\n+extern void __libc_disable_asynccancel (int oldtype) attribute_hidden;\n \n \n /* The two functions are in librt.so and not exported.  */\n extern int __librt_enable_asynccancel (void) attribute_hidden;\n-extern void __librt_disable_asynccancel (int oldtype)\n-     internal_function attribute_hidden;\n+extern void __librt_disable_asynccancel (int oldtype) attribute_hidden;\n \n #if IS_IN (libpthread)\n /* Special versions which use non-exported functions.  */\ndiff --git a/nptl/pthread_create.c b/nptl/pthread_create.c\nindex 83b88bfb38..992331e280 100644\n--- a/nptl/pthread_create.c\n+++ b/nptl/pthread_create.c\n@@ -205,7 +205,6 @@ static int create_thread (struct pthread *pd, const struct pthread_attr *attr,\n \n \n struct pthread *\n-internal_function\n __find_in_stack_list (struct pthread *pd)\n {\n   list_t *entry;\n@@ -341,7 +340,6 @@ __nptl_deallocate_tsd (void)\n /* Deallocate a thread's stack after optionally making sure the thread\n    descriptor is still valid.  */\n void\n-internal_function\n __free_tcb (struct pthread *pd)\n {\n   /* The thread is exiting now.  */\ndiff --git a/nptl/pthread_mutex_cond_lock.c b/nptl/pthread_mutex_cond_lock.c\nindex bd7149ef1d..2f0771302f 100644\n--- a/nptl/pthread_mutex_cond_lock.c\n+++ b/nptl/pthread_mutex_cond_lock.c\n@@ -14,7 +14,7 @@\n /* We need to assume that there are other threads blocked on the futex.\n    See __pthread_mutex_lock_full for further details.  */\n #define LLL_ROBUST_MUTEX_LOCK_MODIFIER FUTEX_WAITERS\n-#define __pthread_mutex_lock internal_function __pthread_mutex_cond_lock\n+#define __pthread_mutex_lock  __pthread_mutex_cond_lock\n #define __pthread_mutex_lock_full __pthread_mutex_cond_lock_full\n #define NO_INCR\n \ndiff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c\nindex b1586079ad..7f8254ba33 100644\n--- a/nptl/pthread_mutex_lock.c\n+++ b/nptl/pthread_mutex_lock.c\n@@ -607,7 +607,6 @@ hidden_def (__pthread_mutex_lock)\n \n #ifdef NO_INCR\n void\n-internal_function\n __pthread_mutex_cond_lock_adjust (pthread_mutex_t *mutex)\n {\n   assert ((mutex->__data.__kind & PTHREAD_MUTEX_PRIO_INHERIT_NP) != 0);\ndiff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c\nindex e1a8a5c617..c7e67959b7 100644\n--- a/nptl/pthread_mutex_unlock.c\n+++ b/nptl/pthread_mutex_unlock.c\n@@ -28,12 +28,11 @@\n #endif\n \n static int\n-internal_function\n __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)\n      __attribute_noinline__;\n \n int\n-internal_function attribute_hidden\n+attribute_hidden\n __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)\n {\n   int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);\n@@ -92,7 +91,6 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)\n \n \n static int\n-internal_function\n __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)\n {\n   int newowner = 0;\n","prefixes":["COMMITTED"]}