Hi, The attached patch adds logging support for sid components in 3 stages: 1) Add a new level to the sid component heirarchy o fixed_attribute_map_with_logging_component inherits fixed_attribute_map_component and provides the logging capability o An output pin, ulog_out_pin, is defined here through which the log data is output. o printf-like logging (my immediate need) is provided via the 'void log (level, const char *fmt, ...)' method o Attributes record the logging settings (see options below) o A nice future addition would be a 'log (level)' method which would return some kind of stream object. 2) Add capability to sid-io-stdio (sid/consoles/stdio.cxx) for writing output to a file. o This provides logging to stdout or to a via via the component's ulog_out_pin 3) Expand the command line interface for sid o 3 new options control logging behavior --ulog-level=INTEGER --ulog-mode={less|match|equal} --ulog-file=FILENAME o As with many options, these relate to the previous --board specified or provide settings for all boards if specified before the first --board option. o The board level settings are kept in BoardCfg (sid/main/dynamic/commonCfg.h) by inhereting a new UlogCfg o The global level settings are kept in SessionCfg also by inherting from UlogCfg o Configuration may then use this info to set attributes and connect pins in the desired components to activate the logging feature. NOTES: o I needed to use vsnprintf or vasprintf if available and so I added checks for them in sid/component/configure.in o I needed to define _ISOC99_SOURCE for vsnprintf or _GNU_SOURCE for vasprintf and so we now also have to define _BSD_SOURCE and _SVID_SOURCE which are normally defined by default if no _XXXXX_SOURCE is defined. o I included the regenerated sid/component/config.h in the patch so you can see the new macros. I'm requesting review of this patch, especially the placement of the new functionality in the component heirarchy and the configury changes to sid/component. Thanks, Dave