Print this page
10816 ctf_dwarf_convert_type() relies on un-initialized id
10817 ctfconvert -i option is mis-handled
10818 Improve ctfconvert error messages
10819 ctfconvert should handle empty dies
10820 ctfconvert -i never converts
10821 bad free in ctf_dwarf_init_die
10815 shouldn't build gcore.c as part of kmdb
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>


 950 i386_C_BIGPICFLAGS =    -fPIC
 951 amd64_C_BIGPICFLAGS =   -fPIC
 952 C_BIGPICFLAGS =         $($(MACH)_C_BIGPICFLAGS)
 953 C_BIGPICFLAGS64 =       $($(MACH64)_C_BIGPICFLAGS)
 954 
 955 # CC requires there to be no space between '-K' and 'pic' or 'PIC'.
 956 # and does not support -f
 957 sparc_CC_PICFLAGS =     -_cc=-Kpic -_gcc=-fpic
 958 sparcv9_CC_PICFLAGS =   -_cc=-KPIC -_gcc=-fPIC
 959 i386_CC_PICFLAGS =      -_cc=-Kpic -_gcc=-fpic
 960 amd64_CC_PICFLAGS =     -_cc=-Kpic -_gcc=-fpic
 961 CC_PICFLAGS =           $($(MACH)_CC_PICFLAGS)
 962 CC_PICFLAGS64 =         $($(MACH64)_CC_PICFLAGS)
 963 
 964 AS_PICFLAGS=            -K pic
 965 AS_BIGPICFLAGS=         -K PIC
 966 
 967 #
 968 # Default label for CTF sections
 969 #
 970 CTFCVTFLAGS=            -i -L VERSION
 971 
 972 #
 973 # Override to pass module-specific flags to ctfmerge.  Currently used only by
 974 # krtld to turn on fuzzy matching, and source-level debugging to inhibit
 975 # stripping.
 976 #
 977 CTFMRGFLAGS=
 978 
 979 #
 980 # Make the transition between old and new CTF Tools. The new ctf tools
 981 # do not support stabs (eg. Sun Studio). By setting BUILD_OLD_CTF_TOOLS
 982 # here or in the environment file, the old ones will be built.
 983 #
 984 BUILD_NEW_CTF_TOOLS=
 985 BUILD_OLD_CTF_TOOLS=$(POUND_SIGN)
 986 $(BUILD_OLD_CTF_TOOLS)BUILD_NEW_CTF_TOOLS= $(POUND_SIGN)
 987 
 988 CTFCONVERT_O            = $(CTFCONVERT) $(CTFCVTFLAGS) $@
 989 
 990 # Rules (normally from make.rules) and macros which are used for post
 991 # processing files. Normally, these do stripping of the comment section
 992 # automatically.
 993 #    RELEASE_CM:        Should be editted to reflect the release.
 994 #    POST_PROCESS_O:    Post-processing for `.o' files.


 995 #    POST_PROCESS_A:    Post-processing for `.a' files (currently null).
 996 #    POST_PROCESS_SO:   Post-processing for `.so' files.
 997 #    POST_PROCESS:      Post-processing for executable files (no suffix).

 998 # Note that these macros are not completely generalized as they are to be
 999 # used with the file name to be processed following.
1000 #
1001 # It is left as an exercise to Release Engineering to embellish the generation
1002 # of the release comment string.
1003 #
1004 #       If this is a standard development build:
1005 #               compress the comment section (mcs -c)
1006 #               add the standard comment (mcs -a $(RELEASE_CM))
1007 #               add the development specific comment (mcs -a $(DEV_CM))
1008 #
1009 #       If this is an installation build:
1010 #               delete the comment section (mcs -d)
1011 #               add the standard comment (mcs -a $(RELEASE_CM))
1012 #               add the development specific comment (mcs -a $(DEV_CM))
1013 #
1014 #       If this is an release build:
1015 #               delete the comment section (mcs -d)
1016 #               add the standard comment (mcs -a $(RELEASE_CM))
1017 #


