[cfe-dev] Clang as back-end

Juan Carlos Martinez Santos juanc.martinez.santos at gmail.com
Thu Oct 15 13:54:21 PDT 2009


Hello,

 I tried to test the qualifier address_space so I used the example in the
web site: http://clang.llvm.org/docs/LanguageExtensions.html#x86-specific

I used <clang-cc + llvm-as + llc>, and I got the expected result; however,
when I tried to generated the executable, I got the bellow error.

Any idea that what can be wrong.

Thanks in advance,

Juan Carlos

***************
*** Result ***
***************
~/test$ <8 at emperor:~/test$> clang addrspace2.c -o addrspace2.exe -v
clang version 1.1 (trunk 83900)
Target: i386-pc-linux-gnu
Thread model: posix
 "/home/jcmartin78/llvm/Debug/bin/clang-cc" -triple i386-pc-linux-gnu -S
-disable-free -main-file-name addrspace2.c --relocation-model static
--disable-fp-elim --unwind-tables=0 --mcpu=pentium4 --fmath-errno=1 -v
-fexceptions=0 -fdiagnostics-show-option -o /tmp/cc-3YHq3X.s -x c
addrspace2.c
clang-cc version 1.1 based upon llvm 2.7svn hosted on i386-pc-linux-gnu
ignoring nonexistent directory "/System/Library/Frameworks"
ignoring nonexistent directory "/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /home/jcmartin78/llvm/Debug/lib/clang/1.1/include
 /usr/local/include
 /usr/include
End of search list.
 "/usr/bin/gcc" -v -c -m32 -o /tmp/cc-Jp3bRb.o -x assembler /tmp/cc-3YHq3X.s
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
--enable-targets=all --with-tune=generic --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
COLLECT_GCC_OPTIONS='-v' '-c' '-m32' '-o' '/tmp/cc-Jp3bRb.o'
'-mtune=generic'
 as -V -Qy --32 -o /tmp/cc-Jp3bRb.o /tmp/cc-3YHq3X.s
GNU assembler version 2.19.1 (i486-linux-gnu) using BFD version (GNU
Binutils for Ubuntu) 2.19.1
COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-c' '-m32' '-o' '/tmp/cc-Jp3bRb.o'
'-mtune=generic'
 "/usr/bin/gcc" -v -m32 -o addrspace2.exe /tmp/cc-Jp3bRb.o
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
--enable-targets=all --with-tune=generic --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-m32' '-o' 'addrspace2.exe' '-mtune=generic'
 /usr/lib/gcc/i486-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_i386
--hash-style=both -dynamic-linker /lib/ld-linux.so.2 -o addrspace2.exe -z
relro /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/crtbegin.o
-L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3
-L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib -L/lib/../lib
-L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../..
/tmp/cc-Jp3bRb.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc
--as-needed -lgcc_s --no-as-needed
/usr/lib/gcc/i486-linux-gnu/4.3.3/crtend.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: In function
`_start':
/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:115: undefined
reference to `main'
collect2: ld returned 1 exit status
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
***************************

On Thu, Oct 15, 2009 at 3:47 PM, Douglas Gregor <dgregor at apple.com> wrote:

> Please always reply to the cfe-dev mailing list.
>
> On Oct 15, 2009, at 12:32 PM, Juan Carlos Martinez Santos wrote:
>
> Hello Douglas,
>>
>> I see that clang support address space #256 and #257. What about others?
>>
>
> Clang just passes the address space through to LLVM; it doesn't care what
> address space number you use.
>
> For the technical report I read that the address space is supported in C
>> language because some architectures support multiple-spaces. Is x86 one of
>> them?
>>
>
> I don't know what happens to address spaces on x86.
>
> How I can specify customs address spaces? This parts bellows to the
>> back-end, doesn't?
>>
>
> Yes, it's all handled in the back-end. For custom address spaces, just use
> a different address space number.
>
>        - Doug
>



-- 
Juan Carlos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20091015/715df72c/attachment.html>


More information about the cfe-dev mailing list