Update vendor/illumos/dist to illumos-gate version 13944:bbcbb468dc37

Illumos dtrace issues:
  3519 DTrace fails to resolve const types from fbt
  3520 dtrace internal error -- token type 316 is not a valid D compilation token
  3521 clean up dtrace unit tests
This commit is contained in:
Martin Matuska 2013-02-06 08:26:55 +00:00
parent 9a11334771
commit dbfa74b7cc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/illumos/dist/; revision=246393
19 changed files with 158 additions and 34 deletions

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION:
@ -52,3 +54,8 @@ BEGIN
printf("envp[0] = \"%s\"", copyinstr(envp));
exit(0);
}
BEGIN
{
exit(1)
}

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
#pragma D option quiet
@ -36,3 +38,8 @@ BEGIN
printf("%s\n", strjoin("", ""));
exit(0);
}
BEGIN
{
exit(1);
}

View File

@ -24,38 +24,45 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
#pragma D option quiet
#pragma D option switchrate=1ms
#pragma D option aggrate=1ms
tick-100ms
tick-50ms
{
i++;
}
tick-100ms
/i > 1/
tick-50ms
/!(i & 1) && i > 1/
{
setopt("quiet", "no");
setopt("quiet");
setopt("quiet");
setopt("quiet", "yes");
@["abc"] = count();
}
tick-50ms
/(i & 1) && i > 1/
{
printa("%@d\n", @);
}
tick-100ms
/i == 5/
tick-50ms
/i == 10/
{
setopt("switchrate", "5sec");
setopt("aggrate", "5sec");
}
tick-100ms
/i == 31/
tick-50ms
/i == 61/
{
exit(0);
}

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION: This test reproduces the alignment error.
@ -39,9 +41,10 @@
BEGIN
{
x = (int *) 64;
x = (int *)64;
y = *x;
trace(y);
exit(0);
}
ERROR

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION: D pointers do not allow invalid pointer accesses.
@ -44,6 +46,7 @@ BEGIN
y = (int *) (x - 3300778156056);
*y = 3;
trace(*y);
exit(0);
}
ERROR

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION: D pointers do not allow invalid pointer accesses.
@ -39,9 +41,10 @@
BEGIN
{
y = (int *) (-33007);
y = (int *)-33007;
*y = 3;
trace(*y);
exit(0);
}
ERROR

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION: Demonstrating valid memory access.
@ -40,10 +42,11 @@
BEGIN
{
x = (int *)alloca(sizeof (int));
printf("Address x: %x\n", (int) x);
y = (int *) (x - 2);
printf("Address x: %x\n", (int)x);
y = (int *)(x - 2);
*y = 3;
printf("Address y: %x\tValue: %d\n", (int) y, *y);
printf("Address y: %x\tValue: %d\n", (int)y, *y);
exit(0);
}
ERROR

View File

@ -0,0 +1,29 @@
/*
* CDDL HEADER START
*
* This file and its contents are supplied under the terms of the
* Common Development and Distribution License ("CDDL"), version 1.0.
* You may only use this file in accordance with the terms of version
* 1.0 of the CDDL.
*
* A full copy of the text of the CDDL should have accompanied this
* source. A copy of the CDDL is also available via the Internet at
* http://www.illumos.org/license/CDDL.
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
BEGIN
{
@ = count();
print(@);
}
BEGIN
{
exit(0);
}

View File

@ -20,10 +20,15 @@
*/
/*
* Copyright (c) 2011 by Delphix. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
BEGIN
{
print((void)`p0);
}
BEGIN
{
exit(0);
}

View File

@ -20,10 +20,15 @@
*/
/*
* Copyright (c) 2011 by Delphix. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
BEGIN
{
print();
}
BEGIN
{
exit(0);
}

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION:
@ -39,7 +41,7 @@
*/
#pragma D option bufsize=16
#pragma D option bufsize=32
#pragma D option bufpolicy=ring
#pragma D option statusrate=1nsec

View File

@ -25,7 +25,9 @@
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
#
# Copyright (c) 2012 by Delphix. All rights reserved.
#
############################################################################
# ASSERTION:
@ -70,7 +72,7 @@ EOF
#chmod 555 the .d file
chmod 555 $dfilename >/dev/null 2>&1
if [ &? -ne 0 ]; then
if [ $? -ne 0 ]; then
print -u2 "chmod $dfilename failed"
exit 1
fi

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION:

View File

@ -24,8 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION:
@ -39,3 +40,8 @@ BEGIN
trace();
}
BEGIN
{
exit(0);
}

View File

@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* ASSERTION:
@ -37,3 +39,8 @@ BEGIN
{
trace((void)`kmem_flags);
}
BEGIN
{
exit(0);
}

View File

@ -0,0 +1,29 @@
/*
* CDDL HEADER START
*
* This file and its contents are supplied under the terms of the
* Common Development and Distribution License ("CDDL"), version 1.0.
* You may only use this file in accordance with the terms of version
* 1.0 of the CDDL.
*
* A full copy of the text of the CDDL should have accompanied this
* source. A copy of the CDDL is also available via the Internet at
* http://www.illumos.org/license/CDDL.
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
* Make sure we can scope types with modifiers.
*/
BEGIN
{
trace((D`int *)0);
trace((const D`int *)0);
exit(0);
}

View File

@ -676,6 +676,12 @@ dt_action_trace(dtrace_hdl_t *dtp, dt_node_t *dnp, dtrace_stmtdesc_t *sdp)
"%s( ) may not be applied to a translated pointer\n", act);
}
if (dnp->dn_args->dn_kind == DT_NODE_AGG) {
dnerror(dnp->dn_args, istrace ? D_TRACE_AGG : D_PRINT_AGG,
"%s( ) may not be applied to an aggregation%s\n", act,
istrace ? "" : " -- did you mean printa()?");
}
dt_cg(yypcb, dnp->dn_args);
/*

View File

@ -21,6 +21,7 @@
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
#include <strings.h>
@ -251,11 +252,6 @@ dt_decl_spec(ushort_t kind, char *name)
ddp->dd_kind = kind;
ddp->dd_name = name;
if (name != NULL && strchr(name, '`') != NULL) {
xyerror(D_DECL_SCOPE, "D scoping operator may not be used "
"in a type name\n");
}
return (dt_decl_check(ddp));
}

View File

@ -190,8 +190,10 @@ typedef enum {
D_PRINTA_AGGPROTO, /* printa() aggregation mismatch */
D_TRACE_VOID, /* trace() argument has void type */
D_TRACE_DYN, /* trace() argument has dynamic type */
D_TRACE_AGG, /* trace() argument is an aggregation */
D_PRINT_VOID, /* print() argument has void type */
D_PRINT_DYN, /* print() argument has dynamic type */
D_PRINT_AGG, /* print() argument is an aggregation */
D_TRACEMEM_ADDR, /* tracemem() address bad type */
D_TRACEMEM_SIZE, /* tracemem() size bad type */
D_TRACEMEM_ARGS, /* tracemem() illegal number of args */