[FFmpeg-devel] [PATCH] configure: fix the bigendian test

David Michael fedora.dm0 at gmail.com
Wed Nov 11 17:00:42 EET 2020


There are two issues:

The unused global integer does not make it into the compiled object
file, so declare it static to correct this.

The hexdump output is line-wrapped, so the expected value will not
be matched when its four bytes are split across two lines.  Use the
POSIX "-A n" option to disable printing input offsets and delete
all newline characters to output continuous hex values to grep.

Signed-off-by: David Michael <fedora.dm0 at gmail.com>
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 2f02d7f5c8..52c02a74c8 100755
--- a/configure
+++ b/configure
@@ -5749,9 +5749,9 @@ check_cc pragma_deprecated "" '_Pragma("GCC diagnostic ignored \"-Wdeprecated-de
 
 # The global variable ensures the bits appear unchanged in the object file.
 test_cc <<EOF || die "endian test failed"
-unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
+static unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
 EOF
-od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
+od -A n -t x1 $TMPO | tr -d '\n' | grep -q '42 *49 *47 *45' && enable bigendian
 
 check_cc const_nan math.h "struct { double d; } static const bar[] = { { NAN } }"
 
-- 
2.26.2


More information about the ffmpeg-devel mailing list