1029 #       PATCH_DATE      Date the patch was created, if this is blank it
1030 #                       will default to the RELEASE_DATE
1031 #
1032 RELEASE_MAJOR=  5
1033 RELEASE_MINOR=  11
1034 RELEASE=        $(RELEASE_MAJOR).$(RELEASE_MINOR)
1035 VERSION=        SunOS Development
1036 PATCHID=        $(VERSION)
1037 RELEASE_DATE=   release date not set
1038 PATCH_DATE=     $(RELEASE_DATE)
1039 RELEASE_CM=     "@($(POUND_SIGN))SunOS $(RELEASE) $(PATCHID) $(PATCH_DATE)"
1040 DEV_CM=         "@($(POUND_SIGN))SunOS Internal Development: non-nightly build"
1041 
1042 PROCESS_COMMENT=  @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
1043 $(RELEASE_BUILD)PROCESS_COMMENT=   @?${MCS} -d -a $(RELEASE_CM)
1044 
1045 STRIP_STABS=                       $(STRIP) -x $@
1046 $(SRCDBGBLD)STRIP_STABS=           :
1047 
1048 POST_PROCESS_O=


1049 POST_PROCESS_A=
1050 POST_PROCESS_SO=        $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
1051                         $(ELFSIGN_OBJECT)
1052 POST_PROCESS=           $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
1053                         $(ELFSIGN_OBJECT)
1054 
1055 #
1056 # chk4ubin is a tool that inspects a module for a symbol table
1057 # ELF section size which can trigger an OBP bug on older platforms.
1058 # This problem affects only specific sun4u bootable modules.
1059 #
1060 CHK4UBIN=       $(ONBLD_TOOLS)/bin/$(MACH)/chk4ubin
1061 CHK4UBINFLAGS=
1062 CHK4UBINARY=    $(CHK4UBIN) $(CHK4UBINFLAGS) $@
1063 
1064 #
1065 # PKGARCHIVE specifies the default location where packages should be
1066 # placed if built.
1067 #
1068 $(RELEASE_BUILD)PKGARCHIVESUFFIX=       -nd


