This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Building with function tracing....
- To: ecos discussion list <ecos-discuss at sources dot redhat dot com>
- Subject: [ECOS] Building with function tracing....
- From: Richard Panton <rpanton at 3glab dot com>
- Date: Thu, 14 Jun 2001 14:31:28 +0100 (BST)
Fails around the fileio package:
/opt/ecos/packages/io/fileio/current/src/file.cxx: In function `int
open(const char *, int, ...)':
/opt/ecos/packages/io/fileio/current/src/file.cxx:195:
`cyg_tracefunction_report_' undeclared (first use this function)
/opt/ecos/packages/io/fileio/current/src/file.cxx:195: (Each undeclared
identifier is reported only once
/opt/ecos/packages/io/fileio/current/src/file.cxx:195: for each function
it appears in.)
This appears to be due to the definition (in io/fileio/current/src/fio.h)
of FILEIO_ENTRY():
#define FILEIO_ENTRY() \
CYG_MACRO_START \
CYG_REPORT_FUNCTYPE( "returning %d" ); \
CYG_FILEIO_FUNCTION_START(); \
CYG_MACRO_END
As CYG_REPORT_FUNCTYPE() declares an object (cyg_tracefunction_report_)
which must be available to CYG_REPORT_RETVAL(), it seems to me that the
CYG_MACRO_START/CYG_MACRO_END pair should be removed in this macro to
allow the object to have function-wide scope.
[And indeed, this change makes it work ;-]
Richard Panton
3G Lab Ltd.