chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] optimization flags


From: Brandon J. Van Every
Subject: Re: [Chicken-users] optimization flags
Date: Thu, 07 Sep 2006 09:56:10 -0700
User-agent: Thunderbird 1.5.0.5 (Windows/20060719)

John Cowan wrote:
Brandon J. Van Every scripsit:

  
I'm only providing the flags for GCC builds.  I'm not willing to assume 
that non-GCC compilers take GCC flags.  If people have non-GCC, non-MSVC 
compilers, they can inform us, and we can add more flags.  I might also 
set up an area at the top of CMakeLists.txt that's meant for people to 
add flags we don't know about.
    

Fair enough.

  
I found that -fomit-frame-pointer causes chicken-boot to crash when 
compiled with MinGW 3.4.5.  So, I've turned it off for all MinGW 
compilers.  No idea if it affects anything other than 3.4.5.  You can 
see that there are testing issues.  Cygwin built fine without 
complaint.  Didn't actually test the end product though, as I relish the 
chance to blow up John Cowan's machine.  :-)  
    

Ooops!  VERY BAD PROBLEM.

When built under CMake (but not when built under autotools), the
chicken-setup.c file produces compiler errors from gcc.  I'm using the
autotools build for the present.
  

I take it you mean you're building on Cygwin?  I can't duplicate this.  Here's my full GCC command:

[ 64%] Building C object CMakeFiles/chicken-setup.dir/chicken-setup.o
/usr/bin/gcc.exe  -I/cygdrive/e/devel/cygwin/chicken -I/cygdrive/e/devel/src/chi
cken   -DHAVE_CHICKEN_CONFIG_H -Os -fno-strict-aliasing -Wall -Wno-unused -Wno-u
ninitialized -fomit-frame-pointer -DC_ENABLE_PTABLES -DPIC -DC_NO_PIC_NO_DLL -o
CMakeFiles/chicken-setup.dir/chicken-setup.o   -c /cygdrive/e/devel/cygwin/chick
en/chicken-setup.c
Linking C executable chicken-setup.exe

and here's my GCC version banner.  What's yours?

$ gcc --version
gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Cheers,
Brandon Van Every

Diffing the two versions of chicken-setup.c show
only two presumably trivial differences: some comments refer to
/opt/chicken/darcs/chicken-setup.scm instead of just chicken-setup.scm,
and the ptable declaration at line 22369 contains strings of
the form "f_nnnn/opt/chicken/darcs/chicken-setup.scm" instead of
"f_nnnnchicken-setup.scm".

I've attached the chicken-config.h and chicken-defaults.h files
from the CMake build.

  

/* chicken-config.h Generated by CMakeLists.txt */ #define CMAKE_BUILD 1 /* Use hardwired installation pathnames */ #define C_USE_C_DEFAULTS 1 /* HAVE_* variables are either "1" or "". Use a trailing "0" in substitutions so that we always are working with a number. We'll either get "#if 0" or "#if 10", which looks funny, but it works. */ #if 10 #define HAVE_ALLOCA_H 1 #endif #if 0 #define HAVE_CRT_EXTERNS_H #endif #if 0 #define HAVE_DIRECT_H #endif #if 10 #define HAVE_GCVT 1 #endif #if 10 #define HAVE_GRP_H 1 #endif #if 10 #define HAVE_STDINT_H 1 #endif #if 10 #define HAVE_SYSEXITS_H 1 #endif #if 10 #define HAVE_DLFCN_H 11 #endif #if 0 #define HAVE_DL_H #endif #if 0 #define HAVE_FFI_H 1 #endif #if 10 #define HAVE_WINDOWS_H 1 #endif #if 10 #define HAVE_LOADLIBRARY 1 #endif #if 10 #define HAVE_GETPROCADDRESS 11 #endif #if 10 #define HAVE_WINSOCK2_H 1 #endif #if 10 #define HAVE_WS2TCPIP_H 1 #endif

/*** Program generated file: any edits may be lost ***/ #ifndef C_INSTALL_CC # define C_INSTALL_CC "gcc" #endif #ifndef C_INSTALL_CXX # define C_INSTALL_CXX "c++" #endif #ifndef C_INSTALL_CFLAGS # define C_INSTALL_CFLAGS " -DHAVE_CHICKEN_CONFIG_H -Os -fno-strict-aliasing -Wall -Wno-unused -Wno-uninitialized -fomit-frame-pointer -DC_ENABLE_PTABLES" #endif #ifndef C_INSTALL_SHARE_HOME # define C_INSTALL_SHARE_HOME "/usr/local/share/chicken" #endif #ifndef C_INSTALL_BIN_HOME # define C_INSTALL_BIN_HOME "/usr/local/bin" #endif #ifndef C_INSTALL_EGG_HOME # define C_INSTALL_EGG_HOME "/usr/local/lib/chicken/1" #endif #ifndef C_INSTALL_LIB_HOME # define C_INSTALL_LIB_HOME "/usr/local/lib" #endif #ifndef C_INSTALL_STATIC_LIB_HOME # define C_INSTALL_STATIC_LIB_HOME "/usr/local/lib" #endif #ifndef C_INSTALL_INCLUDE_HOME # define C_INSTALL_INCLUDE_HOME "/usr/local/include" #endif #ifndef C_INSTALL_MORE_LIBS # define C_INSTALL_MORE_LIBS " -lpcre -ldl -lm" #endif #ifndef C_INSTALL_MORE_STATIC_LIBS # define C_INSTALL_MORE_STATIC_LIBS " -lpcre -ldl -lm" #endif #ifndef C_DEFAULT_TARGET_STACK_SIZE # define C_DEFAULT_TARGET_STACK_SIZE (128*1024) #endif #ifndef C_STACK_GROWS_DOWNWARD # define C_STACK_GROWS_DOWNWARD 1 #endif #ifndef C_TARGET_CC # define C_TARGET_CC #endif #ifndef C_TARGET_CXX # define C_TARGET_CXX #endif #ifndef C_TARGET_CFLAGS # define C_TARGET_CFLAGS #endif #ifndef C_TARGET_LFLAGS # define C_TARGET_LFLAGS #endif


reply via email to

[Prev in Thread] Current Thread [Next in Thread]