1074 # publisher name provided to "pkg set-publisher."
1075 #
1076 PKGPUBLISHER_REDIST=    on-nightly
1077 PKGPUBLISHER_NONREDIST= on-extra
1078 
1079 #       Default build rules which perform comment section post-processing.
1080 #
1081 .c:
1082         $(LINK.c) -o $@ $< $(LDLIBS)
1083         $(POST_PROCESS)
1084 .c.o:
1085         $(COMPILE.c) $(OUTPUT_OPTION) $< $(CTFCONVERT_HOOK)
1086         $(POST_PROCESS_O)
1087 .c.a:
1088         $(COMPILE.c) -o $% $<
1089         $(PROCESS_COMMENT) $%
1090         $(AR) $(ARFLAGS) $@ $%
1091         $(RM) $%
1092 .s.o:
1093         $(COMPILE.s) -o $@ $<
1094         $(POST_PROCESS_O)
1095 .s.a:
1096         $(COMPILE.s) -o $% $<
1097         $(PROCESS_COMMENT) $%
1098         $(AR) $(ARFLAGS) $@ $%
1099         $(RM) $%
1100 .cc:
1101         $(LINK.cc) -o $@ $< $(LDLIBS)
1102         $(POST_PROCESS)
1103 .cc.o:
1104         $(COMPILE.cc) $(OUTPUT_OPTION) $<
1105         $(POST_PROCESS_O)
1106 .cc.a:
1107         $(COMPILE.cc) -o $% $<
1108         $(AR) $(ARFLAGS) $@ $%
1109         $(PROCESS_COMMENT) $%
1110         $(RM) $%
1111 .y:
1112         $(YACC.y) $<
1113         $(LINK.c) -o $@ y.tab.c $(LDLIBS)
1114         $(POST_PROCESS)
1115         $(RM) y.tab.c
1116 .y.o:
1117         $(YACC.y) $<
1118         $(COMPILE.c) -o $@ y.tab.c $(CTFCONVERT_HOOK)
1119         $(POST_PROCESS_O)
1120         $(RM) y.tab.c
1121 .l:
1122         $(RM) $*.c
1123         $(LEX.l) $< > $*.c
1124         $(LINK.c) -o $@ $*.c -ll $(LDLIBS)
1125         $(POST_PROCESS)




 950 i386_C_BIGPICFLAGS =    -fPIC
 951 amd64_C_BIGPICFLAGS =   -fPIC
 952 C_BIGPICFLAGS =         $($(MACH)_C_BIGPICFLAGS)
 953 C_BIGPICFLAGS64 =       $($(MACH64)_C_BIGPICFLAGS)
 954 
 955 # CC requires there to be no space between '-K' and 'pic' or 'PIC'.
 956 # and does not support -f
 957 sparc_CC_PICFLAGS =     -_cc=-Kpic -_gcc=-fpic
 958 sparcv9_CC_PICFLAGS =   -_cc=-KPIC -_gcc=-fPIC
 959 i386_CC_PICFLAGS =      -_cc=-Kpic -_gcc=-fpic
 960 amd64_CC_PICFLAGS =     -_cc=-Kpic -_gcc=-fpic
 961 CC_PICFLAGS =           $($(MACH)_CC_PICFLAGS)
 962 CC_PICFLAGS64 =         $($(MACH64)_CC_PICFLAGS)
 963 
 964 AS_PICFLAGS=            -K pic
 965 AS_BIGPICFLAGS=         -K PIC
 966 
 967 #
 968 # Default label for CTF sections
 969 #
 970 CTFCVTFLAGS=            -L VERSION
 971 
 972 #
 973 # Override to pass module-specific flags to ctfmerge.  Currently used only by
 974 # krtld to turn on fuzzy matching, and source-level debugging to inhibit
 975 # stripping.
 976 #
 977 CTFMRGFLAGS=
 978 
 979 #
 980 # Make the transition between old and new CTF Tools. The new ctf tools
 981 # do not support stabs (eg. Sun Studio). By setting BUILD_OLD_CTF_TOOLS
 982 # here or in the environment file, the old ones will be built.
 983 #
 984 BUILD_NEW_CTF_TOOLS=
 985 BUILD_OLD_CTF_TOOLS=$(POUND_SIGN)
 986 $(BUILD_OLD_CTF_TOOLS)BUILD_NEW_CTF_TOOLS= $(POUND_SIGN)
 987 
 988 CTFCONVERT_O            = $(CTFCONVERT) $(CTFCVTFLAGS) $@
 989 
 990 # Rules (normally from make.rules) and macros which are used for post
 991 # processing files. Normally, these do stripping of the comment section
 992 # automatically.
 993 #    RELEASE_CM:        Should be edited to reflect the release.
 994 #    POST_PROCESS_O:    Post-processing for `.o' files (typically C source)
 995 #    POST_PROCESS_S_O:  Post-processing for `.o' files built from asssembly
 996 #    POST_PROCESS_CC_O: Post-processing for `.o' files built from C++
 997 #    POST_PROCESS_A:            Post-processing for `.a' files (currently null).
 998 #    POST_PROCESS_SO:   Post-processing for `.so' files.
 999 #    POST_PROCESS:      Post-processing for executable files (no suffix).
1000 #
1001 # Note that these macros are not completely generalized as they are to be
1002 # used with the file name to be processed following.
1003 #
1004 # It is left as an exercise to Release Engineering to embellish the generation
1005 # of the release comment string.
1006 #
1007 #       If this is a standard development build:
1008 #               compress the comment section (mcs -c)
1009 #               add the standard comment (mcs -a $(RELEASE_CM))
1010 #               add the development specific comment (mcs -a $(DEV_CM))
1011 #
1012 #       If this is an installation build:
1013 #               delete the comment section (mcs -d)
1014 #               add the standard comment (mcs -a $(RELEASE_CM))
1015 #               add the development specific comment (mcs -a $(DEV_CM))
1016 #
1017 #       If this is an release build:
1018 #               delete the comment section (mcs -d)
1019 #               add the standard comment (mcs -a $(RELEASE_CM))
1020 #


