Package: clang
Version: 2.7-3
Severity: normal
File: /usr/bin/clang

clang is unable to compile a trivial program on MIPS due to a glibc dependency on GCC-specific macros. Here is a command that demonstrates the failure:

$ echo '#include <stdlib.h>' | clang -x c -
clang: warning: unknown platform, assuming -mfloat-abi=soft
In file included from <stdin>:1:
In file included from /usr/include/stdlib.h:320:
In file included from /usr/include/sys/types.h:31:
/usr/include/bits/types.h:128:3: error: #error

The problem is that glibc expects the macro _MIPS_SZPTR to be defined by the compiler. Clang does not appear to define this macro. Glibc uses _MIPS_SZPTR to set the value of __WORDSIZE, so you can workaround the compilation issue like this:

    printf "#define _MIPS_SZPTR 32\n#include <stdlib.h>\n" | clang -x c -

The Linux kernel sources mention several other MIPS-related macros that are specific to GCC and may not be implemented by other compilers [1].

[1] http://www.kneuro.net/cgi-bin/lxr/http/source/include/asm-mips/sgidefs.h#L35



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to