fix build regression on mips64 due to endian.h removal
authorRich Felker <dalias@aerifal.cx>
Tue, 5 Nov 2019 15:15:11 +0000 (10:15 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 5 Nov 2019 15:15:11 +0000 (10:15 -0500)
commit 4d3a162d001a93edd285fb6603a883c30ae553ba overlooked that the
mips64 reloc.h dependent on endian.h not only for setting the ABI ldso
name to match the byte order, but also for use of the byte swapping
macros. they are needed to override R_TYPE, R_SYM, and R_INFO, to
compensate for a mips "quirk" of always using big endian order for
symbol references in relocations.

part of that commit canot be reverted because the original code was
wrong: it's invalid to define _GNU_SOURCE or any feature test macro
in reloc.h, or anywhere except at the top of a source file. however,
thanks to commit 316730cdc7a330cddf288b4e5c1de5daa64e19f4, the feature
test macro is no longer needed to access the endian-swapping macros,
so simply bringing back the #include directive suffices.

arch/mips64/reloc.h

index 7e61e225912319d5b2508f9a3bb6ec9cd835ad3e..fdb5edc9ca52fa13ed3ef84d6ffa63f74749b390 100644 (file)
@@ -27,6 +27,8 @@
 #define REL_DTPOFF      R_MIPS_TLS_DTPREL64
 #define REL_TPOFF       R_MIPS_TLS_TPREL64
 
+#include <endian.h>
+
 #undef R_TYPE
 #undef R_SYM
 #undef R_INFO