clang options question

andrew clarke mail at
Tue Oct 16 17:25:18 UTC 2012

On Tue 2012-10-16 10:52:36 UTC-0500, Scott Bennett (bennett at wrote:

> From looking at the clang(1) man page, it is not clear to me what the
> difference is between the -arch option and the -march= option.  Would
> someone please summarize the difference(s) for me?  Thanks much!

>From the users POV, clang is supposed to be a drop-in replacement for
gcc, where -arch is also an option. Looking online though, it would
appear it's an Apple Darwin (OS X) only feature of gcc for generating
universal binaries.

The question is a bit academic as it doesn't actually do anything in
FreeBSD, at least not for me:

$ clang -o hello -arch x86_64 hello.c
clang: warning: argument unused during compilation: '-arch x86_64'

$ clang -v
clang version 3.1 (branches/release_31)
Target: amd64-portbld-freebsd8.3
Thread model: posix

Nor in Linux (an old version, admittedly):

$ clang -o hello -arch i386 hello.c
clang: warning: argument unused during compilation: '-arch i386'

$ clang -v
clang version 1.1 (branches/release_27)
Target: x86_64-pc-linux-gnu
Thread model: posix


More information about the freebsd-questions mailing list