1032 #       PATCH_DATE      Date the patch was created, if this is blank it
1033 #                       will default to the RELEASE_DATE
1034 #
1035 RELEASE_MAJOR=  5
1036 RELEASE_MINOR=  11
1037 RELEASE=        $(RELEASE_MAJOR).$(RELEASE_MINOR)
1038 VERSION=        SunOS Development
1039 PATCHID=        $(VERSION)
1040 RELEASE_DATE=   release date not set
1041 PATCH_DATE=     $(RELEASE_DATE)
1042 RELEASE_CM=     "@($(POUND_SIGN))SunOS $(RELEASE) $(PATCHID) $(PATCH_DATE)"
1043 DEV_CM=         "@($(POUND_SIGN))SunOS Internal Development: non-nightly build"
1044 
1045 PROCESS_COMMENT=  @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
1046 $(RELEASE_BUILD)PROCESS_COMMENT=   @?${MCS} -d -a $(RELEASE_CM)
1047 
1048 STRIP_STABS=                       $(STRIP) -x $@
1049 $(SRCDBGBLD)STRIP_STABS=           :
1050 
1051 POST_PROCESS_O=
1052 POST_PROCESS_S_O=
1053 POST_PROCESS_CC_O=
1054 POST_PROCESS_A=
1055 POST_PROCESS_SO=        $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
1056                         $(ELFSIGN_OBJECT)
1057 POST_PROCESS=           $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
1058                         $(ELFSIGN_OBJECT)
1059 
1060 #
1061 # chk4ubin is a tool that inspects a module for a symbol table
1062 # ELF section size which can trigger an OBP bug on older platforms.
1063 # This problem affects only specific sun4u bootable modules.
1064 #
1065 CHK4UBIN=       $(ONBLD_TOOLS)/bin/$(MACH)/chk4ubin
1066 CHK4UBINFLAGS=
1067 CHK4UBINARY=    $(CHK4UBIN) $(CHK4UBINFLAGS) $@
1068 
1069 #
1070 # PKGARCHIVE specifies the default location where packages should be
1071 # placed if built.
1072 #
1073 $(RELEASE_BUILD)PKGARCHIVESUFFIX=       -nd


1079 # publisher name provided to "pkg set-publisher."
1080 #
1081 PKGPUBLISHER_REDIST=    on-nightly
1082 PKGPUBLISHER_NONREDIST= on-extra
1083 
1084 #       Default build rules which perform comment section post-processing.
1085 #
1086 .c:
1087         $(LINK.c) -o $@ $< $(LDLIBS)
1088         $(POST_PROCESS)
1089 .c.o:
1090         $(COMPILE.c) $(OUTPUT_OPTION) $< $(CTFCONVERT_HOOK)
1091         $(POST_PROCESS_O)
1092 .c.a:
1093         $(COMPILE.c) -o $% $<
1094         $(PROCESS_COMMENT) $%
1095         $(AR) $(ARFLAGS) $@ $%
1096         $(RM) $%
1097 .s.o:
1098         $(COMPILE.s) -o $@ $<
1099         $(POST_PROCESS_S_O)
1100 .s.a:
1101         $(COMPILE.s) -o $% $<
1102         $(PROCESS_COMMENT) $%
1103         $(AR) $(ARFLAGS) $@ $%
1104         $(RM) $%
1105 .cc:
1106         $(LINK.cc) -o $@ $< $(LDLIBS)
1107         $(POST_PROCESS)
1108 .cc.o:
1109         $(COMPILE.cc) $(OUTPUT_OPTION) $<
1110         $(POST_PROCESS_CC_O)
1111 .cc.a:
1112         $(COMPILE.cc) -o $% $<
1113         $(AR) $(ARFLAGS) $@ $%
1114         $(PROCESS_COMMENT) $%
1115         $(RM) $%
1116 .y:
1117         $(YACC.y) $<
1118         $(LINK.c) -o $@ y.tab.c $(LDLIBS)
1119         $(POST_PROCESS)
1120         $(RM) y.tab.c
1121 .y.o:
1122         $(YACC.y) $<
1123         $(COMPILE.c) -o $@ y.tab.c $(CTFCONVERT_HOOK)
1124         $(POST_PROCESS_O)
1125         $(RM) y.tab.c
1126 .l:
1127         $(RM) $*.c
1128         $(LEX.l) $< > $*.c
1129         $(LINK.c) -o $@ $*.c -ll $(LDLIBS)
1130         $(POST_PROCESS)