This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Building with function tracing....


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.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]