diff --git a/sdk/boards/sonata-prerelease.json b/sdk/boards/sonata-prerelease.json index 83f22114..130785db 100644 --- a/sdk/boards/sonata-prerelease.json +++ b/sdk/boards/sonata-prerelease.json @@ -92,7 +92,8 @@ "SUNBURST_SHADOW_SIZE=0x800", "ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM=1", "ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM=1", - "CHERIOT_NO_SAIL_83" + "CHERIOT_NO_SAIL_83", + "STDERR_TO_STDOUT=1" ], "cxflags": "-mllvm -enable-machine-outliner=never", "driver_includes" : [ diff --git a/sdk/include/stdio.h b/sdk/include/stdio.h index 9448b5c3..884924e9 100644 --- a/sdk/include/stdio.h +++ b/sdk/include/stdio.h @@ -28,12 +28,16 @@ typedef volatile void FILE; #elif DEVICE_EXISTS(uart) # define stdout MMIO_CAPABILITY(void, uart) # define stdin MMIO_CAPABILITY(void uart) +#else +#error No device found for stdout and stderr #endif -#if DEVICE_EXISTS(uart1) +#if DEVICE_EXISTS(uart1) && !STDERR_TO_STDOUT # define stderr MMIO_CAPABILITY(void, uart1) #elif defined(stdout) # define stderr stdout +#else +#error No device found for stderr #endif int __cheri_libcall vfprintf(FILE *stream, const char *fmt, va_list ap);