Sebastian wrote: > ../gcc-4.2.4/configure --target=arm-elf --prefix=/usr/cross/ > --with-gnu-as --with-gnu-ld --with-newlib > --with-headers=/usr/cross/arm-elf/include --enable-libgomp OpenMP is a property of the target, not the host. This means the target needs a pthreads API in order to support generating OpenMP code. arm-elf is a bare metal target (no operating system) and with just newlib you won't have any threading support, so this can't possibly work. Note that this has nothing to do with the capabilities or thread model of the host -- that is exactly what is valuable about a cross compiler. --enable-threads=win32 is nonsensical for a *-elf target, because bare metal has nothing to do with Windows. Again, this is specifying the thread model of the target, not the host. And when you try to specify a posix thread model of the target, you get errors because newlib alone on a bare metal system doesn't support threads and the pthreads functions don't exist. You need to be more clear about what you hope to achieve here. If you aren't actually targeting an ARM bare metal system then you need to specify the appropriate target, in conjunction with providing a sysroot of that target containing the appropriate headers and libraries. Brian