[openib-general] respect CFLAGS in OSM

Hal Rosenstock halr at voltaire.com
Mon Jan 23 05:52:08 PST 2006


On Mon, 2006-01-23 at 08:39, Hal Rosenstock wrote:
> On Mon, 2006-01-23 at 08:27, Eitan Zahavi wrote:
> > Hi Pete,
> > 
> > I have looked again at this patch and what it is changing. 
> > My understanding is that you found the -g -O2 CLFAGS (provided through
> > the specific target CFLAGS) unneeded. You also think they will interfere
> > with settings you might want to provide from the command line. 
> > 
> > I have just double checked what I new to be the rule for autoconf:
> > If the user provides CFLAGS or LDFLAGS from the command like - they are
> > appended to the compile or link flags. The impact on gcc is that the
> > later settings - i.e. those provided by the user take precedence over
> > the flags provided at the beginning of the command line. So the patch
> > below is actually not needed. 
> > 
> > Just to convince you I attach some gcc traces showing that -O0 -O2 acts
> > like -O2 and 
> > -O2 -O0 acts like -O0.
> 
> Yes, it does override. 

Actually I'm not sure about this. I too see both but can't tell which
was honored and didn't see the specific text in gcc to indicate the
precedence here. Is it first option or last option of the same or
something else ?

-- Hal

> What about the -g setting ? Should that stay or
> go ?
> 
> -- Hal
> 
> > Bottom line I would like to keep the code as it is without any change
> > such that default installation will use the -O2 mode.
> > 
> > 
> > Eitan Zahavi
> > Design Technology Director
> > Mellanox Technologies LTD
> > Tel:+972-4-9097208
> > Fax:+972-4-9593245
> > P.O. Box 586 Yokneam 20692 ISRAEL
> > 
> > swlab25:/home/eitan/SW/work/examples>/usr/libexec/gcc/i386-redhat-linux/
> > 4.0.0/cc1 getHostName.c getHostName.c -auxbase getHostName -O0 -O2
> > -version -o /tmp/ccet3OkS.s
> > GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8) (i386-redhat-linux)
> >         compiled by GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8).
> > GGC heuristics: --param ggc-min-expand=99 --param
> > ggc-min-heapsize=129317
> > options passed:  -auxbase -O0 -O2
> > options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
> >  -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
> >  -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
> >  -fdelete-null-pointer-checks -feliminate-unused-debug-types
> >  -fexpensive-optimizations -fforce-mem -ffunction-cse -fgcse -fgcse-lm
> >  -fguess-branch-probability -fident -fif-conversion -fif-conversion2
> >  -fivopts -fkeep-static-consts -fleading-underscore -floop-optimize
> >  -floop-optimize2 -fmath-errno -fmerge-constants
> > -foptimize-register-move
> >  -foptimize-sibling-calls -fpcc-struct-return -fpeephole -fpeephole2
> >  -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
> >  -frerun-loop-opt -fsched-interblock -fsched-spec
> > -fsched-stalled-insns-dep
> >  -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
> > -fthread-jumps
> >  -ftrapping-math -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce
> >  -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
> >  -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-pre
> > -ftree-sra
> >  -ftree-ter -funit-at-a-time -fvar-tracking -fzero-initialized-in-bss
> >  -m80387 -mhard-float -mno-soft-float -mieee-fp -mfp-ret-in-387
> >  -mno-red-zone -mtls-direct-seg-refs -mtune=i386 -march=i386
> > 
> > swlab25:/home/eitan/SW/work/examples>/usr/libexec/gcc/i386-redhat-linux/
> > 4.0.0/cc1 getHostName.c getHostName.c -auxbase getHostName -O2 -O0
> > -version -o /tmp/ccet3OkS.s
> > GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8) (i386-redhat-linux)
> >         compiled by GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8).
> > GGC heuristics: --param ggc-min-expand=99 --param
> > ggc-min-heapsize=129317
> > options passed:  -auxbase -O2 -O0
> > options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
> >  -fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-lm
> > -fident
> >  -fivopts -fkeep-static-consts -fleading-underscore -floop-optimize2
> >  -fmath-errno -fpcc-struct-return -fpeephole -fsched-interblock
> >  -fsched-spec -fsched-stalled-insns-dep -fsplit-ivs-in-unroller
> >  -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
> >  -funit-at-a-time -fvar-tracking -fzero-initialized-in-bss -m80387
> >  -mhard-float -mno-soft-float -mieee-fp -mfp-ret-in-387 -mno-red-zone
> >  -mtls-direct-seg-refs -mtune=i386 -march=i386
> > 
> > > -----Original Message-----
> > > From: openib-general-bounces at openib.org [mailto:openib-general-
> > > bounces at openib.org] On Behalf Of Pete Wyckoff
> > > Sent: Thursday, January 19, 2006 11:50 PM
> > > To: openib-general at openib.org
> > > Subject: [openib-general] respect CFLAGS in OSM
> > > 
> > > I do something like:
> > > 
> > >     CFLAGS=-g ./configure ...
> > > 
> > > to build a debug tree from openib svn.
> > > 
> > > Some places override this CFLAGS setting, though, applying
> > > optimization even though I explicitly do not want it.  This patch
> > > fixes that.  These apply to OSM below gen2/trunk/src/userspace/.
> > > 
> > > Signed-off-by: Pete Wyckoff <pw at osc.edu>
> > > 
> > > Index: management/osm/libvendor/Makefile.am
> > > ===================================================================
> > > --- management/osm/libvendor/Makefile.am	(revision 5098)
> > > +++ management/osm/libvendor/Makefile.am	(working copy)
> > > @@ -3,8 +3,6 @@
> > > 
> > >  if DEBUG
> > >  DBGFLAGS = -ggdb -D_DEBUG_
> > > -else
> > > -DBGFLAGS = -g -O2
> > >  endif
> > > 
> > >  INCLUDES = $(OSMV_INCLUDES)
> > > Index: management/osm/complib/Makefile.am
> > > ===================================================================
> > > --- management/osm/complib/Makefile.am	(revision 5098)
> > > +++ management/osm/complib/Makefile.am	(working copy)
> > > @@ -5,8 +5,6 @@
> > > 
> > >  if DEBUG
> > >  DBGFLAGS = -ggdb -D_DEBUG_
> > > -else
> > > -DBGFLAGS = -g -O2
> > >  endif
> > > 
> > >  libosmcomp_la_CFLAGS = -Wall $(DBGFLAGS) -D_XOPEN_SOURCE=600 -
> > > D_BSD_SOURCE=1
> > > Index: management/osm/opensm/Makefile.am
> > > ===================================================================
> > > --- management/osm/opensm/Makefile.am	(revision 5098)
> > > +++ management/osm/opensm/Makefile.am	(working copy)
> > > @@ -5,8 +5,6 @@
> > > 
> > >  if DEBUG
> > >  DBGFLAGS = -ggdb -D_DEBUG_
> > > -else
> > > -DBGFLAGS = -g -O2
> > >  endif
> > > 
> > >  libopensm_la_CFLAGS = -Wall $(OSMV_CFLAGS) -DVENDOR_RMPP_SUPPORT
> > > $(DBGFLAGS) -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
> > > _______________________________________________
> > > openib-general mailing list
> > > openib-general at openib.org
> > > http://openib.org/mailman/listinfo/openib-general
> > > 
> > > To unsubscribe, please visit
> > http://openib.org/mailman/listinfo/openib-general
> > _______________________________________________
> > openib-general mailing list
> > openib-general at openib.org
> > http://openib.org/mailman/listinfo/openib-general
> > 
> > To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general




More information about the general mailing list