b31 multiple build failures on x86 Linux

Kelly O'Hair Kelly.Ohair at Sun.COM
Wed Jul 23 15:03:30 UTC 2008


Looking at fastdebug build log files, no -g or -gstabs is provided on
any linux builds as far as I can see.

I suspect that hotspot/make/linux/makefiles/fastdebug.make is missing
the addition of this DEBUG_CFLAGS variable to CFLAGS like the jvmg.make
and debug.make files. Adding it to CFLAGS adds it to all compile lines.

The gcc.make file does not add the DEBUG_CFLAGS to CFLAGS.

-kto

David Holmes - Sun Microsystems wrote:
> Kelly O'Hair said the following on 07/23/08 05:17:
>> Jeffrey Baker wrote:
>>> Third problem: fastdebug_build target doesn't seem to propagate the -g
>>> flag.  All of hotspot was built with -fPIC -fno-rtti -fno-exceptions
>>> -fcheck-new -m32 -march=i586 -pipe -O3 -fno-strict-aliasing
>>> -Wpointer-arith -Wconversion -Wsign-compare, i.e. without -g.  I
>>> thought the point of the fastdebug target was to build with -g -O.
>>
>> Yes, it should have. That's a new one on me.
>> I see that the debug build seems to use -gstabs, but it looks
>> like linux/makefiles/fastdebug.make forgot to add -gstabs to CFLAGS.
>> It's possible that they removed it with 64bit mode because of the
>> size problems with Dwarf2 debug format, and accidently removed it for
>> 32bit too. :^(   Sounds like a bug to me.
> 
> The debug flags are handled in gcc.make:
> 
> hypert /scratch/mirrors/ws-mirrors/java7/open/hotspot/make > tail -15 
> linux/makefiles/gcc.make
> #------------------------------------------------------------------------
> # Debug flags
> 
> # Use the stabs format for debugging information (this is the default
> # on gcc-2.91). It's good enough, has all the information about line
> # numbers and local variables, and libjvm_g.so is only about 16M.
> # Change this back to "-g" if you want the most expressive format.
> # (warning: that could easily inflate libjvm_g.so to 150M!)
> # Note: The Itanium gcc compiler crashes when using -gstabs.
> DEBUG_CFLAGS/ia64  = -g
> DEBUG_CFLAGS/amd64 = -g
> DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
> ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
> DEBUG_CFLAGS += -gstabs
> endif
> 
> See also bug 6485088
> 
> Cheers,
> David Holmes



More information about the build-dev mailing list