xref: /illumos-gate/usr/src/common/mapfiles/common/map.noexbss (revision 4445fffbbb1ea25fd0e9ea68b9380dd7a6709025)
1#
2# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
3#
4# CDDL HEADER START
5#
6# The contents of this file are subject to the terms of the
7# Common Development and Distribution License (the "License").
8# You may not use this file except in compliance with the License.
9#
10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11# or http://www.opensolaris.org/os/licensing.
12# See the License for the specific language governing permissions
13# and limitations under the License.
14#
15# When distributing Covered Code, include this CDDL HEADER in each
16# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17# If applicable, add the following below this CDDL HEADER, with the
18# fields enclosed by brackets "[]" replaced with your own identifying
19# information: Portions Copyright [yyyy] [name of copyright owner]
20#
21# CDDL HEADER END
22#
23# Link-editor mapfile to create a non-executable bss segment definition
24# within an executable.  This mapfile is similar to map.noexdata that
25# can be used on x86 architectures to create a non-executable data
26# segment.  On SPARC, the data segment contains a Procedure Linkage
27# Table (PLT) that must remain executable.
28#
29# As the bss segment is extended by sbrk(2) to enlarge the heap, a
30# non-executable bss segment also results in a non-exutable heap.
31#
32# The link-editor does not use this file automatically, so one must
33# use the -M option to cc or ld:
34#
35#       cc -M /usr/lib/ld/map.noexbss myprogram.c
36#
37
38$mapfile_version 2
39
40LOAD_SEGMENT bss {
41	FLAGS = READ WRITE;
42};
43
44# See also /usr/lib/ld/map.noexdata.
45