• Paul Burton's avatar
    MIPS: VDSO: Force link endianness · 2f002567
    Paul Burton authored
    When building the VDSO with clang it appears to invoke ld without
    specifying endianness, even though clang itself was provided with a -EB
    or -EL flag. This results in the build failing due to a mismatch between
    the objects that are the input to ld, and the output it is attempting to
    create:
    
      VDSO    arch/mips/vdso/vdso.so.dbg.raw
      mips-linux-ld: arch/mips/vdso/elf.o: compiled for a big endian system
        and target is little endian
      mips-linux-ld: arch/mips/vdso/elf.o: endianness incompatible with that
        of the selected emulation
      mips-linux-ld: failed to merge target specific data of file
        arch/mips/vdso/elf.o
      ...
    
    Work around this problem by explicitly specifying the link endianness
    using -Wl,-EB or -Wl,-EL when -EB or -EL are part of KBUILD_CFLAGS. This
    resolves the build failure when using clang, and doesn't have any
    negative effect on gcc.
    Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
    2f002567
Makefile 5.21 KB