| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # 遍历所有参数
- for arg in "$@"
- do
- # 分割参数名和值
- key="${arg%%=*}"
- value="${arg#*=}"
- # 检查参数名并根据需要处理参数值
- case "$key" in
- pid)
- pid="$value"
- ;;
- debug)
- debug="$value"
- ;;
- *)
- echo "Unknown parameter: $key"
- ;;
- esac
- done
- # 打印解析的参数值
- echo "pid: $pid"
- echo "debug: $debug"
- #clang -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include/generated -isystem/usr/src/linux-headers-5.15.0-89-generic/include -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include/uapi -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include/generated/uapi -isystem/usr/src/linux-headers-5.15.0-89-generic/include/uapi -isystem/usr/src/linux-headers-5.15.0-89-generic/include/generated/uapi -include linux/kconfig.h -I./ebpf/c/common -include asm_goto_workaround.h -D__KERNEL__ -D__BPF_TRACING__ "" -fno-stack-protector -g -Wno-unused-value -Wno-pointer-sign -Wno-compare-distinct-pointer-types -Wno-gnu-variable-sized-type-not-at-end -Wno-address-of-packed-member -Wno-tautological-compare -Wno-unknown-warning-option -O2 -target bpf -D__KERNEL_FROM=512 -D__TARGET_ARCH_x86 -c ./ebpf/ebpf.c -o ./ebpf512x86.o
- #clang -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include/generated -isystem/usr/src/linux-headers-5.15.0-89-generic/include -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include/uapi -isystem/usr/src/linux-headers-5.15.0-89-generic/arch/x86/include/generated/uapi -isystem/usr/src/linux-headers-5.15.0-89-generic/include/uapi -isystem/usr/src/linux-headers-5.15.0-89-generic/include/generated/uapi -include linux/kconfig.h -g -O2 -target bpf -D__KERNEL_FROM=512 -D__TARGET_ARCH_x86 -c ./ebpf/ebpf.c -o ebpf512x86.o
- #clang -g -O2 -target bpf -D__KERNEL_FROM=512 -D__TARGET_ARCH_x86 -D__x86_64__ $debug $TAG -c ./ebpf/ebpf.c -o ebpf512x86.o && llvm-strip --strip-debug ebpf512x86.o
- #llvm-strip --strip-debug ./ebpf512x86.o
- #chown 501:dialout ./ebpf512x86.o
- /usr/bin/clang -I. -Ivmlinux -Iinclude -Iebpf/include -Iebpf/utrace/go/include -Iebpf/utrace/java/include -D__BPF_TRACING__ -D GROUP_LEADER_OFFSET_OVERRIDE=0 -DSTART_BOOTTIME_OFFSET_OVERRIDE=0 -DSTART_BOOTTIME_VARNAME=real_start_time -std=gnu99 -Wimplicit-function-declaration \
- -ffreestanding -fno-builtin -Wall \
- -Wno-deprecated-declarations \
- -Wno-gnu-variable-sized-type-not-at-end \
- -Wno-pragma-once-outside-header \
- -Wno-address-of-packed-member \
- -Wno-unknown-warning-option \
- -fno-color-diagnostics \
- -fno-unwind-tables \
- -fno-stack-protector \
- -fno-asynchronous-unwind-tables -g -O2 -emit-llvm -D__KERNEL_FROM=416 -D__TARGET_ARCH_arm64 -D__aarch64__ -D__AARCH64EB__ $debug -o ebpf.ll -c ./ebpf/ebpf.c && /usr/bin/llc -march=bpf -filetype=obj -mcpu=v2 -o ebpf.elf ebpf.ll
- /usr/bin/llvm-strip -g ebpf.elf && mv ebpf.elf ebpf416arm64.o
- echo -en '// generated - do not edit\npackage ebpftracer\n\nvar ebpfProg = map[string][]struct {\n' > ebpf.go \
- && echo -en '\tv string\n' >> ebpf.go \
- && echo -en '\tp []byte\n' >> ebpf.go \
- && echo -en '}{\n' >> ebpf.go \
- && echo -en '\t"amd64": {\n' >> ebpf.go \
- && echo -en '\t\t{"v4.16", []byte("' >> ebpf.go && hexdump -v -e '"\\\x" 1/1 "%02x"' ebpf416arm64.o >> ebpf.go && echo '")},' >> ebpf.go \
- && echo -en '\t},\n'>> ebpf.go \
- && echo -en '\t"arm64": {\n' >> ebpf.go \
- && echo -en '\t\t{"v4.16", []byte("' >> ebpf.go && hexdump -v -e '"\\\x" 1/1 "%02x"' ebpf416arm64.o >> ebpf.go && echo '")},' >> ebpf.go \
- && echo -en '\t},\n'>> ebpf.go \
- && echo -en '}\n'>> ebpf.go
- if [ $? -ne 0 ]; then
- echo "error!"
- exit 1
- fi
- echo "success!"
- #apk add bcc-dev
- #apk add musl-dev
|