\r
 void vApplicationSetupTimerInterrupt( void );\r
 \r
+/* sizeof( int ) != sizeof( long ) so a full printf() library is required if\r
+run time stats information is to be displayed. */\r
+#define portLU_PRINTF_SPECIFIER_REQUIRED\r
+\r
 #endif /* PORTMACRO_H */\r
 \r
 
        \r
 void vApplicationSetupTimerInterrupt( void );\r
 \r
+/* sizeof( int ) != sizeof( long ) so a full printf() library is required if\r
+run time stats information is to be displayed. */\r
+#define portLU_PRINTF_SPECIFIER_REQUIRED\r
+\r
 #endif /* PORTMACRO_H */\r
 \r
 
 \r
                                        if( ulStatsAsPercentage > 0UL )\r
                                        {\r
-                                               sprintf( pcStatsString, ( char * ) "%s\t\t%lu\t\t%lu%%\r\n", pxNextTCB->pcTaskName, pxNextTCB->ulRunTimeCounter, ulStatsAsPercentage );\r
+                                               #ifdef portLU_PRINTF_SPECIFIER_REQUIRED\r
+                                               {\r
+                                                       sprintf( pcStatsString, ( char * ) "%s\t\t%lu\t\t%lu%%\r\n", pxNextTCB->pcTaskName, pxNextTCB->ulRunTimeCounter, ulStatsAsPercentage );                                                 \r
+                                               }\r
+                                               #else\r
+                                               {\r
+                                                       /* sizeof( int ) == sizeof( long ) so a smaller\r
+                                                       printf() library can be used. */\r
+                                                       sprintf( pcStatsString, ( char * ) "%s\t\t%u\t\t%u%%\r\n", pxNextTCB->pcTaskName, ( unsigned int ) pxNextTCB->ulRunTimeCounter, ( unsigned int ) ulStatsAsPercentage );\r
+                                               }\r
+                                               #endif\r
                                        }\r
                                        else\r
                                        {\r
                                                /* If the percentage is zero here then the task has\r
                                                consumed less than 1% of the total run time. */\r
-                                               sprintf( pcStatsString, ( char * ) "%s\t\t%lu\t\t<1%%\r\n", pxNextTCB->pcTaskName, pxNextTCB->ulRunTimeCounter );\r
+                                               #ifdef portLU_PRINTF_SPECIFIER_REQUIRED\r
+                                               {\r
+                                                       sprintf( pcStatsString, ( char * ) "%s\t\t%lu\t\t<1%%\r\n", pxNextTCB->pcTaskName, pxNextTCB->ulRunTimeCounter );                                                       \r
+                                               }\r
+                                               #else\r
+                                               {\r
+                                                       /* sizeof( int ) == sizeof( long ) so a smaller\r
+                                                       printf() library can be used. */\r
+                                                       sprintf( pcStatsString, ( char * ) "%s\t\t%u\t\t<1%%\r\n", pxNextTCB->pcTaskName, ( unsigned int ) pxNextTCB->ulRunTimeCounter );\r
+                                               }\r
+                                               #endif\r
                                        }\r
                                }\r
 \r