Print this page
10703 smatch unreachable code checking needs reworking
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/lib/crt/Makefile.com
+++ new/usr/src/lib/crt/Makefile.com
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright 2006 Sun Microsystems, Inc. All rights reserved.
23 23 # Use is subject to license terms.
24 24 #
25 +# Copyright 2019 Joyent, Inc.
26 +#
25 27
26 28 CRTI = crti.o
27 29 CRTN = crtn.o
28 30 CRT1 = crt1.o
29 31 VALUES = values-Xa.o values-Xc.o values-Xs.o values-Xt.o \
30 32 values-xpg4.o values-xpg6.o
31 33 COMMON_CRT = common-crt.o
32 34 MACH_CRT = mach-crt1.o
33 35
34 36 # include library definitions
35 37 include ../../Makefile.lib
36 38
37 39 SRCS = $(VALUES:%.o=../common/%.c) $(COMMON_CRT:%.o=../common/%.c)
38 40
39 41 POST_PROCESS_O = $(PROCESS_COMMENT) $@ ; $(STRIP) -x $@
40 42
41 43 OBJECTS = $(VALUES) $(CRT1) $(CRTI) $(CRTN)
42 44
43 45 ROOTLIB= $(ROOT)/usr/lib
↓ open down ↓ |
9 lines elided |
↑ open up ↑ |
44 46 ROOTLIB64= $(ROOTLIB)/$(MACH64)
45 47 ROOTOBJECTS= $(OBJECTS:%=$(ROOTLIB)/%)
46 48 ROOTOBJECTS64= $(OBJECTS:%=$(ROOTLIB64)/%)
47 49
48 50 $(INTEL_BLD)ROOTOBJECTS += $(ROOTLIB)/gcrt1.o
49 51 $(INTEL_BLD)ROOTOBJECTS64 += $(ROOTLIB64)/gcrt1.o
50 52
51 53 ASFLAGS += -P -D__STDC__ -D_ASM -DPIC $(AS_PICFLAGS)
52 54
53 55 values-xpg6.o := CPPFLAGS += -I$(SRC)/lib/libc/inc
54 -values-xpg6.lint := CPPFLAGS += -I$(SRC)/lib/libc/inc
55 56 $(COMMON_CRT) $(VALUES) := CFLAGS += $(C_PICFLAGS)
56 57 $(COMMON_CRT) $(VALUES) := CFLAGS64 += $(C_PICFLAGS64)
57 58
59 +# intentional double exit
60 +SMOFF += unreachable
61 +
58 62 .KEEP_STATE:
59 63
60 64 all: $(OBJECTS)
61 65
62 66 clean clobber:
63 67 $(RM) $(OBJECTS)
64 68
65 -%.lint: ../common/%.c
66 - $(LINT.c) $(LINTCHECKFLAGS) $<
67 69
68 -lint: $(VALUES:%.o=%.lint) $(COMMON_CRT:%.o=%.lint)
69 -
70 70 $(CRT1): $(COMMON_CRT) $(MACH_CRT)
71 71 $(LD) -r $(MACH_CRT) $(COMMON_CRT) -o $(CRT1)
72 72
73 73 %.o: ../common/%.c
74 74 $(COMPILE.c) -o $@ $<
75 75 $(POST_PROCESS_O)
76 76
77 77 %.o: %.s
78 78 $(COMPILE.s) -o $@ $<
79 79 $(POST_PROCESS_O)
80 80
81 81 %.o: ../$(MACH)/%.s
82 82 $(COMPILE.s) -o $@ $<
83 83 $(POST_PROCESS_O)
84 84
85 85 # install rule for ROOTOBJECTS and ROOTOBJECTS64
86 86 $(ROOTLIB)/%.o: %.o
87 87 $(INS.file)
88 88
89 89 $(ROOTLIB)/gcrt1.o:
90 90 $(RM) $(ROOTLIB)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB)/gcrt1.o
91 91
92 92 $(ROOTLIB64)/%.o: %.o
93 93 $(INS.file)
94 94
95 95 $(ROOTLIB64)/gcrt1.o:
96 96 $(RM) $(ROOTLIB64)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB64)/gcrt1.o
97 97
98 98 FRC:
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX