[LLVMdev] version 1.0, compiling under cygwin

Brian R. Gaeke gaeke at uiuc.edu
Sat Oct 25 11:49:01 PDT 2003


Hi,

>   (just for fun) I've tried to compile LLVM under cygwin.

Thanks! This is very helpful.

As I think you implied, RTLD_{LAZY,NOW,GLOBAL} are not really handles
that can be passed to dlsym; rather, they're flags for dlopen.
For GetAddressOfSymbol() on Windows in general, it may be more appropriate to
reimplement it in terms of LoadLibrary()/GetProcAddress(). 
For GetAddressOfSymbol() on Cygwin in particular, which only partially
implements dlopen/dlsym, it may be OK to use the (nonstandard) call: 
 dlsym (dlopen (NULL, 0), symbolName).

> /cygdrive/w/tmp/llvm/llvm/lib/Support/CommandLine.cpp:883: reloc
>  refers to symbol `.text$_ZNSt22_Rb_tree_base_iterator12_M_incrementEv'
>  which is not being output

This is a known bug in the cygwin version of "ld".  I reported this to
the binutils maintainers in August and they have apparently fixed it
in mainline CVS:

	http://sources.redhat.com/ml/binutils/2003-09/msg00013.html
	http://sources.redhat.com/ml/binutils/2003-09/msg00025.html
	http://sources.redhat.com/ml/binutils/2003-09/msg00040.html

However, a new version has not yet been released.
You may have better luck if you try the "ld" from current binutils CVS.

> and the last issue was "etags: Unknown option: -l"

It looks like exuberant-ctags wants you to say
etags --language-force=c++  instead of  etags -l c++

If you try any of these suggestions, please let us know how well they work.
Thanks again!

-Brian Gaeke

-- 
gaeke at uiuc.edu



More information about the llvm-dev mailing list