Mercurial > hg > graal-compiler
comparison make/solaris/makefiles/sparcWorks.make @ 3954:da0999c4b733
7071904: 4/4 HotSpot: Full Debug Symbols
Summary: Add support for .debuginfo files for HSX libraries.
Reviewed-by: poonam, dholmes, never
author | dcubed |
---|---|
date | Fri, 16 Sep 2011 16:21:20 -0700 |
parents | f94227b6117b |
children | 719f7007c8e8 |
comparison
equal
deleted
inserted
replaced
3950:5a3c2bc614ca | 3954:da0999c4b733 |
---|---|
1 # | 1 # |
2 # Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. |
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | 4 # |
5 # This code is free software; you can redistribute it and/or modify it | 5 # This code is free software; you can redistribute it and/or modify it |
6 # under the terms of the GNU General Public License version 2 only, as | 6 # under the terms of the GNU General Public License version 2 only, as |
7 # published by the Free Software Foundation. | 7 # published by the Free Software Foundation. |
479 # C++ Interpreter | 479 # C++ Interpreter |
480 CFLAGS += -DCC_INTERP | 480 CFLAGS += -DCC_INTERP |
481 endif | 481 endif |
482 | 482 |
483 # Flags for Debugging | 483 # Flags for Debugging |
484 # The -g0 setting allows the C++ frontend to inline, which is a big win. | |
485 # The -xs setting disables 'lazy debug info' which puts everything in | |
486 # the .so instead of requiring the '.o' files. | |
487 ifneq ($(OBJCOPY),) | |
488 OPT_CFLAGS += -g0 -xs | |
489 endif | |
484 DEBUG_CFLAGS = -g | 490 DEBUG_CFLAGS = -g |
485 FASTDEBUG_CFLAGS = -g0 | 491 FASTDEBUG_CFLAGS = -g0 |
486 # The -g0 setting allows the C++ frontend to inline, which is a big win. | 492 ifneq ($(OBJCOPY),) |
493 DEBUG_CFLAGS += -xs | |
494 FASTDEBUG_CFLAGS += -xs | |
495 endif | |
487 | 496 |
488 # Special global options for SS12 | 497 # Special global options for SS12 |
489 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) | 498 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) |
490 # There appears to be multiple issues with the new Dwarf2 debug format, so | 499 # There appears to be multiple issues with the new Dwarf2 debug format, so |
491 # we tell the compiler to use the older 'stabs' debug format all the time. | 500 # we tell the compiler to use the older 'stabs' debug format all the time. |
500 # The -g option makes static data global and the "-Qoption ccfe | 509 # The -g option makes static data global and the "-Qoption ccfe |
501 # -xglobalstatic" option tells the compiler to not globalize static | 510 # -xglobalstatic" option tells the compiler to not globalize static |
502 # data using a unique globalization prefix. Instead force the use of | 511 # data using a unique globalization prefix. Instead force the use of |
503 # a static globalization prefix based on the source filepath so the | 512 # a static globalization prefix based on the source filepath so the |
504 # objects from two identical compilations are the same. | 513 # objects from two identical compilations are the same. |
514 # EXTRA_CFLAGS only covers vm_version.cpp for some reason | |
515 #EXTRA_CFLAGS += -Qoption ccfe -xglobalstatic | |
516 #OPT_CFLAGS += -Qoption ccfe -xglobalstatic | |
505 #DEBUG_CFLAGS += -Qoption ccfe -xglobalstatic | 517 #DEBUG_CFLAGS += -Qoption ccfe -xglobalstatic |
506 #FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic | 518 #FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic |
507 | 519 |
508 ifeq (${COMPILER_REV_NUMERIC}, 502) | 520 ifeq (${COMPILER_REV_NUMERIC}, 502) |
509 COMPILER_DATE := $(shell $(CPP) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }') | 521 COMPILER_DATE := $(shell $(CPP) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }') |
560 # (The exit 1 is necessary to cause a build failure if the command fails and | 572 # (The exit 1 is necessary to cause a build failure if the command fails and |
561 # multiple commands are strung together, and the final semicolon is necessary | 573 # multiple commands are strung together, and the final semicolon is necessary |
562 # since the hook must terminate itself as a valid command.) | 574 # since the hook must terminate itself as a valid command.) |
563 | 575 |
564 # Also, strip debug and line number information (worth about 1.7Mb). | 576 # Also, strip debug and line number information (worth about 1.7Mb). |
577 # If we can create .debuginfo files, then the VM is stripped in vm.make | |
578 # and this macro is not used. | |
565 STRIP_LIB.CC/POST_HOOK = $(STRIP) -x $@ || exit 1; | 579 STRIP_LIB.CC/POST_HOOK = $(STRIP) -x $@ || exit 1; |
566 # STRIP_LIB.CC/POST_HOOK is incorporated into LINK_LIB.CC/POST_HOOK | 580 # STRIP_LIB.CC/POST_HOOK is incorporated into LINK_LIB.CC/POST_HOOK |
567 # in certain configurations, such as product.make. Other configurations, | 581 # in certain configurations, such as product.make. Other configurations, |
568 # such as debug.make, do not include the strip operation. | 582 # such as debug.make, do not include the strip operation. |