diff --git a/media/ffvpx/libavutil_visibility.h b/media/ffvpx/libavutil_visibility.h index a5cce0844a..706aacdf32 100644 --- a/media/ffvpx/libavutil_visibility.h +++ b/media/ffvpx/libavutil_visibility.h @@ -9,6 +9,15 @@ #ifndef MOZILLA_AVUTIL_VISIBILITY_H #define MOZILLA_AVUTIL_VISIBILITY_H +// We need to preemptively include before anyone[1] has a chance +// to include . We do this to avoid a Linux clang build error, in +// -ffreestanding mode, which happens when limits.h defines MB_LEN_MAX to some +// value that is different from what stdlib.h expects. If we include stdlib.h +// before limits.h, then they don't get a chance to interact badly. +// +// [1] (e.g. libavutil/common.h, which is indirectly included by log.h below.) +#include + #pragma GCC visibility push(default) #include "libavutil/cpu.h"