diff options
Diffstat (limited to 'cpukit/libcsupport/src')
63 files changed, 205 insertions, 152 deletions
diff --git a/cpukit/libcsupport/src/__gettod.c b/cpukit/libcsupport/src/__gettod.c index 610f2c4d4a..b43081c9eb 100644 --- a/cpukit/libcsupport/src/__gettod.c +++ b/cpukit/libcsupport/src/__gettod.c @@ -41,7 +41,7 @@ /* * Needed to get the prototype for the newlib helper method */ -#define _COMPILING_NEWLIB +#define _LIBC #include <sys/time.h> #include <reent.h> diff --git a/cpukit/libcsupport/src/__times.c b/cpukit/libcsupport/src/__times.c index 629a7bc633..14625b5aae 100644 --- a/cpukit/libcsupport/src/__times.c +++ b/cpukit/libcsupport/src/__times.c @@ -38,9 +38,9 @@ #endif /* - * Needed to get the prototype for this newlib helper method + * Needed to get the prototype for this libc helper method */ -#define _COMPILING_NEWLIB +#define _LIBC #include <rtems.h> diff --git a/cpukit/libcsupport/src/__usrenv.c b/cpukit/libcsupport/src/__usrenv.c index ebafa9e8b0..59ee7cc31f 100644 --- a/cpukit/libcsupport/src/__usrenv.c +++ b/cpukit/libcsupport/src/__usrenv.c @@ -11,7 +11,7 @@ * COPYRIGHT (C) 2021 On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/_rename_r.c b/cpukit/libcsupport/src/_rename_r.c index c9fa93926d..745316288b 100644 --- a/cpukit/libcsupport/src/_rename_r.c +++ b/cpukit/libcsupport/src/_rename_r.c @@ -12,7 +12,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/alignedalloc.c b/cpukit/libcsupport/src/alignedalloc.c index 9c9ea83bd8..1999b4cfab 100644 --- a/cpukit/libcsupport/src/alignedalloc.c +++ b/cpukit/libcsupport/src/alignedalloc.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 2018 embedded brains GmbH + * Copyright (C) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/arc4random_getentropy_fail.c b/cpukit/libcsupport/src/arc4random_getentropy_fail.c index 16b1e6b9a2..82301d09de 100644 --- a/cpukit/libcsupport/src/arc4random_getentropy_fail.c +++ b/cpukit/libcsupport/src/arc4random_getentropy_fail.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/assoc32tostring.c b/cpukit/libcsupport/src/assoc32tostring.c index 7b7856342c..758aa0047c 100644 --- a/cpukit/libcsupport/src/assoc32tostring.c +++ b/cpukit/libcsupport/src/assoc32tostring.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2016 embedded brains GmbH. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/assocthreadstatestostring.c b/cpukit/libcsupport/src/assocthreadstatestostring.c index 19aae4b8d8..22e2643d1b 100644 --- a/cpukit/libcsupport/src/assocthreadstatestostring.c +++ b/cpukit/libcsupport/src/assocthreadstatestostring.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2016 embedded brains GmbH. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/base_fs.c b/cpukit/libcsupport/src/base_fs.c index c596b12d04..a76889c84d 100644 --- a/cpukit/libcsupport/src/base_fs.c +++ b/cpukit/libcsupport/src/base_fs.c @@ -12,7 +12,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/cachecoherentalloc.c b/cpukit/libcsupport/src/cachecoherentalloc.c index bcf557a92c..ed17ebffcb 100644 --- a/cpukit/libcsupport/src/cachecoherentalloc.c +++ b/cpukit/libcsupport/src/cachecoherentalloc.c @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -97,7 +97,7 @@ void rtems_cache_coherent_free( void *ptr ) _RTEMS_Unlock_allocator(); } -static void add_area( +static rtems_status_code add_area( void *area_begin, uintptr_t area_size ) @@ -105,31 +105,37 @@ static void add_area( Heap_Control *heap = cache_coherent_heap; if ( heap == NULL ) { - bool ok; - heap = &cache_coherent_heap_instance; - ok = _Heap_Initialize( heap, area_begin, area_size, 0 ); - if ( ok ) { - cache_coherent_heap = heap; + if ( _Heap_Initialize( heap, area_begin, area_size, 0 ) == 0 ) { + return RTEMS_UNSATISFIED; } + cache_coherent_heap = heap; } else { - _Heap_Extend( heap, area_begin, area_size, 0 ); + if (_Heap_Extend( heap, area_begin, area_size, 0 ) == 0) { + return RTEMS_UNSATISFIED; + } } + return RTEMS_SUCCESSFUL; } -void rtems_cache_coherent_add_area( +rtems_status_code rtems_cache_coherent_add_area( void *area_begin, uintptr_t area_size ) { - if ( _System_state_Is_up( _System_state_Get()) ) { + rtems_status_code sc; + bool needs_locking = _System_state_Is_up( _System_state_Get()); + + if ( needs_locking ) { _RTEMS_Lock_allocator(); + } - add_area( area_begin, area_size ); + sc = add_area( area_begin, area_size ); + if ( needs_locking ) { _RTEMS_Unlock_allocator(); - } else { - add_area( area_begin, area_size ); } + + return sc; } diff --git a/cpukit/libcsupport/src/chdir.c b/cpukit/libcsupport/src/chdir.c index 259987c0df..f31c4f643c 100644 --- a/cpukit/libcsupport/src/chdir.c +++ b/cpukit/libcsupport/src/chdir.c @@ -13,7 +13,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/chown.c b/cpukit/libcsupport/src/chown.c index 5c9c0aa5ca..2a72676676 100644 --- a/cpukit/libcsupport/src/chown.c +++ b/cpukit/libcsupport/src/chown.c @@ -12,7 +12,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/chroot.c b/cpukit/libcsupport/src/chroot.c index ca4c46f5a8..99ce869aa2 100644 --- a/cpukit/libcsupport/src/chroot.c +++ b/cpukit/libcsupport/src/chroot.c @@ -15,7 +15,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/clock.c b/cpukit/libcsupport/src/clock.c index f9cb693132..0e8a774c24 100644 --- a/cpukit/libcsupport/src/clock.c +++ b/cpukit/libcsupport/src/clock.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/clonenode.c b/cpukit/libcsupport/src/clonenode.c index 1b94401642..35af31ddd0 100644 --- a/cpukit/libcsupport/src/clonenode.c +++ b/cpukit/libcsupport/src/clonenode.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/consolesimple.c b/cpukit/libcsupport/src/consolesimple.c index dd2093621f..017c3d3f6b 100644 --- a/cpukit/libcsupport/src/consolesimple.c +++ b/cpukit/libcsupport/src/consolesimple.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2017, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/consolesimple.h b/cpukit/libcsupport/src/consolesimple.h index 659ec2f4f7..a59e549646 100644 --- a/cpukit/libcsupport/src/consolesimple.h +++ b/cpukit/libcsupport/src/consolesimple.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/consolesimpleread.c b/cpukit/libcsupport/src/consolesimpleread.c index 29a61f3696..1b5793fe64 100644 --- a/cpukit/libcsupport/src/consolesimpleread.c +++ b/cpukit/libcsupport/src/consolesimpleread.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/consolesimpletask.c b/cpukit/libcsupport/src/consolesimpletask.c index 393de3a6f2..1008b5121a 100644 --- a/cpukit/libcsupport/src/consolesimpletask.c +++ b/cpukit/libcsupport/src/consolesimpletask.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2018, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2018, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/fchdir.c b/cpukit/libcsupport/src/fchdir.c index 861beb04ce..16441323ab 100644 --- a/cpukit/libcsupport/src/fchdir.c +++ b/cpukit/libcsupport/src/fchdir.c @@ -12,7 +12,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/freenode.c b/cpukit/libcsupport/src/freenode.c index 88e7e8df8b..1e9fd29297 100644 --- a/cpukit/libcsupport/src/freenode.c +++ b/cpukit/libcsupport/src/freenode.c @@ -11,7 +11,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/gcovfork.c b/cpukit/libcsupport/src/gcovfork.c new file mode 100644 index 0000000000..1520ddfd00 --- /dev/null +++ b/cpukit/libcsupport/src/gcovfork.c @@ -0,0 +1,94 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup libcsupport + * + * @brief This source file contains functions required by GCC if code and + * branch coverage instrumentation (gcov) is enabled. + */ + +/* + * Copyright (C) 2021 embedded brains GmbH & Co. KG + * + * 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 <sys/types.h> + +#include <errno.h> + +#include <rtems/seterr.h> + +int __gcov_execl( const char *, char *, ... ); + +int __gcov_execl( const char *path, char *arg, ... ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} + +int __gcov_execlp( const char *, char *, ... ); + +int __gcov_execlp( const char *path, char *arg, ... ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} + +int __gcov_execle( const char *, char *, ... ); + +int __gcov_execle( const char *path, char *arg, ... ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} + +int __gcov_execv( const char *, char *const[] ); + +int __gcov_execv( const char *path, char *const argv[] ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} + +int __gcov_execvp( const char *, char *const[] ); + +int __gcov_execvp( const char *path, char *const argv[] ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} + +int __gcov_execve( const char *, char *const[], char *const[] ); + +int __gcov_execve( const char *path, char *const argv[], char *const envp[] ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} + +pid_t __gcov_fork( void ); + +pid_t __gcov_fork( void ) +{ + rtems_set_errno_and_return_minus_one( ENOSYS ); +} diff --git a/cpukit/libcsupport/src/getpid.c b/cpukit/libcsupport/src/getpid.c index 84cab91a39..464504de7e 100644 --- a/cpukit/libcsupport/src/getpid.c +++ b/cpukit/libcsupport/src/getpid.c @@ -40,7 +40,6 @@ #include <unistd.h> #include <rtems.h> -#include <rtems/seterr.h> /** * 4.1.1 Get Process and Parent Process IDs, P1003.1b-1993, p. 83 diff --git a/cpukit/libcsupport/src/getppid.c b/cpukit/libcsupport/src/getppid.c index 46d1cc8e08..2ca7a8f900 100644 --- a/cpukit/libcsupport/src/getppid.c +++ b/cpukit/libcsupport/src/getppid.c @@ -46,8 +46,6 @@ #include <unistd.h> -#include <rtems/seterr.h> - pid_t _POSIX_types_Ppid = 0; /** diff --git a/cpukit/libcsupport/src/getreentglobal.c b/cpukit/libcsupport/src/getreentglobal.c index 72b513ee81..deeb6a35dd 100644 --- a/cpukit/libcsupport/src/getreentglobal.c +++ b/cpukit/libcsupport/src/getreentglobal.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -15,8 +15,10 @@ #if defined(RTEMS_NEWLIB) #include <sys/reent.h> +#ifndef _REENT_THREAD_LOCAL struct _reent *__getreent(void) { return _GLOBAL_REENT; } #endif +#endif diff --git a/cpukit/libcsupport/src/isatty_r.c b/cpukit/libcsupport/src/isatty_r.c index 7a758c54a8..3ae285fb26 100644 --- a/cpukit/libcsupport/src/isatty_r.c +++ b/cpukit/libcsupport/src/isatty_r.c @@ -44,7 +44,6 @@ */ #include <unistd.h> #include <reent.h> -#include <sys/stat.h> int _isatty_r( struct _reent *ptr, diff --git a/cpukit/libcsupport/src/libio_exit.c b/cpukit/libcsupport/src/libio_exit.c index f4a865c544..e159e16bb2 100644 --- a/cpukit/libcsupport/src/libio_exit.c +++ b/cpukit/libcsupport/src/libio_exit.c @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * Copyright (c) 2013 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/libiozeroiops.c b/cpukit/libcsupport/src/libiozeroiops.c index b4533c7ae1..5cbb8e346a 100644 --- a/cpukit/libcsupport/src/libiozeroiops.c +++ b/cpukit/libcsupport/src/libiozeroiops.c @@ -11,7 +11,7 @@ */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/malloc_p.h b/cpukit/libcsupport/src/malloc_p.h index ac25cd31d1..115198cb40 100644 --- a/cpukit/libcsupport/src/malloc_p.h +++ b/cpukit/libcsupport/src/malloc_p.h @@ -1,8 +1,15 @@ /* SPDX-License-Identifier: BSD-2-Clause */ -/* - * RTEMS Malloc Family Internal Header +/** + * @file + * + * @ingroup libcsupport * + * @brief This header file provides interfaces used by the memory allocator + * implementation. + */ + +/* * COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/libcsupport/src/mallocdirtydefault.c b/cpukit/libcsupport/src/mallocdirtydefault.c index 829334d6ca..c554942267 100644 --- a/cpukit/libcsupport/src/mallocdirtydefault.c +++ b/cpukit/libcsupport/src/mallocdirtydefault.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/mallocextenddefault.c b/cpukit/libcsupport/src/mallocextenddefault.c index 4b179db184..620691b56d 100644 --- a/cpukit/libcsupport/src/mallocextenddefault.c +++ b/cpukit/libcsupport/src/mallocextenddefault.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/mallocheap.c b/cpukit/libcsupport/src/mallocheap.c index ec14e73763..1b73340663 100644 --- a/cpukit/libcsupport/src/mallocheap.c +++ b/cpukit/libcsupport/src/mallocheap.c @@ -10,7 +10,7 @@ */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/mount-mgr.c b/cpukit/libcsupport/src/mount-mgr.c index 1f0a2359d2..ac567c510d 100644 --- a/cpukit/libcsupport/src/mount-mgr.c +++ b/cpukit/libcsupport/src/mount-mgr.c @@ -8,7 +8,7 @@ * * COPYRIGHT (c) Chris Johns <chrisj@rtems.org> 2010. * - * Copyright (c) 2010 embedded brains GmbH. + * Copyright (c) 2010 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/mount-mktgt.c b/cpukit/libcsupport/src/mount-mktgt.c index adc26f4812..97bde52870 100644 --- a/cpukit/libcsupport/src/mount-mktgt.c +++ b/cpukit/libcsupport/src/mount-mktgt.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/mount.c b/cpukit/libcsupport/src/mount.c index e1fa8ce170..7590eda737 100644 --- a/cpukit/libcsupport/src/mount.c +++ b/cpukit/libcsupport/src/mount.c @@ -11,7 +11,7 @@ * COPYRIGHT (c) 1989-2010. * On-Line Applications Research Corporation (OAR). * - * Copyright (c) 2010-2012 embedded brains GmbH. + * Copyright (C) 2010, 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/newlibc_reent.c b/cpukit/libcsupport/src/newlibc_reent.c index 2dccfd0375..ee82f00858 100644 --- a/cpukit/libcsupport/src/newlibc_reent.c +++ b/cpukit/libcsupport/src/newlibc_reent.c @@ -29,6 +29,7 @@ #include <rtems/libcsupport.h> #include <rtems/score/threadimpl.h> +#ifndef _REENT_THREAD_LOCAL bool newlib_create_hook( rtems_tcb *current_task RTEMS_UNUSED, rtems_tcb *creating_task @@ -38,12 +39,17 @@ bool newlib_create_hook( return true; } +#endif void newlib_terminate_hook( rtems_tcb *current_task ) { +#ifdef _REENT_THREAD_LOCAL + _reclaim_reent(NULL); +#else _reclaim_reent(current_task->libc_reent); +#endif } #endif diff --git a/cpukit/libcsupport/src/open.c b/cpukit/libcsupport/src/open.c index 0053c6300f..94a9f9a586 100644 --- a/cpukit/libcsupport/src/open.c +++ b/cpukit/libcsupport/src/open.c @@ -12,7 +12,7 @@ * On-Line Applications Research Corporation (OAR). * * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/printerfprintfputc.c b/cpukit/libcsupport/src/printerfprintfputc.c index 0c49b12d49..5d14c48768 100644 --- a/cpukit/libcsupport/src/printerfprintfputc.c +++ b/cpukit/libcsupport/src/printerfprintfputc.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/printertask.c b/cpukit/libcsupport/src/printertask.c index 7ae24d7a37..8e0900d3c6 100644 --- a/cpukit/libcsupport/src/printertask.c +++ b/cpukit/libcsupport/src/printertask.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2016 embedded brains GmbH. All rights reserved. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/printf_plugin.c b/cpukit/libcsupport/src/printf_plugin.c index 9d60fbb4a3..a15100c440 100644 --- a/cpukit/libcsupport/src/printf_plugin.c +++ b/cpukit/libcsupport/src/printf_plugin.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/pwdgrp.h b/cpukit/libcsupport/src/pwdgrp.h index bf0eee9424..96adfe9583 100644 --- a/cpukit/libcsupport/src/pwdgrp.h +++ b/cpukit/libcsupport/src/pwdgrp.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/resource_snapshot.c b/cpukit/libcsupport/src/resource_snapshot.c index 271d9193c5..73488c16cb 100644 --- a/cpukit/libcsupport/src/resource_snapshot.c +++ b/cpukit/libcsupport/src/resource_snapshot.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012-2014 embedded brains GmbH. All rights reserved. + * Copyright (C) 2012, 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtems_heap_extend.c b/cpukit/libcsupport/src/rtems_heap_extend.c index d67989fba0..d751db91f7 100644 --- a/cpukit/libcsupport/src/rtems_heap_extend.c +++ b/cpukit/libcsupport/src/rtems_heap_extend.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2011 embedded brains GmbH. All rights reserved. + * Copyright (c) 2011 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtems_heap_extend_via_sbrk.c b/cpukit/libcsupport/src/rtems_heap_extend_via_sbrk.c index 3061d9318d..bb0f9f90ab 100644 --- a/cpukit/libcsupport/src/rtems_heap_extend_via_sbrk.c +++ b/cpukit/libcsupport/src/rtems_heap_extend_via_sbrk.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtems_heap_greedy.c b/cpukit/libcsupport/src/rtems_heap_greedy.c index 9a4c52bc7b..a43cb20744 100644 --- a/cpukit/libcsupport/src/rtems_heap_greedy.c +++ b/cpukit/libcsupport/src/rtems_heap_greedy.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtems_heap_null_extend.c b/cpukit/libcsupport/src/rtems_heap_null_extend.c index 947d3f4c04..2c063c95be 100644 --- a/cpukit/libcsupport/src/rtems_heap_null_extend.c +++ b/cpukit/libcsupport/src/rtems_heap_null_extend.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtems_mkdir.c b/cpukit/libcsupport/src/rtems_mkdir.c index da61253b1f..06d5028898 100644 --- a/cpukit/libcsupport/src/rtems_mkdir.c +++ b/cpukit/libcsupport/src/rtems_mkdir.c @@ -9,7 +9,7 @@ */ /*- - * Copyright (c) 2010 embedded brains GmbH. + * Copyright (c) 2010 embedded brains GmbH & Co. KG * * Copyright (c) 1983, 1992, 1993 * The Regents of the University of California. All rights reserved. diff --git a/cpukit/libcsupport/src/rtems_put_char.c b/cpukit/libcsupport/src/rtems_put_char.c index 5836bcb9dc..171d9980b4 100644 --- a/cpukit/libcsupport/src/rtems_put_char.c +++ b/cpukit/libcsupport/src/rtems_put_char.c @@ -9,7 +9,7 @@ */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtems_putc.c b/cpukit/libcsupport/src/rtems_putc.c index 726893c2f1..a9e84c0043 100644 --- a/cpukit/libcsupport/src/rtems_putc.c +++ b/cpukit/libcsupport/src/rtems_putc.c @@ -9,7 +9,7 @@ */ /* - * Copyright (C) 2012, 2021 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2012, 2021 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/rtemscalloc.c b/cpukit/libcsupport/src/rtemscalloc.c index 7e05a14bb1..5cf9cd9613 100644 --- a/cpukit/libcsupport/src/rtemscalloc.c +++ b/cpukit/libcsupport/src/rtemscalloc.c @@ -9,7 +9,7 @@ */ /* - * Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/setgroups.c b/cpukit/libcsupport/src/setgroups.c index 4da8d5abf1..8f7d7565d6 100644 --- a/cpukit/libcsupport/src/setgroups.c +++ b/cpukit/libcsupport/src/setgroups.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2016 embedded brains GmbH. All rights reserved. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sup_fs_check_permissions.c b/cpukit/libcsupport/src/sup_fs_check_permissions.c index 6cc23dc82f..a3e02dcca4 100644 --- a/cpukit/libcsupport/src/sup_fs_check_permissions.c +++ b/cpukit/libcsupport/src/sup_fs_check_permissions.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sup_fs_eval_path.c b/cpukit/libcsupport/src/sup_fs_eval_path.c index 00e73a63a2..43d7bbbff8 100644 --- a/cpukit/libcsupport/src/sup_fs_eval_path.c +++ b/cpukit/libcsupport/src/sup_fs_eval_path.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sup_fs_eval_path_generic.c b/cpukit/libcsupport/src/sup_fs_eval_path_generic.c index ab6ed915f3..f388f91c3b 100644 --- a/cpukit/libcsupport/src/sup_fs_eval_path_generic.c +++ b/cpukit/libcsupport/src/sup_fs_eval_path_generic.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sup_fs_exist_in_same_instance.c b/cpukit/libcsupport/src/sup_fs_exist_in_same_instance.c index f0cf72c33e..e7c8d755c8 100644 --- a/cpukit/libcsupport/src/sup_fs_exist_in_same_instance.c +++ b/cpukit/libcsupport/src/sup_fs_exist_in_same_instance.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sup_fs_location.c b/cpukit/libcsupport/src/sup_fs_location.c index bbd81d2d48..a121b252fb 100644 --- a/cpukit/libcsupport/src/sup_fs_location.c +++ b/cpukit/libcsupport/src/sup_fs_location.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012-2015 embedded brains GmbH. All rights reserved. + * Copyright (C) 2012, 2015 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,7 +39,6 @@ #include <stdlib.h> #include <rtems/libio_.h> -#include <rtems/score/threaddispatch.h> rtems_interrupt_lock rtems_filesystem_mt_entry_lock_control = RTEMS_INTERRUPT_LOCK_INITIALIZER("mount table entry"); diff --git a/cpukit/libcsupport/src/sup_fs_mount_iterate.c b/cpukit/libcsupport/src/sup_fs_mount_iterate.c index a343abf706..59621dc095 100644 --- a/cpukit/libcsupport/src/sup_fs_mount_iterate.c +++ b/cpukit/libcsupport/src/sup_fs_mount_iterate.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sup_fs_next_token.c b/cpukit/libcsupport/src/sup_fs_next_token.c index 83abfacaab..1e096f2d37 100644 --- a/cpukit/libcsupport/src/sup_fs_next_token.c +++ b/cpukit/libcsupport/src/sup_fs_next_token.c @@ -8,7 +8,7 @@ */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/sync.c b/cpukit/libcsupport/src/sync.c index dc50ae1121..551dfd56bb 100644 --- a/cpukit/libcsupport/src/sync.c +++ b/cpukit/libcsupport/src/sync.c @@ -1,15 +1,15 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /** - * @file + * @file * - * @brief Synchronize Data on Disk with Memory - * @ingroup libcsupport + * @ingroup libcsupport + * + * @brief This source file contains the implementation of sync(). */ /* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). + * Copyright (C) 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -37,76 +37,16 @@ #include "config.h" #endif -#include <sys/reent.h> #include <unistd.h> -#include <stdio.h> - -#include <rtems.h> -#include <rtems/score/thread.h> -#include <rtems/score/percpu.h> -/* In Newlib this function is declared in a private header file */ -int _fwalk_reent (struct _reent *, int (*)(struct _reent *, FILE *)); +#include <rtems/libio_.h> -static int sync_wrapper(struct _reent *reent, FILE *f) +void sync( void ) { - int fn = fileno(f); - - (void) reent; - - /* - * There is no way to report errors here. So this is a best-effort approach. - */ - (void) fsync(fn); - (void) fdatasync(fn); - - return 0; -} - -/* iterate over all FILE *'s for this thread */ -static bool sync_per_thread(Thread_Control *t, void *arg) -{ - struct _reent *current_reent; - struct _reent *this_reent; - - /* - * The sync_wrapper() function will operate on the current thread's - * reent structure so we will temporarily use that. - */ - this_reent = t->libc_reent; - if ( this_reent ) { - Thread_Control *executing = _Thread_Get_executing(); - current_reent = executing->libc_reent; - executing->libc_reent = this_reent; - _fwalk_reent (this_reent, sync_wrapper); - executing->libc_reent = current_reent; - } - - return false; -} - -/** - * This function operates by as follows: - * for all threads - * for all FILE * - * fsync() - * fdatasync() - */ -void sync(void) -{ - - /* - * Walk the one used initially by RTEMS. - */ - _fwalk_reent(_GLOBAL_REENT, sync_wrapper); - - /* - * XXX Do we walk the one used globally by newlib? - * XXX Do we need the RTEMS global one? - */ + int fd; - /* - * Now walk all the per-thread reentrancy structures. - */ - rtems_task_iterate(sync_per_thread, NULL); + for ( fd = 0; fd < (int) rtems_libio_number_iops; ++fd ) { + (void) fsync( fd ); + (void) fdatasync( fd ); + } } diff --git a/cpukit/libcsupport/src/termios_setbestbaud.c b/cpukit/libcsupport/src/termios_setbestbaud.c index c5d83eb391..56152c3dbd 100644 --- a/cpukit/libcsupport/src/termios_setbestbaud.c +++ b/cpukit/libcsupport/src/termios_setbestbaud.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/cpukit/libcsupport/src/termiosinitialize.c b/cpukit/libcsupport/src/termiosinitialize.c index 35aa1eb955..ae80243b2a 100644 --- a/cpukit/libcsupport/src/termiosinitialize.c +++ b/cpukit/libcsupport/src/termiosinitialize.c @@ -1,8 +1,11 @@ /** - * @file + * @file * - * @brief Termios Initialization - * @ingroup Termios + * @ingroup TermiostypesSupport + * + * @brief This source file contains the implementation of + * rtems_termios_device_lock_acquire_default() and + * rtems_termios_device_lock_release_default(). */ /* @@ -17,7 +20,7 @@ #include "config.h" #endif -#include <rtems/termiostypes.h> +#include <rtems/termiosdevice.h> void rtems_termios_device_lock_acquire_default( diff --git a/cpukit/libcsupport/src/uenvgetgroups.c b/cpukit/libcsupport/src/uenvgetgroups.c index da1706e40c..68521f990f 100644 --- a/cpukit/libcsupport/src/uenvgetgroups.c +++ b/cpukit/libcsupport/src/uenvgetgroups.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * * Redistribution and use in source and binary forms, with or without diff --git a/cpukit/libcsupport/src/vprintk.c b/cpukit/libcsupport/src/vprintk.c index ccc2345c79..f4ac81c5fc 100644 --- a/cpukit/libcsupport/src/vprintk.c +++ b/cpukit/libcsupport/src/vprintk.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -38,7 +38,7 @@ #endif #include <rtems/bspIo.h> -#include <rtems/score/io.h> +#include <rtems/dev/io.h> int vprintk( const char *fmt, va_list ap ) { |