I'm not so ok because now the score has symbols for the Classic API and pthreads in it.
The point of putting a method shared by both in the score was to avoid contaminating the score with information about the APIs or the the APIs with knowledge of each other. I think we still need separate files in RTEMS and POSIX to hold the alias declarations. On Thu, Apr 29, 2021, 11:03 AM Gedare Bloom <ged...@rtems.org> wrote: > ok > > On Thu, Apr 29, 2021 at 7:18 AM Sebastian Huber > <sebastian.hu...@embedded-brains.de> wrote: > > > > This may reduce the code size a bit. > > --- > > cpukit/Makefile.am | 3 +- > > cpukit/include/rtems/score/threadimpl.h | 7 ++++ > > cpukit/posix/src/pthreadself.c | 32 --------------- > > cpukit/rtems/src/taskself.c | 28 ------------- > > cpukit/score/src/threadselfid.c | 53 +++++++++++++++++++++++++ > > spec/build/cpukit/librtemscpu.yml | 3 +- > > 6 files changed, 62 insertions(+), 64 deletions(-) > > delete mode 100644 cpukit/posix/src/pthreadself.c > > delete mode 100644 cpukit/rtems/src/taskself.c > > create mode 100644 cpukit/score/src/threadselfid.c > > > > diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am > > index b0df610bed..096187c507 100644 > > --- a/cpukit/Makefile.am > > +++ b/cpukit/Makefile.am > > @@ -620,7 +620,6 @@ librtemscpu_a_SOURCES += > posix/src/pthreadgetschedparam.c > > librtemscpu_a_SOURCES += posix/src/pthreadinitthreads.c > > librtemscpu_a_SOURCES += posix/src/pthreadjoin.c > > librtemscpu_a_SOURCES += posix/src/pthreadonce.c > > -librtemscpu_a_SOURCES += posix/src/pthreadself.c > > librtemscpu_a_SOURCES += posix/src/pthreadsetaffinitynp.c > > librtemscpu_a_SOURCES += posix/src/pthreadsetnamenp.c > > librtemscpu_a_SOURCES += posix/src/pthreadsetschedparam.c > > @@ -800,7 +799,6 @@ librtemscpu_a_SOURCES += rtems/src/taskmode.c > > librtemscpu_a_SOURCES += rtems/src/taskrestart.c > > librtemscpu_a_SOURCES += rtems/src/taskresume.c > > librtemscpu_a_SOURCES += rtems/src/tasks.c > > -librtemscpu_a_SOURCES += rtems/src/taskself.c > > librtemscpu_a_SOURCES += rtems/src/tasksetaffinity.c > > librtemscpu_a_SOURCES += rtems/src/tasksetpriority.c > > librtemscpu_a_SOURCES += rtems/src/tasksetscheduler.c > > @@ -964,6 +962,7 @@ librtemscpu_a_SOURCES += score/src/threadinitialize.c > > librtemscpu_a_SOURCES += score/src/threadidledefault.c > > librtemscpu_a_SOURCES += score/src/threadloadenv.c > > librtemscpu_a_SOURCES += score/src/threadrestart.c > > +librtemscpu_a_SOURCES += score/src/threadselfid.c > > librtemscpu_a_SOURCES += score/src/threadsetstate.c > > librtemscpu_a_SOURCES += score/src/threadstackallocate.c > > librtemscpu_a_SOURCES += score/src/threadstackfree.c > > diff --git a/cpukit/include/rtems/score/threadimpl.h > b/cpukit/include/rtems/score/threadimpl.h > > index 5dfd142b92..c861e8b119 100644 > > --- a/cpukit/include/rtems/score/threadimpl.h > > +++ b/cpukit/include/rtems/score/threadimpl.h > > @@ -903,6 +903,13 @@ Thread_Control *_Thread_Get( > > ISR_lock_Context *lock_context > > ); > > > > +/** > > + * @brief Gets the identifier of the calling thread. > > + * > > + * @return Returns the identifier of the calling thread. > > + */ > > +Objects_Id _Thread_Self_id( void ); > > + > > /** > > * @brief Gets the cpu of the thread's scheduler. > > * > > diff --git a/cpukit/posix/src/pthreadself.c > b/cpukit/posix/src/pthreadself.c > > deleted file mode 100644 > > index db5f2f189d..0000000000 > > --- a/cpukit/posix/src/pthreadself.c > > +++ /dev/null > > @@ -1,32 +0,0 @@ > > -/** > > - * @file > > - * > > - * @ingroup POSIXAPI > > - * > > - * @brief Function returns the ID of the Calling Thread > > - */ > > - > > -/* > > - * 16.1.6 Get Calling Thread's ID, p1003.1c/Draft 10, p. 152 > > - * > > - * COPYRIGHT (c) 1989-1999. > > - * On-Line Applications Research Corporation (OAR). > > - * > > - * The license and distribution terms for this file may be > > - * found in the file LICENSE in this distribution or at > > - * http://www.rtems.org/license/LICENSE. > > - */ > > - > > -#ifdef HAVE_CONFIG_H > > -#include "config.h" > > -#endif > > - > > -#include <pthread.h> > > - > > -#include <rtems/score/percpu.h> > > -#include <rtems/score/thread.h> > > - > > -pthread_t pthread_self( void ) > > -{ > > - return _Thread_Get_executing()->Object.id; > > -} > > diff --git a/cpukit/rtems/src/taskself.c b/cpukit/rtems/src/taskself.c > > deleted file mode 100644 > > index 193e691ce5..0000000000 > > --- a/cpukit/rtems/src/taskself.c > > +++ /dev/null > > @@ -1,28 +0,0 @@ > > -/** > > - * @file > > - * > > - * @ingroup RTEMSImplClassicTask > > - * > > - * @brief This source file contains the implementation of > > - * rtems_task_self(). > > - */ > > - > > -/* > > - * COPYRIGHT (c) 1989-2007. > > - * On-Line Applications Research Corporation (OAR). > > - * > > - * The license and distribution terms for this file may be > > - * found in the file LICENSE in this distribution or at > > - * http://www.rtems.org/license/LICENSE. > > - */ > > - > > -#ifdef HAVE_CONFIG_H > > -#include "config.h" > > -#endif > > - > > -#include <rtems/rtems/tasksimpl.h> > > - > > -rtems_id rtems_task_self(void) > > -{ > > - return _Thread_Get_executing()->Object.id; > > -} > > diff --git a/cpukit/score/src/threadselfid.c > b/cpukit/score/src/threadselfid.c > > new file mode 100644 > > index 0000000000..f888a37619 > > --- /dev/null > > +++ b/cpukit/score/src/threadselfid.c > > @@ -0,0 +1,53 @@ > > +/* SPDX-License-Identifier: BSD-2-Clause */ > > + > > +/** > > + * @file > > + * > > + * @ingroup RTEMSScoreThread > > + * > > + * @brief This source file contains the implementation of > _Thread_Self_id(). > > + */ > > + > > +/* > > + * Copyright (C) 2021 embedded brains GmbH ( > http://www.embedded-brains.de) > > + * Copyright (C) 1995 On-Line Applications Research Corporation (OAR) > > + * > > + * Redistribution and use in source and binary forms, with or without > > + * modification, are permitted provided that the following conditions > > + * are met: > > + * 1. Redistributions of source code must retain the above copyright > > + * notice, this list of conditions and the following disclaimer. > > + * 2. Redistributions in binary form must reproduce the above copyright > > + * notice, this list of conditions and the following disclaimer in > the > > + * documentation and/or other materials provided with the > distribution. > > + * > > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > "AS IS" > > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED > TO, THE > > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR > CONTRIBUTORS BE > > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER > IN > > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR > OTHERWISE) > > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED > OF THE > > + * POSSIBILITY OF SUCH DAMAGE. > > + */ > > + > > +#ifdef HAVE_CONFIG_H > > +#include "config.h" > > +#endif > > + > > +#include <rtems/score/threadimpl.h> > > + > > +#include <pthread.h> > > +#include <rtems/rtems/tasksimpl.h> > > + > > +Objects_Id _Thread_Self_id( void ) > > +{ > > + return _Thread_Get_executing()->Object.id; > > +} > > + > > +RTEMS_ALIAS( _Thread_Self_id ) pthread_t pthread_self( void ); > > + > > +RTEMS_ALIAS( _Thread_Self_id ) rtems_id rtems_task_self( void ); > > diff --git a/spec/build/cpukit/librtemscpu.yml > b/spec/build/cpukit/librtemscpu.yml > > index a3a9ee42e3..21fa6ea787 100644 > > --- a/spec/build/cpukit/librtemscpu.yml > > +++ b/spec/build/cpukit/librtemscpu.yml > > @@ -1119,7 +1119,6 @@ source: > > - cpukit/posix/src/pthreadinitthreads.c > > - cpukit/posix/src/pthreadjoin.c > > - cpukit/posix/src/pthreadonce.c > > -- cpukit/posix/src/pthreadself.c > > - cpukit/posix/src/pthreadsetaffinitynp.c > > - cpukit/posix/src/pthreadsetnamenp.c > > - cpukit/posix/src/pthreadsetschedparam.c > > @@ -1299,7 +1298,6 @@ source: > > - cpukit/rtems/src/taskrestart.c > > - cpukit/rtems/src/taskresume.c > > - cpukit/rtems/src/tasks.c > > -- cpukit/rtems/src/taskself.c > > - cpukit/rtems/src/tasksetaffinity.c > > - cpukit/rtems/src/tasksetpriority.c > > - cpukit/rtems/src/tasksetscheduler.c > > @@ -1548,6 +1546,7 @@ source: > > - cpukit/score/src/threadqtimeout.c > > - cpukit/score/src/threadrestart.c > > - cpukit/score/src/threadscheduler.c > > +- cpukit/score/src/threadselfid.c > > - cpukit/score/src/threadsetstate.c > > - cpukit/score/src/threadstackallocate.c > > - cpukit/score/src/threadstackfree.c > > -- > > 2.26.2 > > > > _______________________________________________ > > devel mailing list > > devel@rtems.org > > http://lists.rtems.org/mailman/listinfo/devel > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel