[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-build-dev
Subject:    Bug in FDS for Solaris?
From:       daniel.daugherty () oracle ! com (Daniel D !  Daugherty)
Date:       2012-05-29 17:26:21
Message-ID: 4FC506BD.9060507 () oracle ! com
[Download RAW message or body]

Definitely something wrong here... When I originally did these
changes, here was the thinking:

     230 # If Full Debug Symbols is enabled, then we want the same debug and
     231 # optimization flags as used by FASTDEBUG. We also want all the
     232 # debug info in one place (-xs).
     233 #
     234 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
     235   ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
     236     ifeq ($(VARIANT), OPT)
     237       CC_OPT   = -g  -xs $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
     238       CXX_OPT  = -g0 -xs $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
     239     endif
     240     CFLAGS_DEBUG_OPTION    += -xs
     241     CXXFLAGS_DEBUG_OPTION  += -xs
     242   endif
     243 endif

and a little bit lower:

     257 # Optimization flags
     258 CFLAGS_OPT      = $(CC_OPT)

and a little bit lower:

     295 CXXFLAGS_OPT    = $(CXX_OPT)

so my early settings of CC_OPT and CXX_OPT were squirreled away in
the early CFLAGS_OPT and CXXFLAGS_OPT settings. That used to work...

However, that little trick no longer seems to be working... confirmed
by grep'ing for the '-g' option in my most recent JPRT build log on
Solaris...

Thanks for spotting this... Do you happen to already have a suggested
fix for this?

Dan


On 5/29/12 2:50 AM, Magnus Ihse Bursie wrote:
> When converting old makefiles to the new build-infra, we discovered 
> what seems to be a bug for Full Debug Symbols on Solaris.
>
> In the file make/common/Defs-solaris.gmk, the following code (somewhat 
> edited) was added:
>
> ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
>   ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
>     ifeq ($(VARIANT), OPT)
>       CC_OPT   = -g  -xs $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
>       CXX_OPT  = -g0 -xs $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
>     endif
>   endif
> endif
>
> However, much further down in the file is the following:
> # Default optimization settings based on level.
> CC_OPT  = $(CC_OPT/$(OPTIMIZATION_LEVEL))
> CXX_OPT = $(CXX_OPT/$(OPTIMIZATION_LEVEL))
>
> This is an unconditional assignment to CC[XX]_OPT, which completely 
> overrides the FDS specialization.
>
> So, either this is unintended (seems most likely), or the FDS stanza 
> is unnecessary. The net result is anyway that, as far as we call tell, 
> even with FDS, compilations on Solaris happens without -g.
>
> /Magnus

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic