Print this page
uts: Allow for address space randomisation.
Randomise the base addresses of shared objects, non-fixed mappings, the
stack and the heap. Introduce a service, svc:/system/process-security,
and a tool psecflags(1) to control and observe it
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/cmd/ptools/Makefile.bld
+++ new/usr/src/cmd/ptools/Makefile.bld
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.
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 #
23 23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 24 # Use is subject to license terms.
25 25 #
26 26
↓ open down ↓ |
26 lines elided |
↑ open up ↑ |
27 27 PROG:sh = basename `cd ..; pwd`
28 28
29 29 OBJS = $(PROG).o
30 30
31 31 SRCS = ../$(PROG).c
32 32
33 33 FILEMODE = 0555
34 34
35 35 # libproc is added individually as pwait doesn't need it.
36 36 # These are defined this way so lint can use them
37 -LDLIBS_pargs = -lproc
38 -LDLIBS_pcred = -lproc
39 -LDLIBS_pfiles = -lproc -lnsl
40 -LDLIBS_pflags = -lproc
41 -LDLIBS_pldd = -lproc
42 -LDLIBS_plgrp = -lproc -llgrp
43 -LDLIBS_pmap = -lproc
44 -LDLIBS_pmadvise = -lproc
45 -LDLIBS_ppriv = -lproc
46 -LDLIBS_preap = -lproc
47 -LDLIBS_prun = -lproc
48 -LDLIBS_psig = -lproc
49 -LDLIBS_pstack = -lproc -lc_db
50 -LDLIBS_pstop = -lproc
51 -LDLIBS_ptime = -lproc
52 -LDLIBS_ptree = -lproc -lcontract
53 -LDLIBS_pwdx = -lproc
37 +LDLIBS_pargs = -lproc
38 +LDLIBS_pcred = -lproc
39 +LDLIBS_pfiles = -lproc -lnsl
40 +LDLIBS_pflags = -lproc
41 +LDLIBS_pldd = -lproc
42 +LDLIBS_plgrp = -lproc -llgrp
43 +LDLIBS_pmap = -lproc
44 +LDLIBS_pmadvise = -lproc
45 +LDLIBS_ppriv = -lproc
46 +LDLIBS_preap = -lproc
47 +LDLIBS_prun = -lproc
48 +LDLIBS_psecflags = -lproc -lproject
49 +LDLIBS_psig = -lproc
50 +LDLIBS_pstack = -lproc -lc_db
51 +LDLIBS_pstop = -lproc
52 +LDLIBS_ptime = -lproc
53 +LDLIBS_ptree = -lproc -lcontract
54 +LDLIBS_pwdx = -lproc
54 55
55 56 LDLIBS += $(LDLIBS_$(PROG))
56 57
57 58 CERRWARN_plgrp += -_gcc=-Wno-parentheses
58 59
59 60 CERRWARN_ppriv += -_gcc=-Wno-parentheses
60 61 CERRWARN_ppriv += -_gcc=-Wno-uninitialized
61 62
62 63 CERRWARN_ptree += -_gcc=-Wno-parentheses
63 64
64 65 CERRWARN_pstack += -_gcc=-Wno-uninitialized
65 66 CERRWARN_pstack += -_gcc=-Wno-clobbered
66 67
67 68 CERRWARN_pargs += -_gcc=-Wno-clobbered
68 69 CERRWARN_pargs += -_gcc=-Wno-type-limits
69 70
70 71 CERRWARN += $(CERRWARN_$(PROG))
71 72
72 73 # pargs depends on ../../common/elfcap components
73 74 # pmadvise depends on pmap components
74 75
75 76 ELFCAP = $(SRC)/common/elfcap
76 77 PMAP = $(SRC)/cmd/ptools/pmap
77 78
78 79 CPPFLAGS_pargs = -I$(ELFCAP)
79 80 OBJS_pargs = elfcap.o
80 81 SRCS_pargs = $(ELFCAP)/elfcap.c
81 82
82 83 CPPFLAGS_pmap = -I$(PMAP)
83 84 OBJS_pmap = pmap_common.o
84 85 SRCS_pmap = $(PMAP)/pmap_common.c
85 86
86 87 CPPFLAGS_pmadvise = -I$(PMAP)
87 88 OBJS_pmadvise = pmap_common.o
88 89 SRCS_pmadvise = $(PMAP)/pmap_common.c
89 90
90 91 CPPFLAGS += $(CPPFLAGS_$(PROG))
91 92 OBJS += $(OBJS_$(PROG))
92 93 SRCS += $(SRCS_$(PROG))
93 94
94 95 INSTALL_NEW=
95 96 INSTALL_LEGACY=$(RM) $(ROOTPROCBINSYMLINK) ; \
96 97 $(LN) -s ../../bin/$(PROG) $(ROOTPROCBINSYMLINK)
97 98
98 99 .KEEP_STATE:
99 100
100 101 elfcap.o: $(ELFCAP)/elfcap.c
101 102 $(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
102 103
103 104 pmap_common.o: $(PMAP)/pmap_common.c
104 105 $(COMPILE.c) -o $@ $(PMAP)/pmap_common.c
105 106
106 107 %.o: ../%.c
107 108 $(COMPILE.c) $<
108 109
109 110 all: $(PROG)
110 111
111 112 ROOTBINPROG=$(ROOTBIN)/$(PROG)
112 113 ROOTPROCBINSYMLINK=$(ROOT)/usr/proc/bin/$(PROG)
113 114
114 115 $(PROG): $$(OBJS)
115 116 $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
116 117 $(POST_PROCESS)
117 118
118 119 #
119 120 # Install the ptool, symlinking it into /usr/proc/bin if PTOOL_TYPE is set
120 121 # to LEGACY.
121 122 #
122 123 install: all $(ROOTISAPROG)
123 124 -$(RM) $(ROOTBINPROG)
124 125 -$(LN) $(ISAEXEC) $(ROOTBINPROG)
125 126 -$(INSTALL_$(PTOOL_TYPE))
126 127
127 128 clean:
128 129 $(RM) $(OBJS)
129 130
130 131 lint:
131 132 $(LINT.c) $(SRCS) $(LDLIBS)
↓ open down ↓ |
68 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX