mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
87
cpukit/include/rtems/score/gcov.h
Normal file
87
cpukit/include/rtems/score/gcov.h
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup RTEMSScoreGcov
|
||||||
|
*
|
||||||
|
* @brief This header file provides the interfaces of the
|
||||||
|
* @ref RTEMSScoreGcov.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2013-2014 embedded brains GmbH. All rights reserved.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _RTEMS_SCORE_GCOV_H
|
||||||
|
#define _RTEMS_SCORE_GCOV_H
|
||||||
|
|
||||||
|
#include <gcov.h>
|
||||||
|
|
||||||
|
#include <rtems/linkersets.h>
|
||||||
|
#include <rtems/score/io.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @defgroup RTEMSScoreGcov Gcov Support
|
||||||
|
*
|
||||||
|
* @ingroup RTEMSScore
|
||||||
|
*
|
||||||
|
* @brief This group contains the gocv support.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
RTEMS_LINKER_ROSET_DECLARE( gcov_info, const struct gcov_info * );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Dumps the gcov information as a binary gcfn and gcda data
|
||||||
|
* stream using the put character handler.
|
||||||
|
*
|
||||||
|
* @param put_char is the put character handler used to output the data stream.
|
||||||
|
*
|
||||||
|
* @param arg is the argument passed to the put character handler.
|
||||||
|
*/
|
||||||
|
void _Gcov_Dump_info( IO_Put_char put_char, void *arg );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Dumps the gcov information as a base64 encoded gcfn and gcda data
|
||||||
|
* stream using the put character handler.
|
||||||
|
*
|
||||||
|
* @param put_char is the put character handler used to output the data stream.
|
||||||
|
*
|
||||||
|
* @param arg is the argument passed to the put character handler.
|
||||||
|
*/
|
||||||
|
void _Gcov_Dump_info_base64( IO_Put_char put_char, void *arg );
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* _RTEMS_SCORE_GCOV_H */
|
||||||
@@ -331,6 +331,12 @@ RTEMS_NO_RETURN void rtems_test_run(
|
|||||||
const RTEMS_TEST_STATE state
|
const RTEMS_TEST_STATE state
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Dumps the gcov information as a base64 encoded gcfn and gcda data
|
||||||
|
* stream using rtems_put_char().
|
||||||
|
*/
|
||||||
|
void rtems_test_gcov_dump_info( void );
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
66
cpukit/libtest/testgcovdumpinfo.c
Normal file
66
cpukit/libtest/testgcovdumpinfo.c
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup RTEMSTest
|
||||||
|
*
|
||||||
|
* @brief This source file contains the implementation of
|
||||||
|
* rtems_test_gcov_dump_info().
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021, 2022 embedded brains GmbH
|
||||||
|
*
|
||||||
|
* 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/test-info.h>
|
||||||
|
|
||||||
|
#include <rtems/score/gcov.h>
|
||||||
|
#include <rtems/score/isrlock.h>
|
||||||
|
#include <rtems/bspIo.h>
|
||||||
|
|
||||||
|
ISR_LOCK_DEFINE( static, gcov_dump_lock, "gcov dump" );
|
||||||
|
|
||||||
|
static bool gcov_dump_done;
|
||||||
|
|
||||||
|
void rtems_test_gcov_dump_info( void )
|
||||||
|
{
|
||||||
|
ISR_lock_Context lock_context;
|
||||||
|
|
||||||
|
_ISR_lock_ISR_disable_and_acquire( &gcov_dump_lock, &lock_context );
|
||||||
|
|
||||||
|
if ( !gcov_dump_done ) {
|
||||||
|
gcov_dump_done = true;
|
||||||
|
|
||||||
|
_IO_Printf( rtems_put_char, NULL, "\n*** BEGIN OF GCOV INFO BASE64 ***\n" );
|
||||||
|
_Gcov_Dump_info_base64( rtems_put_char, NULL );
|
||||||
|
_IO_Printf( rtems_put_char, NULL, "\n*** END OF GCOV INFO BASE64 ***\n" );
|
||||||
|
}
|
||||||
|
|
||||||
|
_ISR_lock_Release_and_ISR_enable( &gcov_dump_lock, &lock_context );
|
||||||
|
}
|
||||||
96
cpukit/score/src/gcovdumpinfo.c
Normal file
96
cpukit/score/src/gcovdumpinfo.c
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup RTEMSScoreIO
|
||||||
|
*
|
||||||
|
* @brief This source file contains the implementation of _Gcov_Ddump_info().
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021, 2022 embedded brains GmbH
|
||||||
|
*
|
||||||
|
* 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/gcov.h>
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
IO_Put_char put_char;
|
||||||
|
void *arg;
|
||||||
|
} Gcov_Context;
|
||||||
|
|
||||||
|
static void _Gcov_Dump( const void *data, unsigned length, void *arg )
|
||||||
|
{
|
||||||
|
Gcov_Context *ctx;
|
||||||
|
IO_Put_char put_char;
|
||||||
|
void *ctx_arg;
|
||||||
|
const char *in;
|
||||||
|
const void *end;
|
||||||
|
|
||||||
|
ctx = arg;
|
||||||
|
in = data;
|
||||||
|
end = in + length;
|
||||||
|
put_char = ctx->put_char;
|
||||||
|
ctx_arg = ctx->arg;
|
||||||
|
|
||||||
|
while ( in != end ) {
|
||||||
|
( *put_char )( *in, ctx_arg );
|
||||||
|
++in;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _Gcov_Filename( const char *filename, void *arg )
|
||||||
|
{
|
||||||
|
__gcov_filename_to_gcfn( filename, _Gcov_Dump, arg );
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *_Gcov_Allocate( unsigned length, void *arg )
|
||||||
|
{
|
||||||
|
(void) length;
|
||||||
|
(void) arg;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void _Gcov_Dump_info( IO_Put_char put_char, void *arg )
|
||||||
|
{
|
||||||
|
Gcov_Context ctx;
|
||||||
|
const struct gcov_info * const *item;
|
||||||
|
|
||||||
|
ctx.put_char = put_char;
|
||||||
|
ctx.arg = arg;
|
||||||
|
|
||||||
|
RTEMS_LINKER_SET_FOREACH( gcov_info, item ) {
|
||||||
|
__gcov_info_to_gcda(
|
||||||
|
*item,
|
||||||
|
_Gcov_Filename,
|
||||||
|
_Gcov_Dump,
|
||||||
|
_Gcov_Allocate,
|
||||||
|
&ctx
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
104
cpukit/score/src/gcovdumpinfobase64.c
Normal file
104
cpukit/score/src/gcovdumpinfobase64.c
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup RTEMSScoreIO
|
||||||
|
*
|
||||||
|
* @brief This source file contains the implementation of
|
||||||
|
* _Gcov_Dump_info_base64().
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021, 2022 embedded brains GmbH
|
||||||
|
*
|
||||||
|
* 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/gcov.h>
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
IO_Put_char put_char;
|
||||||
|
void *arg;
|
||||||
|
int out;
|
||||||
|
size_t index;
|
||||||
|
char buf[ 57 ];
|
||||||
|
} Gcov_Base64_context;
|
||||||
|
|
||||||
|
static void _Gcov_Base64_put_char( int c, void *arg )
|
||||||
|
{
|
||||||
|
Gcov_Base64_context *ctx;
|
||||||
|
|
||||||
|
ctx = arg;
|
||||||
|
|
||||||
|
( *ctx->put_char )( c, ctx->arg );
|
||||||
|
++ctx->out;
|
||||||
|
|
||||||
|
if ( ctx->out >= 76 ) {
|
||||||
|
ctx->out = 0;
|
||||||
|
( *ctx->put_char )( '\n', ctx->arg );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _Gcov_Base64_encode( int c, void *arg )
|
||||||
|
{
|
||||||
|
Gcov_Base64_context *ctx;
|
||||||
|
size_t index;
|
||||||
|
|
||||||
|
ctx = arg;
|
||||||
|
index = ctx->index;
|
||||||
|
ctx->buf[ index ] = (char) c;
|
||||||
|
|
||||||
|
if ( index == RTEMS_ARRAY_SIZE( ctx->buf ) - 1 ) {
|
||||||
|
index = 0;
|
||||||
|
_IO_Base64(
|
||||||
|
_Gcov_Base64_put_char,
|
||||||
|
ctx,
|
||||||
|
ctx->buf,
|
||||||
|
sizeof( ctx->buf ),
|
||||||
|
NULL,
|
||||||
|
INT_MAX
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
++index;
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx->index = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
void _Gcov_Dump_info_base64( IO_Put_char put_char, void *arg )
|
||||||
|
{
|
||||||
|
Gcov_Base64_context ctx;
|
||||||
|
|
||||||
|
memset( &ctx, 0, sizeof( ctx ) );
|
||||||
|
ctx.put_char = put_char;
|
||||||
|
ctx.arg = arg;
|
||||||
|
_Gcov_Dump_info( _Gcov_Base64_encode, &ctx );
|
||||||
|
_IO_Base64( _Gcov_Base64_put_char, &ctx, ctx.buf, ctx.index, NULL, INT_MAX );
|
||||||
|
}
|
||||||
43
cpukit/score/src/gcovinfoset.c
Normal file
43
cpukit/score/src/gcovinfoset.c
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-2-Clause */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup RTEMSScoreIO
|
||||||
|
*
|
||||||
|
* @brief This source file contains the definition of the gcov information
|
||||||
|
* linker set.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021, 2022 embedded brains GmbH
|
||||||
|
*
|
||||||
|
* 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/gcov.h>
|
||||||
|
|
||||||
|
RTEMS_LINKER_ROSET( gcov_info, const struct gcov_info * );
|
||||||
@@ -1403,6 +1403,9 @@ source:
|
|||||||
- cpukit/score/src/debugisthreaddispatchingallowed.c
|
- cpukit/score/src/debugisthreaddispatchingallowed.c
|
||||||
- cpukit/score/src/freechain.c
|
- cpukit/score/src/freechain.c
|
||||||
- cpukit/score/src/futex.c
|
- cpukit/score/src/futex.c
|
||||||
|
- cpukit/score/src/gcovdumpinfobase64.c
|
||||||
|
- cpukit/score/src/gcovdumpinfo.c
|
||||||
|
- cpukit/score/src/gcovinfoset.c
|
||||||
- cpukit/score/src/hash.c
|
- cpukit/score/src/hash.c
|
||||||
- cpukit/score/src/heap.c
|
- cpukit/score/src/heap.c
|
||||||
- cpukit/score/src/heapallocate.c
|
- cpukit/score/src/heapallocate.c
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ source:
|
|||||||
- cpukit/libtest/testbeginend.c
|
- cpukit/libtest/testbeginend.c
|
||||||
- cpukit/libtest/testbusy.c
|
- cpukit/libtest/testbusy.c
|
||||||
- cpukit/libtest/testextension.c
|
- cpukit/libtest/testextension.c
|
||||||
|
- cpukit/libtest/testgcovdumpinfo.c
|
||||||
- cpukit/libtest/testparallel.c
|
- cpukit/libtest/testparallel.c
|
||||||
- cpukit/libtest/testrun.c
|
- cpukit/libtest/testrun.c
|
||||||
- cpukit/libtest/testwrappers.c
|
- cpukit/libtest/testwrappers.c
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <rtems/bspIo.h>
|
#include <rtems/bspIo.h>
|
||||||
|
#include <rtems/test-info.h>
|
||||||
#include <rtems/score/atomic.h>
|
#include <rtems/score/atomic.h>
|
||||||
#include <rtems/score/io.h>
|
#include <rtems/score/io.h>
|
||||||
#include <rtems/score/percpu.h>
|
#include <rtems/score/percpu.h>
|
||||||
@@ -150,7 +151,7 @@ void __wrap__CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr code )
|
|||||||
longjmp( before_terminate, 1 );
|
longjmp( before_terminate, 1 );
|
||||||
} else {
|
} else {
|
||||||
#if defined(RTEMS_COVERAGE)
|
#if defined(RTEMS_COVERAGE)
|
||||||
_IO_Dump_gcov_info( rtems_put_char, NULL );
|
rtems_test_gcov_dump_info();
|
||||||
#endif
|
#endif
|
||||||
__real__CPU_Fatal_halt( source, code );
|
__real__CPU_Fatal_halt( source, code );
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user