[LLVMbugs] [Bug 7856] New: -m32 broken on FreeBSD.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Aug 9 17:58:57 PDT 2010


           Summary: -m32 broken on FreeBSD.
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: Driver
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: pawel.worach at gmail.com
                CC: llvmbugs at cs.uiuc.edu

This is how as and ld should be called:
$ /usr/local/clang+llvm-2.7-amd64-freebsd8/bin/clang -### -m32 a.c
clang version 1.1 (branches/release_27)
Target: i386-unknown-freebsd8.0
Thread model: posix
 "/usr/local/clang+llvm-2.7-amd64-freebsd8/bin/clang" "-cc1" "-triple"
"i386-unknown-freebsd8.0" "-S" "-disable-free" "-main-file-name" "a.c"
"-mrelocation-model" "static" "-mdisable-fp-elim" "-mconstructor-aliases"
"-target-cpu" "pentium4" "-resource-dir"
"/usr/local/clang+llvm-2.7-amd64-freebsd8/lib/clang/1.1" "-fmessage-length"
"80" "-fgnu-runtime" "-fdiagnostics-show-option" "-fcolor-diagnostics" "-o"
"/tmp/cc-1caNk8.s" "-x" "c" "a.c"
 "/usr/bin/as" "--32" "-o" "/tmp/cc-JNwsqV.o" "/tmp/cc-1caNk8.s"
 "/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "-m"
"elf_i386_fbsd" "-o" "a.out" "/usr/lib32/crt1.o" "/usr/lib32/crti.o"
"/usr/lib32/crtbegin.o" "/tmp/cc-JNwsqV.o" "-lgcc" "--as-needed" "-lgcc_s"
"--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
"/usr/lib32/crtend.o" "/usr/lib32/crtn.o"

This is what happens somewhere after r110006-110096 (probably r110025):
$ clang -### -m32 a.c 
clang version 2.8 (trunk 110620)
Target: x86_64-unknown-freebsd8.1
Thread model: posix
 "/usr/opt/llvm/bin/clang" "-cc1" "-triple" "x86_64-unknown-freebsd8.1" "-S"
"-disable-free" "-main-file-name" "a.c" "-mrelocation-model" "static"
"-mdisable-fp-elim" "-mconstructor-aliases" "-munwind-tables" "-target-cpu"
"x86-64" "-resource-dir" "/usr/opt/llvm/lib/clang/2.8" "-ferror-limit" "19"
"-fmessage-length" "80" "-fgnu-runtime" "-fdiagnostics-show-option"
"-fcolor-diagnostics" "-o" "/tmp/cc-oeEs98.s" "-x" "c" "a.c"
 "/usr/bin/as" "-o" "/tmp/cc-HD6JcU.o" "/tmp/cc-oeEs98.s"
 "/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "-o"
"a.out" "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o"
"/tmp/cc-HD6JcU.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc"
"/usr/lib/crtend.o" "/usr/lib/crtn.o"

Adding -ccc-host-triple i386-unknown-freebsd8.1 fixes target-cpu for -cc1 and
the --32 argument to as but ld still uses lib instead of lib32 and misses the
-m argument.

$  clang -m32 -c a.c 
clang: warning: argument unused during compilation: '-m32'

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list