Skip to content

Commit

Permalink
sync up changes
Browse files Browse the repository at this point in the history
  • Loading branch information
laffer1 committed Nov 20, 2024
1 parent d61c4f8 commit 94b9bc9
Show file tree
Hide file tree
Showing 114 changed files with 884 additions and 77,382 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,26 @@
*/

/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2019 Mariusz Zaborski <[email protected]>
* Use is subject to license terms.
*/

#ifndef _LIBUUTIL_COMMON_H
#define _LIBUUTIL_COMMON_H
void frax(void);

#pragma ident "%Z%%M% %I% %E% SMI"
__attribute__((optnone)) void
frax(void)
{
asm volatile("mov $0x41414141, %%rax"
: : : "rax"
);
}

#include <libuutil.h>
#include <libuutil_impl.h>
int
main(void)
{

#endif /* _LIBUUTIL_COMMON_H */
while (1) {
frax();
}
return (0);
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,19 @@
*
* CDDL HEADER END
*/

/*
* Copyright 2017 Spectra Logic Corp Inc. All rights reserved.
* Copyright (c) 2019 Mariusz Zaborski <[email protected]>
* Use is subject to license terms.
*/

#pragma D option quiet

#ifndef _ZDB_H
#define _ZDB_H

void dump_intent_log(zilog_t *);
extern uint8_t dump_opt[256];
pid$1::frax:return / uregs[R_RAX] == 0x41414141 / {
exit(0);
}

#endif /* _ZDB_H */
pid$1::frax:return / uregs[R_RAX] != 0x41414141 / {
printf("wrong rax value: %d\n", uregs[R_RAX]);
exit(1);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
* 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) 2019 Mariusz Zaborski <[email protected]>
* Use is subject to license terms.
*/

/*
* ASSERTION:
* Positive test to make sure that we can invoke amd64
* ureg[] aliases.
*
* SECTION: User Process Tracing/uregs Array
*
* NOTES: This test does no verification - the value of the output
* is not deterministic.
*/

#pragma D option quiet

BEGIN
{
printf("R_GS = 0x%x\n", uregs[R_GS]);
printf("R_ES = 0x%x\n", uregs[R_ES]);
printf("R_DS = 0x%x\n", uregs[R_DS]);
printf("R_CS = 0x%x\n", uregs[R_CS]);
printf("R_RFL = 0x%x\n", uregs[R_RFL]);
printf("R_SS = 0x%x\n", uregs[R_SS]);
printf("R_TRAPNO = 0x%x\n", uregs[R_TRAPNO]);

printf("R_URSP = 0x%x\n", uregs[R_RSP]);
printf("R_RDI = 0x%x\n", uregs[R_RDI]);
printf("R_RSI = 0x%x\n", uregs[R_RSI]);
printf("R_RBP = 0x%x\n", uregs[R_RBP]);
printf("R_RBX = 0x%x\n", uregs[R_RBX]);
printf("R_RDX = 0x%x\n", uregs[R_RDX]);
printf("R_RCX = 0x%x\n", uregs[R_RCX]);
printf("R_RAX = 0x%x\n", uregs[R_RAX]);
printf("R_RIP = 0x%x\n", uregs[R_RIP]);
printf("R_RDI = 0x%x\n", uregs[R_RDI]);
printf("R_R9 = 0x%x\n", uregs[R_R9]);
printf("R_R10 = 0x%x\n", uregs[R_R10]);
printf("R_R11 = 0x%x\n", uregs[R_R11]);
printf("R_R12 = 0x%x\n", uregs[R_R12]);
printf("R_R13 = 0x%x\n", uregs[R_R13]);
printf("R_R14 = 0x%x\n", uregs[R_R14]);
printf("R_R15 = 0x%x\n", uregs[R_R15]);

/* 32 bits */
printf("R_EFL = 0x%x\n", uregs[R_EFL]);
printf("R_UESP = 0x%x\n", uregs[R_UESP]);
printf("R_ERR = 0x%x\n", uregs[R_ERR]);
printf("R_EIP = 0x%x\n", uregs[R_EIP]);
printf("R_EDI = 0x%x\n", uregs[R_EDI]);
printf("R_ESI = 0x%x\n", uregs[R_ESI]);
printf("R_EBP = 0x%x\n", uregs[R_EBP]);
printf("R_EBX = 0x%x\n", uregs[R_EBX]);
printf("R_EDX = 0x%x\n", uregs[R_EDX]);
printf("R_ECX = 0x%x\n", uregs[R_ECX]);
printf("R_EAX = 0x%x\n", uregs[R_EAX]);

exit(0);
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ INTFUNC(ntohll(0x1234567890abcdefL))
STRFUNC(inet_ntoa((ipaddr_t *)alloca(sizeof (ipaddr_t))))
STRFUNC(inet_ntoa6((in6_addr_t *)alloca(sizeof (in6_addr_t))))
STRFUNC(inet_ntop(AF_INET, (void *)alloca(sizeof (ipaddr_t))))
INTFUNC(getf(0))
/* INTFUNC(getf(0)) */
INTFUNC(strtoll("0x12EE5D5", 16))
STRFUNC(json("{\"systemtap\": false}", "systemtap"))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ reader()
while true
do
sleep 0.1
cat /etc/motd > /dev/null
cat /COPYRIGHT > /dev/null
done
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ reader()
while true
do
sleep 0.1
cat /etc/motd > /dev/null
cat /COPYRIGHT > /dev/null
done
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ BEGIN
this->b = -2;

system("echo %s %d %d", "foo", this->a, this->b);
system("ping -q -c 1 localhost 2>/dev/null | grep -v '^round-trip '");
system("ping -q -c 1 127.0.0.1 2>/dev/null | grep -v '^round-trip '");
system("echo %d", ++this->a);
system("ping -q -c 1 localhost 2>/dev/null | grep -v '^round-trip '");
system("ping -4 -q -c 1 127.0.0.1 2>/dev/null | grep -v '^round-trip '");
system("echo %d", ++this->a);
system("ping -q -c 1 localhost 2>/dev/null | grep -v '^round-trip '");
system("ping -4 -q -c 1 127.0.0.1 2>/dev/null | grep -v '^round-trip '");
system("echo %d", ++this->a);
exit(0);
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
foo 9 -2
PING localhost (127.0.0.1): 56 data bytes
PING 127.0.0.1 (127.0.0.1): 56 data bytes

--- localhost ping statistics ---
--- 127.0.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
10
PING localhost (127.0.0.1): 56 data bytes
PING 127.0.0.1 (127.0.0.1): 56 data bytes

--- localhost ping statistics ---
--- 127.0.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
11
PING localhost (127.0.0.1): 56 data bytes
PING 127.0.0.1 (127.0.0.1): 56 data bytes

--- localhost ping statistics ---
--- 127.0.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
12

Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ else
removeinet6=0
fi

$dtrace -c "/sbin/ping6 -q -c 1 -X 3 $local" -qs /dev/stdin <<EOF | sort -n | \
$dtrace -c "/sbin/ping6 -q -c 1 -t 3 $local" -qs /dev/stdin <<EOF | sort -n | \
grep -v -e '^round-trip ' -e '^--- '
ip:::send
/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ sctp:::state-change to established - yes
sctp:::state-change to shutdown-sent - yes
sctp:::state-change to shutdown-received - yes
sctp:::state-change to shutdown-ack-sent - yes

Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ f2(f func, int i)
}

int
main()
main(void)
{
f2(f1, 3);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ fN2(f func, char *a, int i __unused)
}

int
main()
main(void)
{
/*
* Avoid length of 1, 2, 4, or 8 bytes so DTrace will treat the data as
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
* leading underscores.
*/

#pragma weak _go = go

extern int _go(int);
int go(int);

int
Expand All @@ -57,3 +56,5 @@ main(void)
for (;;)
getpid();
}

#pragma weak _go = go
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@
* leading underscores.
*/

extern int _go(int);

static int __unused
go(int a)
{
return (a + 1);
}

#pragma weak _go = go

static void
handle(int sig __unused)
{
Expand All @@ -55,3 +55,5 @@ main(void)
for (;;)
getpid();
}

#pragma weak _go = go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ EOF
sleeper()
{
while true; do
$longsleep &
limits -c unlimited $longsleep &
/bin/sleep 1
kill -SEGV $!
done
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@
while true
do
sleep 0.1
cat /etc/motd > /dev/null
cat /COPYRIGHT > /dev/null
done
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,23 @@

#pragma D option quiet

struct input_struct {
struct dtrace_input_struct {
int ii;
char ic;
};

struct output_struct {
struct dtrace_output_struct {
int oi;
char oc;
};

typedef struct output_struct output_t;
typedef struct dtrace_output_struct dtrace_output_t;


translator output_t < struct input_struct *ivar >
translator dtrace_output_t < struct dtrace_input_struct *ivar >
{
oi = ((struct input_struct *) ivar)->ii;
oc = ((struct input_struct *) ivar)->ic;
oi = ((struct dtrace_input_struct *) ivar)->ii;
oc = ((struct dtrace_input_struct *) ivar)->ic;
};

BEGIN
Expand Down
Loading

0 comments on commit 94b9bc9

Please sign in to comment.