On Thu, Feb 19, 2009 at 5:52 PM, Nick Lewycky <nicholas at mxc.ca> wrote:> Aaron Gray wrote: > > Hi, > > > > I partly built LLVM on Cygwin yesterday and it was fine as far as it > > went. But after doing a svn update today I am getting the following > > warning on every compile :- > > > > > > llvm[3]: Compiling LowerAllocations.cpp for Debug build > > /usr/src/llvm/lib/Transforms/Utils/LowerAllocations.cpp:1: warning: > > -fPIC ignored for target (all code is position independent) > > > > > > This maybe happening on other targets too. > > Thanks for the report. This is certainly due to my change last night to > make LLVM build as PIC by default. >I was a little perplex at the warning as I could not ascertain where thery were coming from and could see no obvious commit !:) Out of interest, could you point me to the patch or commit, please.> > Part of the fix is going to be splitting apart whether we're building > PIC and whether we pass in the -fPIC flag. We want to know whether the > build is PIC in order to control whether libLTO should be built. On your > platform we'll still want to build libLTO but don't want to pass the > -fPIC flag. >Nice>The other part of the fix I'm not so sure about. How should the build >system detect that we're building PIC without the -fPIC flag on this >platform?Looks like configure/autoconf territory. 'configure' flashes up that Cygwin supports PIC. See attached config.out file. Aaron> > Nick > > > Aaron > > > > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090219/83dc5ec6/attachment.html> -------------- next part -------------- checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking target system type... i686-pc-cygwin checking type of operating system we're going to host on... Cygwin checking target architecture... x86 checking for gcc... gcc checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking how to run the C preprocessor... gcc -E checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking ... checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking ... checking for bison... bison -y checking for BSD-compatible nm... /usr/bin/nm -B checking for GNU make... make checking whether ln -s works... yes checking for cmp... /usr/bin/cmp checking for cp... /usr/bin/cp checking for date... /usr/bin/date checking for find... /usr/bin/find checking for grep... (cached) /usr/bin/grep checking for mkdir... /usr/bin/mkdir checking for mv... /usr/bin/mv checking for ranlib... ranlib checking for rm... /usr/bin/rm checking for sed... /usr/bin/sed checking for tar... /usr/bin/tar checking for pwd... /usr/bin/pwd checking for Graphviz... echo Graphviz checking for dot... echo dot checking for gv... no checking for gsview32... no checking for dotty... echo dotty checking for perl... /usr/bin/perl checking for Perl 5.006 or newer... yes checking for a BSD-compatible install... /usr/bin/install -c checking for bzip2... /usr/bin/bzip2 checking for doxygen... /usr/bin/doxygen checking for groff... /usr/bin/groff checking for gzip... /usr/bin/gzip checking for pod2html... /usr/bin/pod2html checking for pod2man... /usr/bin/pod2man checking for runtest... /usr/bin/runtest checking for the tclsh program in tclinclude directory... none checking for tclsh8.4... no checking for tclsh8.4.8... no checking for tclsh8.4.7... no checking for tclsh8.4.6... no checking for tclsh8.4.5... no checking for tclsh8.4.4... no checking for tclsh8.4.3... no checking for tclsh8.4.2... no checking for tclsh8.4.1... no checking for tclsh8.4.0... no checking for tclsh8.3... no checking for tclsh8.3.5... no checking for tclsh8.3.4... no checking for tclsh8.3.3... no checking for tclsh8.3.2... no checking for tclsh8.3.1... no checking for tclsh8.3.0... no checking for tclsh... /usr/bin/tclsh checking for zip... no checking for ocamlc... /usr/bin/ocamlc checking for ocamlopt... /usr/bin/ocamlopt checking for ocamldep... /usr/bin/ocamldep checking for ocamldoc... /usr/bin/ocamldoc checking for gas... no checking for as... /usr/bin/as checking for compiler -Wl,-R<path> option... yes checking for an ANSI C-conforming const... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking dynamic linker characteristics... Win32 ld.exe checking which extension is used for loadable modules... .dll checking which variable specifies run-time library path... PATH checking for the default library search path... /lib /usr/lib checking for objdir... .libs checking command to parse /usr/bin/nm -B output from object... ok checking whether libtool supports -dlopen/-dlpreopen... yes checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen in -ldl... yes checking for dlerror... yes checking for _ prefix in compiled symbols... yes checking whether we have to add an underscore for dlsym... unknown checking whether deplibs are loaded by dlopen... unknown checking argz.h usability... yes checking argz.h presence... yes checking for argz.h... yes checking for error_t... yes checking for argz_append... yes checking for argz_create_sep... yes checking for argz_insert... yes checking for argz_next... yes checking for argz_stringify... yes checking assert.h usability... yes checking assert.h presence... yes checking for assert.h... yes checking ctype.h usability... yes checking ctype.h presence... yes checking for ctype.h... yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking for memory.h... (cached) yes checking for stdlib.h... (cached) yes checking stdio.h usability... yes checking stdio.h presence... yes checking for stdio.h... yes checking for unistd.h... (cached) yes checking dl.h usability... no checking dl.h presence... no checking for dl.h... no checking sys/dl.h usability... no checking sys/dl.h presence... no checking for sys/dl.h... no checking dld.h usability... no checking dld.h presence... no checking for dld.h... no checking mach-o/dyld.h usability... no checking mach-o/dyld.h presence... no checking for mach-o/dyld.h... no checking for string.h... (cached) yes checking for strchr... yes checking for strrchr... yes checking for memcpy... yes checking for memmove... yes checking for strcmp... yes checking for closedir... yes checking for opendir... yes checking for readdir... yes checking for a sed that does not truncate output... /usr/bin/sed checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r checking how to recognise dependent libraries... file_magic ^x86 archive import|^x86 DLL checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... no checking for xlf... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for f90... no checking for xlf90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for f95... no checking for fort... no checking for xlf95... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 8192 checking command to parse /usr/bin/nm -B output from gcc object... (cached) ok checking for objdir... .libs checking for ar... ar checking for ranlib... (cached) ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes checking whether -lc should be explicitly linked in... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking whether a program can dlopen itself... no checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating mklib appending configuration tag "CXX" to mklib checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes checking for g++ option to produce PIC... checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to mklib checking for llvm-gcc.exe... no checking for llvm-g++.exe... no checking tool compatibility... ok checking for elf_begin in -lelf... no checking for sin in -lm... yes checking for library containing dlopen... none required checking for ffi_call in -lffi... no checking for library containing mallinfo... none required checking for pthread_mutex_init in -lpthread... yes checking for library containing pthread_mutex_lock... none required checking for dirent.h that defines DIR... (cached) yes checking for library containing opendir... (cached) none required checking for MAP_ANONYMOUS vs. MAP_ANON... yes checking whether stat file-mode macros are broken... no checking for ANSI C header files... (cached) yes checking for sys/wait.h that is POSIX.1 compatible... yes checking whether time.h and sys/time.h may both be included... yes checking for dlfcn.h... (cached) yes checking execinfo.h usability... no checking execinfo.h presence... no checking for execinfo.h... no checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking for inttypes.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking link.h usability... no checking link.h presence... no checking for link.h... no checking for malloc.h... (cached) yes checking setjmp.h usability... yes checking setjmp.h presence... yes checking for setjmp.h... yes checking signal.h usability... yes checking signal.h presence... yes checking for signal.h... yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking utime.h usability... yes checking utime.h presence... yes checking for utime.h... yes checking windows.h usability... yes checking windows.h presence... yes checking for windows.h... yes checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for sys/types.h... (cached) yes checking malloc/malloc.h usability... no checking malloc/malloc.h presence... no checking for malloc/malloc.h... no checking mach/mach.h usability... no checking mach/mach.h presence... no checking for mach/mach.h... no checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for HUGE_VAL sanity... yes checking for pid_t... yes checking for size_t... yes checking return type of signal handlers... void checking whether struct tm is in sys/time.h or time.h... time.h checking for int64_t... yes checking for uint64_t... yes checking for backtrace... no checking for ceilf... yes checking for floorf... yes checking for roundf... yes checking for rintf... yes checking for nearbyintf... yes checking for getcwd... yes checking for powf... yes checking for fmodf... yes checking for strtof... yes checking for round... yes checking for getpagesize... yes checking for getrusage... yes checking for getrlimit... yes checking for setrlimit... yes checking for gettimeofday... yes checking for isatty... yes checking for mkdtemp... yes checking for mkstemp... yes checking for mktemp... yes checking for realpath... yes checking for sbrk... yes checking for setrlimit... (cached) yes checking for strdup... yes checking for strerror... yes checking for strerror_r... yes checking for strtoll... yes checking for strtoq... no checking for sysconf... yes checking for malloc_zone_statistics... no checking for setjmp... yes checking for longjmp... yes checking for sigsetjmp... no checking for siglongjmp... no checking if printf has the %a format character... checking for working alloca.h... yes checking for alloca... yes checking for srand48/lrand48/drand48 in <stdlib.h>... yes checking whether the compiler implements namespaces... yes checking whether the compiler has <ext/hash_map> defining template class std::hash_map... no checking whether the compiler has <ext/hash_map> defining template class __gnu_cxx::hash_map... yes checking whether the compiler has <hash_map> defining template class ::hash_map... no checking whether the compiler has <ext/hash_set> defining template class std::hash_set... no checking whether the compiler has <ext/hash_set> defining template class __gnu_cxx::hash_set... yes checking whether the compiler has <hash_set> defining template class ::hash_set... no checking whether the compiler has the standard iterator... yes checking whether the compiler has the bidirectional iterator... no checking whether the compiler has forward iterators... no checking for isnan in <math.h>... yes checking for isnan in <cmath>... no checking for std::isnan in <cmath>... yes checking for isinf in <math.h>... yes checking for isinf in <cmath>... no checking for std::isinf in <cmath>... no checking for finite in <ieeefp.h>... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... no checking for mmap of files... yes checking if /dev/zero is needed for mmap... no checking for __dso_handle... no checking whether llvm-gcc is sane... no checking for compiler -fvisibility-inlines-hidden option... no configure: creating ./config.status config.status: creating Makefile.config config.status: creating llvm.spec config.status: creating docs/doxygen.cfg config.status: creating tools/llvm-config/llvm-config.in config.status: creating include/llvm/Config/config.h config.status: creating include/llvm/Support/DataTypes.h config.status: creating include/llvm/ADT/hash_map.h config.status: creating include/llvm/ADT/hash_set.h config.status: creating include/llvm/ADT/iterator.h config.status: executing setup commands config.status: executing Makefile commands config.status: executing Makefile.common commands config.status: executing examples/Makefile commands config.status: executing lib/Makefile commands config.status: executing runtime/Makefile commands config.status: executing test/Makefile commands config.status: executing test/Makefile.tests commands config.status: executing unittests/Makefile commands config.status: executing tools/Makefile commands config.status: executing utils/Makefile commands config.status: executing projects/Makefile commands config.status: executing bindings/Makefile commands config.status: executing bindings/ocaml/Makefile.ocaml commands === configuring in projects/sample (/usr/build/llvm/projects/sample) configure: running /bin/sh /usr/src/llvm/projects/sample/configure --prefix=/usr/llvm --cache-file=/dev/null --srcdir=/usr/src/llvm/projects/sample configure: creating ./config.status config.status: creating Makefile.common config.status: executing setup commands config.status: executing Makefile commands config.status: executing lib/Makefile commands config.status: executing lib/sample/Makefile commands config.status: executing tools/Makefile commands config.status: executing tools/sample/Makefile commands
Aaron Gray wrote:> On Thu, Feb 19, 2009 at 5:52 PM, Nick Lewycky <nicholas at mxc.ca > <mailto:nicholas at mxc.ca>> wrote: > > Aaron Gray wrote: > > Hi, > > > > I partly built LLVM on Cygwin yesterday and it was fine as far as it > > went. But after doing a svn update today I am getting the following > > warning on every compile :- > > > > > > llvm[3]: Compiling LowerAllocations.cpp for Debug build > > /usr/src/llvm/lib/Transforms/Utils/LowerAllocations.cpp:1: > warning: > > -fPIC ignored for target (all code is position independent) > > > > > > This maybe happening on other targets too. > > Thanks for the report. This is certainly due to my change last night to > make LLVM build as PIC by default. > > I was a little perplex at the warning as I could not ascertain where > thery were coming from and could see no obvious commit !:) > > Out of interest, could you point me to the patch or commit, please.r65019 / r65020: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090216/073983.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090216/073984.html (note: links will change) Nick> > > > Part of the fix is going to be splitting apart whether we're building > PIC and whether we pass in the -fPIC flag. We want to know whether the > build is PIC in order to control whether libLTO should be built. On your > platform we'll still want to build libLTO but don't want to pass the > -fPIC flag. > > Nice > > >The other part of the fix I'm not so sure about. How should the build > >system detect that we're building PIC without the -fPIC flag on this > >platform? > > Looks like configure/autoconf territory. 'configure' flashes up that > Cygwin supports PIC. See attached config.out file. > > > Aaron > > > > Nick > > > Aaron > > > > > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > http://llvm.cs.uiuc.edu <http://llvm.cs.uiuc.edu/> > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > http://llvm.cs.uiuc.edu <http://llvm.cs.uiuc.edu/> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > ------------------------------------------------------------------------ > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Thu, Feb 19, 2009 at 6:55 PM, Nick Lewycky <nicholas at mxc.ca> wrote:> Aaron Gray wrote: > > On Thu, Feb 19, 2009 at 5:52 PM, Nick Lewycky <nicholas at mxc.ca > > <mailto:nicholas at mxc.ca>> wrote: > > > > Aaron Gray wrote: > > > Hi, > > > > > > I partly built LLVM on Cygwin yesterday and it was fine as far as > it > > > went. But after doing a svn update today I am getting the > following > > > warning on every compile :- > > > > > > > > > llvm[3]: Compiling LowerAllocations.cpp for Debug build > > > /usr/src/llvm/lib/Transforms/Utils/LowerAllocations.cpp:1: > > warning: > > > -fPIC ignored for target (all code is position independent) > > > > > > > > > This maybe happening on other targets too. > > > > Thanks for the report. This is certainly due to my change last night > to > > make LLVM build as PIC by default. > > > > I was a little perplex at the warning as I could not ascertain where > > thery were coming from and could see no obvious commit !:) > > > > Out of interest, could you point me to the patch or commit, please. > > r65019 / r65020: > > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090216/073983.html > > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090216/073984.html >Can you please email me if and when it is fixed :) Thanks, Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090219/3f83f521/attachment.html>