diff options
author | Rod Evans <Rod.Evans@Sun.COM> | 2009-09-21 08:42:30 -0700 |
---|---|---|
committer | Rod Evans <Rod.Evans@Sun.COM> | 2009-09-21 08:42:30 -0700 |
commit | a4faba164aa153855d621c694fc5aa75dd183b81 (patch) | |
tree | 5b5fd92708543bf429d9614c7a59895f918e588f | |
parent | 1b5c080f977843b2475f9119eb6f652a4230f9dd (diff) | |
download | illumos-gate-a4faba164aa153855d621c694fc5aa75dd183b81.tar.gz |
6843010 /usr/lib/ld/map.noexbss should be provided
-rw-r--r-- | exception_lists/mapfilechk | 3 | ||||
-rw-r--r-- | usr/src/common/mapfiles/common/Makefile | 1 | ||||
-rw-r--r-- | usr/src/common/mapfiles/common/map.bssalign | 15 | ||||
-rw-r--r-- | usr/src/common/mapfiles/common/map.execdata | 23 | ||||
-rw-r--r-- | usr/src/common/mapfiles/common/map.noexbss | 40 | ||||
-rw-r--r-- | usr/src/common/mapfiles/i386/map.noexdata | 37 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWtoo/prototype_com | 5 |
7 files changed, 79 insertions, 45 deletions
diff --git a/exception_lists/mapfilechk b/exception_lists/mapfilechk index 25793d1dad..0f10fee2f6 100644 --- a/exception_lists/mapfilechk +++ b/exception_lists/mapfilechk @@ -35,7 +35,8 @@ exception_lists/mapfilechk usr/src/cmd/mdb/common/kmdb/mapfile_skel usr/src/cmd/sgs/rtld/common/mapfile-order-* usr/src/common/bignum/*/cap_mapfile -usr/src/common/mapfiles/*/Makefile +usr/src/common/mapfiles/* +usr/src/common/mapfiles/*/* usr/src/lib/README.mapfiles usr/src/lib/libc/*_hwcap*/mapfile usr/src/lib/libc/sparc_hwcap1/sparc*/mapfile diff --git a/usr/src/common/mapfiles/common/Makefile b/usr/src/common/mapfiles/common/Makefile index 2c92087154..184f5ea2c7 100644 --- a/usr/src/common/mapfiles/common/Makefile +++ b/usr/src/common/mapfiles/common/Makefile @@ -33,6 +33,7 @@ FILES= \ $(ROOTDIR)/map.execdata \ $(ROOTDIR)/map.filter \ $(ROOTDIR)/map.bssalign \ + $(ROOTDIR)/map.noexbss \ $(ROOTDIR)/map.noexstk install: $(DIRS) $(FILES) diff --git a/usr/src/common/mapfiles/common/map.bssalign b/usr/src/common/mapfiles/common/map.bssalign index ee28a2b309..a59d92be1c 100644 --- a/usr/src/common/mapfiles/common/map.bssalign +++ b/usr/src/common/mapfiles/common/map.bssalign @@ -1,15 +1,12 @@ # -# ident "%Z%%M% %I% %E% SMI" -# -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -24,7 +21,7 @@ # # CDDL HEADER END # -# Linker mapfile that enables the creation of a 'bss' segment, and aligns +# Link-editor mapfile that enables the creation of a bss segment, and aligns # the segment at 4Mb. This effectively provides an appropriate alignment for # large page mapping of the heap, and thus can be useful when building dynamic # executables. See ppgsz(1). Users are cautioned that an alignment @@ -32,8 +29,8 @@ # hardware platforms. A more flexible means of requesting the most optimal # underlying page size may evolve in future releases. # -# The linker does not use this file automatically, so one must use the -M -# option to cc or ld: +# The link-editor does not use this file automatically, so one must use the +# -M option to cc or ld: # # cc -M /usr/lib/ld/map.bssalign myprogram.c # diff --git a/usr/src/common/mapfiles/common/map.execdata b/usr/src/common/mapfiles/common/map.execdata index 4de8bbe3bb..b54c94ff28 100644 --- a/usr/src/common/mapfiles/common/map.execdata +++ b/usr/src/common/mapfiles/common/map.execdata @@ -1,15 +1,12 @@ # -#ident "%Z%%M% %I% %E% SMI" -# -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -24,20 +21,22 @@ # # CDDL HEADER END # -# Linker mapfile to create an executable data segment definition within +# Link-editor mapfile to create an executable data segment definition within # an executable for applications which rely on this. This is the default # for 32 bit x86 executable and all SPARC executables; this mapfile is # provided to facilitate an executable data segment for AMD64 executables. -# The linker does not use this file automatically, so one must use the -M -# option to cc or ld: +# +# The link-editor does not use this file automatically, so one must use the +# -M option to cc or ld: # # cc -M /usr/lib/ld/map.execdata myprogram.c # data = ?RWX; + # -# For programs with a separate BSS segment add a line for the BSS; just -# adding the line creates a BSS segment so it is commented out. +# Executables can also create a separate executable bss segment. Adding +# the following line creates a bss segment. # # bss = ?RWX; # -# See also /usr/lib/ld/map.noexdata +# See also /usr/lib/ld/map.noexdata. diff --git a/usr/src/common/mapfiles/common/map.noexbss b/usr/src/common/mapfiles/common/map.noexbss new file mode 100644 index 0000000000..72da75c554 --- /dev/null +++ b/usr/src/common/mapfiles/common/map.noexbss @@ -0,0 +1,40 @@ +# +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Link-editor mapfile to create a non-executable bss segment definition +# within an executable. This mapfile is similar to map.noexdata that +# can be used on x86 architectures to create a non-executable data +# segment. On SPARC, the data segment contains a Procedure Linkage +# Table (PLT) that must remain executable. +# +# As the bss segment is extended by sbrk(2) to enlarge the heap, a +# non-executable bss segment also results in a non-exutable heap. +# +# The link-editor does not use this file automatically, so one must +# use the -M option to cc or ld: +# +# cc -M /usr/lib/ld/map.noexbss myprogram.c +# +bss = ?RW; + +# See also /usr/lib/ld/map.noexdata. diff --git a/usr/src/common/mapfiles/i386/map.noexdata b/usr/src/common/mapfiles/i386/map.noexdata index 5df43c2663..c35136c8ad 100644 --- a/usr/src/common/mapfiles/i386/map.noexdata +++ b/usr/src/common/mapfiles/i386/map.noexdata @@ -1,15 +1,12 @@ # -#ident "%Z%%M% %I% %E% SMI" -# -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -24,24 +21,24 @@ # # CDDL HEADER END # -# Linker mapfile to create a non-executable data segment -# definition within an executable. Note that this only functions -# properly on the x86 architecture as on SPARC the PLT contains -# executable code; it lives at the start of the data segment. -# The linker does not use this file automatically, so one must use the -M -# option to cc or ld: +# Link-editor mapfile to create a non-executable data segment definition +# within an executable. Note that this only functions properly on the +# x86 architecture. On SPARC, the data segment contains a Procedure Linkage +# Table (PLT) that must remain executable. +# +# As the data segment is extended by sbrk(2) to enlarge the heap, a +# non-executable data segment also results in a non-exutable heap. +# +# The link-editor does not use this file automatically, so one must use the +# -M option to cc or ld: # # cc -M /usr/lib/ld/map.noexdata myprogram.c # - data = ?RW; # -# For programs with a separate bss segment, add a line for the bss. -# Just adding such a line causes a bss to be created; this causes -# some extra wasted memory. A mapfile with just the line below -# can be safely used on SPARC. -# -# bss = ?RW; +# Executables can also create a separate non-executable bss segment. +# This segment may use additional memory, but also results in a +# non-executable heap. See /usr/lib/ld/map.noexbss. # -# See also /usr/lib/ld/map.execdata +# See also /usr/lib/ld/map.execdata. diff --git a/usr/src/pkgdefs/SUNWtoo/prototype_com b/usr/src/pkgdefs/SUNWtoo/prototype_com index 10530e37d7..4abb7b1045 100644 --- a/usr/src/pkgdefs/SUNWtoo/prototype_com +++ b/usr/src/pkgdefs/SUNWtoo/prototype_com @@ -19,11 +19,9 @@ # CDDL HEADER END # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# # This required package information file contains a list of package contents. # The 'pkgmk' command uses this file to identify the contents of a package @@ -74,6 +72,7 @@ f none usr/lib/ld/map.bssalign 444 root bin f none usr/lib/ld/map.execdata 444 root bin f none usr/lib/ld/map.filter 444 root bin f none usr/lib/ld/map.default 444 root bin +f none usr/lib/ld/map.noexbss 444 root bin f none usr/lib/ld/map.noexstk 444 root bin f none usr/lib/ld/map.pagealign 444 root bin f none usr/lib/lddstub 555 root bin |