On Mon, Nov 29, 2021, 4:29 AM Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote:
> Splitting the file avoids unnecessary link-time dependencies. > How? What were they? All bsps compile and link with the per item options so what tripped the dependency? Adding that to the log message would be appreciated --- > cpukit/score/src/wkspace.c | 15 --------- > cpukit/score/src/wkspaceallocate.c | 47 +++++++++++++++++++++++++++ > cpukit/score/src/wkspacefree.c | 51 ++++++++++++++++++++++++++++++ > spec/build/cpukit/librtemscpu.yml | 2 ++ > 4 files changed, 100 insertions(+), 15 deletions(-) > create mode 100644 cpukit/score/src/wkspaceallocate.c > create mode 100644 cpukit/score/src/wkspacefree.c > > diff --git a/cpukit/score/src/wkspace.c b/cpukit/score/src/wkspace.c > index e4ba753435..7930a1fdc1 100644 > --- a/cpukit/score/src/wkspace.c > +++ b/cpukit/score/src/wkspace.c > @@ -13,7 +13,6 @@ > > /* > * Copyright (C) 2012, 2020 embedded brains GmbH ( > http://www.embedded-brains.de) > - * Copyright (C) 1989, 2008 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 > @@ -126,17 +125,3 @@ void _Workspace_Handler_initialization( > > _Heap_Protection_set_delayed_free_fraction( &_Workspace_Area, 1 ); > } > - > -void *_Workspace_Allocate( size_t size ) > -{ > - return _Heap_Allocate( &_Workspace_Area, size ); > -} > - > -void _Workspace_Free( void *block ) > -{ > - bool ok; > - > - ok = _Heap_Free( &_Workspace_Area, block ); > - _Assert( ok ); > - (void) ok; > -} > diff --git a/cpukit/score/src/wkspaceallocate.c > b/cpukit/score/src/wkspaceallocate.c > new file mode 100644 > index 0000000000..40a4d35eb1 > --- /dev/null > +++ b/cpukit/score/src/wkspaceallocate.c > @@ -0,0 +1,47 @@ > +/* SPDX-License-Identifier: BSD-2-Clause */ > + > +/** > + * @file > + * > + * @ingroup RTEMSScoreWorkspace > + * > + * @brief This source file contains the implementation of > + * _Workspace_Allocate(). > + */ > + > +/* > + * Copyright (C) 1989, 2008 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/wkspace.h> > +#include <rtems/score/heapimpl.h> > + > +void *_Workspace_Allocate( size_t size ) > +{ > + return _Heap_Allocate( &_Workspace_Area, size ); > +} > diff --git a/cpukit/score/src/wkspacefree.c > b/cpukit/score/src/wkspacefree.c > new file mode 100644 > index 0000000000..c09a9ee0c1 > --- /dev/null > +++ b/cpukit/score/src/wkspacefree.c > @@ -0,0 +1,51 @@ > +/* SPDX-License-Identifier: BSD-2-Clause */ > + > +/** > + * @file > + * > + * @ingroup RTEMSScoreWorkspace > + * > + * @brief This source file contains the implementation of > _Workspace_Free(). > + */ > + > +/* > + * Copyright (C) 1989, 2008 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/wkspace.h> > +#include <rtems/score/assert.h> > +#include <rtems/score/heapimpl.h> > + > +void _Workspace_Free( void *block ) > +{ > + bool ok; > + > + ok = _Heap_Free( &_Workspace_Area, block ); > + _Assert( ok ); > + (void) ok; > +} > diff --git a/spec/build/cpukit/librtemscpu.yml > b/spec/build/cpukit/librtemscpu.yml > index 111b6867ed..b6b3a09c2b 100644 > --- a/spec/build/cpukit/librtemscpu.yml > +++ b/spec/build/cpukit/librtemscpu.yml > @@ -1599,7 +1599,9 @@ source: > - cpukit/score/src/watchdogtick.c > - cpukit/score/src/watchdogtickssinceboot.c > - cpukit/score/src/watchdogtimeslicedefault.c > +- cpukit/score/src/wkspaceallocate.c > - cpukit/score/src/wkspace.c > +- cpukit/score/src/wkspacefree.c > - cpukit/score/src/wkspaceisunifieddefault.c > - cpukit/score/src/wkspacemallocinitdefault.c > - cpukit/score/src/wkspacemallocinitunified.c > -- > 2.31.1 > > _______________________________________________ > 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