From 09ce0d4acf1a79c720d7e54b60e87cbfa0f1b2d6 Mon Sep 17 00:00:00 2001 From: "Roger A. Faulkner" Date: Wed, 25 Mar 2009 17:21:37 -0700 Subject: 6816409 mutex_lock() for process robust mutex could not return EOWNERDEAD with 137111-01 or later --HG-- rename : usr/src/lib/libc/common/sys/mmap.s => usr/src/lib/libc/common/sys/__mmap.s rename : usr/src/lib/libc/common/sys/munmap.s => usr/src/lib/libc/common/sys/__munmap.s --- usr/src/lib/libc/common/sys/__mmap.s | 73 ++++++++++++++++++++++++++++++ usr/src/lib/libc/common/sys/__munmap.s | 43 ++++++++++++++++++ usr/src/lib/libc/common/sys/mmap.s | 81 ---------------------------------- usr/src/lib/libc/common/sys/munmap.s | 43 ------------------ 4 files changed, 116 insertions(+), 124 deletions(-) create mode 100644 usr/src/lib/libc/common/sys/__mmap.s create mode 100644 usr/src/lib/libc/common/sys/__munmap.s delete mode 100644 usr/src/lib/libc/common/sys/mmap.s delete mode 100644 usr/src/lib/libc/common/sys/munmap.s (limited to 'usr/src/lib/libc/common/sys') diff --git a/usr/src/lib/libc/common/sys/__mmap.s b/usr/src/lib/libc/common/sys/__mmap.s new file mode 100644 index 0000000000..62fd93e7ce --- /dev/null +++ b/usr/src/lib/libc/common/sys/__mmap.s @@ -0,0 +1,73 @@ +/* + * 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 + */ + +/* + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +/* Copyright (c) 1988 AT&T */ +/* All Rights Reserved */ + + .file "__mmap.s" + +#include "SYS.h" +#include /* Need _MAP_NEW definition */ + +#if !defined(_LARGEFILE_SOURCE) + +/* + * Raw system call, private to libc: + * caddr_t __mmap(caddr_t addr, size_t len, int prot, + * int flags, int fd, off_t off) + */ + + ENTRY(__mmap) +#if defined(__sparc) + /* this depends upon the _MAP_NEW flag being in the top bits */ + sethi %hi(_MAP_NEW), %g1 + or %g1, %o3, %o3 +#endif + SYSTRAP_RVAL1(mmap) + SYSCERROR + RET + SET_SIZE(__mmap) + +#else + +/* + * Raw system call, private to libc: + * caddr_t __mmap64(caddr_t addr, size_t len, int prot, + * int flags, int fd, off64_t off) + */ + + ENTRY(__mmap64) +#if defined(__sparc) + /* this depends upon the _MAP_NEW flag being in the top bits */ + sethi %hi(_MAP_NEW), %g1 + or %g1, %o3, %o3 +#endif + SYSTRAP_RVAL1(mmap64) + SYSCERROR + RET + SET_SIZE(__mmap64) + +#endif diff --git a/usr/src/lib/libc/common/sys/__munmap.s b/usr/src/lib/libc/common/sys/__munmap.s new file mode 100644 index 0000000000..7aae4de151 --- /dev/null +++ b/usr/src/lib/libc/common/sys/__munmap.s @@ -0,0 +1,43 @@ +/* + * 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 + */ + +/* + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +/* Copyright (c) 1988 AT&T */ +/* All Rights Reserved */ + + .file "__munmap.s" + +/* + * Raw system call: + * int __munmap(caddr_t addr, size_t len) + */ + +#include "SYS.h" + + ENTRY(__munmap) + SYSTRAP_RVAL1(munmap) + SYSCERROR + RETC + SET_SIZE(__munmap) diff --git a/usr/src/lib/libc/common/sys/mmap.s b/usr/src/lib/libc/common/sys/mmap.s deleted file mode 100644 index 4175283eb8..0000000000 --- a/usr/src/lib/libc/common/sys/mmap.s +++ /dev/null @@ -1,81 +0,0 @@ -/* - * 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 - */ - -/* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -/* Copyright (c) 1988 AT&T */ -/* All Rights Reserved */ - - .file "mmap.s" - -#include - -#if !defined(_LARGEFILE_SOURCE) - ANSI_PRAGMA_WEAK(mmap,function) -#else - ANSI_PRAGMA_WEAK(mmap64,function) -#endif - -#include "SYS.h" -#include /* Need _MAP_NEW definition */ - -#if !defined(_LARGEFILE_SOURCE) - -/* - * C library -- mmap - * caddr_t mmap(caddr_t addr, size_t len, int prot, - * int flags, int fd, off_t off) - */ - - ENTRY(mmap) -#if defined(__sparc) - /* this depends upon the _MAP_NEW flag being in the top bits */ - sethi %hi(_MAP_NEW), %g1 - or %g1, %o3, %o3 -#endif - SYSTRAP_RVAL1(mmap) - SYSCERROR - RET - SET_SIZE(mmap) - -#else - -/* - * C library -- mmap64 - * caddr_t mmap64(caddr_t addr, size_t len, int prot, - * int flags, int fd, off64_t off) - */ - - ENTRY(mmap64) -#if defined(__sparc) - /* this depends upon the _MAP_NEW flag being in the top bits */ - sethi %hi(_MAP_NEW), %g1 - or %g1, %o3, %o3 -#endif - SYSTRAP_RVAL1(mmap64) - SYSCERROR - RET - SET_SIZE(mmap64) - -#endif diff --git a/usr/src/lib/libc/common/sys/munmap.s b/usr/src/lib/libc/common/sys/munmap.s deleted file mode 100644 index 2ea70a1454..0000000000 --- a/usr/src/lib/libc/common/sys/munmap.s +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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 - */ - -/* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -/* Copyright (c) 1988 AT&T */ -/* All Rights Reserved */ - - .file "munmap.s" - -/* C library -- munmap */ -/* int munmap(caddr_t addr, size_t len) */ - -#include - - ANSI_PRAGMA_WEAK(munmap,function) - -#include "SYS.h" - - SYSCALL_RVAL1(munmap) - RETC - SET_SIZE(munmap) -- cgit v1.2.3