MIPS: tools: Fix relocs tool compiler warnings
[cascardo/linux.git] / arch / mips / boot / tools / relocs_64.c
index b671b5e..06066e6 100644 (file)
@@ -9,17 +9,20 @@
 
 typedef uint8_t Elf64_Byte;
 
-typedef struct {
-       Elf64_Word r_sym;       /* Symbol index.  */
-       Elf64_Byte r_ssym;      /* Special symbol.  */
-       Elf64_Byte r_type3;     /* Third relocation.  */
-       Elf64_Byte r_type2;     /* Second relocation.  */
-       Elf64_Byte r_type;      /* First relocation.  */
+typedef union {
+       struct {
+               Elf64_Word r_sym;       /* Symbol index.  */
+               Elf64_Byte r_ssym;      /* Special symbol.  */
+               Elf64_Byte r_type3;     /* Third relocation.  */
+               Elf64_Byte r_type2;     /* Second relocation.  */
+               Elf64_Byte r_type;      /* First relocation.  */
+       } fields;
+       Elf64_Xword unused;
 } Elf64_Mips_Rela;
 
 #define ELF_CLASS               ELFCLASS64
-#define ELF_R_SYM(val)          (((Elf64_Mips_Rela *)(&val))->r_sym)
-#define ELF_R_TYPE(val)         (((Elf64_Mips_Rela *)(&val))->r_type)
+#define ELF_R_SYM(val)          (((Elf64_Mips_Rela *)(&val))->fields.r_sym)
+#define ELF_R_TYPE(val)         (((Elf64_Mips_Rela *)(&val))->fields.r_type)
 #define ELF_ST_TYPE(o)          ELF64_ST_TYPE(o)
 #define ELF_ST_BIND(o)          ELF64_ST_BIND(o)
 #define ELF_ST_VISIBILITY(o)    ELF64_ST_VISIBILITY(o)