Permalink
Browse files
OS-2131 dtrace(1M) should never create DOF with empty probes section
- Loading branch information
Showing
with
83 additions
and 8 deletions.
| @@ -0,0 +1,59 @@ | ||
| # | ||
| # 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 (c) 2013, Joyent, Inc. All rights reserved. | ||
| # | ||
|
|
||
| if [ $# != 1 ]; then | ||
| echo expected one argument: '<'dtrace-path'>' | ||
| exit 2 | ||
| fi | ||
|
|
||
| dtrace=$1 | ||
| DIR=/var/tmp/dtest.$$ | ||
|
|
||
| mkdir $DIR | ||
| cd $DIR | ||
|
|
||
| cat > test.c <<EOF | ||
| void | ||
| foo() | ||
| {} | ||
| EOF | ||
|
|
||
| cat > doogle.d <<EOF | ||
| provider doogle { | ||
| probe bagnoogle(); | ||
| }; | ||
| EOF | ||
|
|
||
| cc -c test.c | ||
| $dtrace -G -32 -s doogle.d test.o -o doogle.d.o | ||
|
|
||
| if [ $? -eq 0 ]; then | ||
| print -u2 "dtrace succeeded despite having no probe sites" | ||
| exit 1 | ||
| fi | ||
|
|
||
| cd / | ||
| /usr/bin/rm -rf $DIR | ||
| exit 0 |